How to combine multiple feature sets in bag of words
You can train individual classifiers for descriptions and merchants, and obtain a final score using score = w1 * predictions + w2 * components.
The values of w1 and w2 should be obtained using cross validation.
Alternatively, you can train a single multiclass classifier by combining the training dataset. 
You will now have 4 classes: 

Neither 'predictions' nor 'components'
'predictions' but not 'components'
not 'predictions' but 'components'
'predictions' and 'components'

And you can go ahead and train as usual.
I have text classification data with predictions depending on categories, 'descriptions' and 'components'.  I could do the classification using bag of words in python with scikit on 'descriptions'. But  I want to get predictions using both categories in bag of words with weights to individual feature sets
x = descriptions + 2* components
How should  I proceed?