How do I create a data set that has a set of features for multiple options, with one option being the expected outcome? Most datasets I see are: 

feature 1, feature 2, feature 3, outcome

Where outcome is binary e.g. if they are cancer positive outcome will be 1 and 0 if they don't have cancer.

How do I create a dataset where there are multiple outcomes and each possible outcome has a set of features for it?

e.g. I have a question with 3 possible answers:

"What organ pumps blood around the human body?"
A. Heart
B. Liver
C. Church Organ

And each answer has a set of features with one answer being correct. How would I display this in a csv file? I want to read it into an xgboost algorithm for training.

question, option1 and features, option2 and features, option3 and features, correct option

Many thanks for your help!
The final feature vector would be a concatenation like (for multi-class prediction):


  Question google count | option A google count | option B google count | option C google count | option C no. words | option A no. words | other features | label
  (1, 2, 3)


There is no need to put features related to option A close to each other (or in any particular order), they just need to be on the same column for all rows regardless of the label.

XGBoost parameters for multi-class classification are:

'objective': 'multi:softprob',
'num_class': 3