问题描述
我正在尝试通过X_train和y_train获得数据帧df的前5个功能。
bestfeatures = SelectKBest(score_func=chi2,k=5) #k=5 means select top 5 features
fit = bestfeatures.fit(X_train,y_train)
dfscores = pd.DataFrame(fit.scores_)
dfcolumns = pd.DataFrame(X_train.columns)
#concat two dataframes for better visualization
featurescores = pd.concat([dfcolumns,dfscores],axis=1)
featurescores.columns = ['Features','score'] #naming the dataframe columns
print(featurescores.nlargest(5,'score')) #print 5best features
ValueError Traceback (most recent call last)
<ipython-input-54-47286ab0e6e9> in <module>
6
7 bestfeatures = SelectKBest(score_func=chi2,k=5)
----> 8 fit = bestfeatures.fit(X_train,y_train)
ValueError: UnkNown label type: (array([23.5,35,38.......
.......]),)
P.S。我的Y_train是23.5,35,38等...就像valueerror中一样
如何解决这个问题?
解决方法
你的得分函数是 chi2
所以你在做分类,而不是回归。因此,您必须在有限空间中传递值(例如:字符串、整数等);浮点数只能用于回归。