微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SelectKBest在Python中的功能重要性

如何解决使用SelectKBest在Python中的功能重要性

我正在尝试通过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 所以你在做分类,而不是回归。因此,您必须在有限空间中传递值(例如:字符串、整数等);浮点数只能用于回归。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。