按照用featureselection.asu.edu/tutorial.php实现的步骤,我使用skfeature.function实现了以下代码来计算费舍尔分数,下面提供了我的代码片段:
pip install skfeature-chappers
from skfeature.function.similarity_based import fisher_score
score = fisher_score.fisher_score(X_train, y_train)
idx = fisher_score.feature_ranking(score)
print(idx)我收到以下属性错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-33-cd27bc981d22> in <module>()
1 import skfeature
----> 2 idx = fisher_score.feature_ranking(score)
3 print(idx)
AttributeError: module 'skfeature.function.similarity_based.fisher_score' has no attribute
'feature_ranking'发布于 2020-08-23 01:19:27
feature_ranking似乎并不存在,但我认为您可以找到fisher_score作为它的一部分,它已经返回了带有参数mode='rank'的索引。尝试下面的方法,它对我很有效-
from skfeature.function.similarity_based import fisher_score
from sklearn.datasets import load_diabetes
db = load_diabetes()
y_train = db.target
X_train = db.data
idx = fisher_score.fisher_score(X_train, y_train, mode='rank') #returns rank directly instead of fisher score. so no need for feature_ranking
print(idx)array([1, 7, 3, 6, 2, 0, 9, 8, 5, 4])https://stackoverflow.com/questions/63538875
复制相似问题