2016-11-05 4 views
0

Я новый в sklearn. Я пытаюсь сделать этот кодНеизвестный тип этикетки sklearn

data = pandas.read_csv('titanic.csv') 
data= data[data['Pclass'].notnull() & data['Sex'].notnull() &   data['Age'].notnull() & data['Fare'].notnull()] 
test = data.loc[:,['Pclass','Sex','Age','Fare']] 
target = data.loc[:,['Survived']] 
test = test.replace(to_replace=['male','female'],value=[1,0]) 
clf=DecisionTreeClassifier(random_state=241) 
clf.fit(target,test) 

И я увидел эту ошибку

ValueError: Unknown label type: array([[ 22. , 3. , 7.25 ,  1. ], 
    [ 38. , 1. , 71.2833, 0. ], 
    [ 26. , 3. , 7.925 , 0. ], 
    ..., 
    [ 19. , 1. , 30. , 0. ], 
    [ 26. , 1. , 30. , 1. ], 
    [ 32. , 3. , 7.75 , 1. ]]) 

Что такое проблема?

ответ

1

В настоящее время вы предоставляете dataframe, а не его массивное представление массива в качестве учебного ввода для метода fit. Вместо этого:

clf.fit(X=test.values, y=target.values) 
# Even .asmatrix() works but is not generally recommended 
+3

Спасибо за ваш ответ! –

+0

Почему не рекомендуется as_matrix? – ruselli

+2

Я нашел ответ на свой вопрос, танки https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.as_matrix.html – ruselli

Смежные вопросы