python – 在Scikit Learn中运行SelectKBest后获取功能名称的最简单方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在Scikit Learn中运行SelectKBest后获取功能名称的最简单方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1232字,纯文字阅读大概需要2分钟。
内容图文
![python – 在Scikit Learn中运行SelectKBest后获取功能名称的最简单方法](/upload/InfoBanner/zyjiaocheng/708/581d819dfeb04135bfb973971dbf3d77.jpg)
我想进行有监督的学习.
到现在为止,我知道要对所有功能进行监督学习.
但是,我还想进行K最佳功能的实验.
我阅读了文档,发现在Scikit中学习了SelectKBest方法.
不幸的是,我不确定在找到这些最佳功能后如何创建新的数据帧:
我们假设我想进行5个最佳功能的实验:
from sklearn.feature_selection import SelectKBest, f_classif
select_k_best_classifier = SelectKBest(score_func=f_classif, k=5).fit_transform(features_dataframe, targeted_class)
现在,如果我要添加下一行:
dataframe = pd.DataFrame(select_k_best_classifier)
我将收到一个没有功能名称的新数据帧(只有索引从0到4开始).
我应该把它替换为:
dataframe = pd.DataFrame(fit_transofrmed_features, columns=features_names)
我的问题是如何创建features_names列表?
我知道我应该使用:
select_k_best_classifier.get_support()
返回布尔值数组.
数组中的真值表示右列中的索引.
我应该如何使用这个布尔数组与我可以通过该方法获得的所有功能名称的数组:
feature_names = list(features_dataframe.columns.values)
解决方法:
您可以执行以下操作:
mask = select_k_best_classifier.get_support() #list of booleans
new_features = [] # The list of your K best features
for bool, feature in zip(mask, feature_names):
if bool:
new_features.append(feature)
然后更改您的功能名称:
dataframe = pd.DataFrame(fit_transofrmed_features, columns=new_features)
内容总结
以上是互联网集市为您收集整理的python – 在Scikit Learn中运行SelectKBest后获取功能名称的最简单方法全部内容,希望文章能够帮你解决python – 在Scikit Learn中运行SelectKBest后获取功能名称的最简单方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。