i am trying to do multilabel classification using sci-kit learn 0.17 my data looks like
training
Col1                  Col2
asd dfgfg             [1,2,3]
poioi oiopiop         [4]
test
Col1                    
asdas gwergwger    
rgrgh hrhrh
my code so far
import numpy as np
from sklearn import svm, datasets
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import average_precision_score
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import label_binarize
from sklearn.multiclass import OneVsRestClassifier
def getLabels():
    traindf = pickle.load(open("train.pkl","rb"))
    X = traindf['Col1']
    y = traindf['Col2']
    # Binarize the output
    from sklearn.preprocessing import MultiLabelBinarizer  
    y=MultiLabelBinarizer().fit_transform(y)      
    random_state = np.random.RandomState(0)
    # Split into training and test
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.5,
                                                        random_state=random_state)
    # Run classifier
    from sklearn import svm, datasets
    classifier = OneVsRestClassifier(svm.SVC(kernel='linear', probability=True,
                                     random_state=random_state))
    y_score = classifier.fit(X_train, y_train).decision_function(X_test)
but now i get
ValueError: could not convert string to float: <value of Col1 here>
on
y_score = classifier.fit(X_train, y_train).decision_function(X_test) 
do i have to binarize X as well? why do i need to convert the X dimension to float?