未知标签类型sklearn
问题描述:
我是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. ]])
什么是问题?
答
您目前正在提供一个数据框,而不是它作为fit
方法的训练输入的numpy数组表示。代之以:
clf.fit(X=test.values, y=target.values)
# Even .asmatrix() works but is not generally recommended
感谢您的回答! –
为什么不推荐as_matrix? – ruselli
我找到了我的问题的答案,坦克https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.as_matrix.html – ruselli