模块 'skfeature.function.similarity_based.fisher_score' 没有属性 'feature_ranking'

Module 'skfeature.function.similarity_based.fisher_score' has no attribute 'feature_ranking'

我按照 featureselection.asu.edu/tutorial.php 中实施的步骤,使用 skfeature.function 实施了以下代码来计算 Fisher 分数 下面提供了我的代码片段:

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'

feature_ranking 似乎不存在,但我认为您可以找到 fisher_score 作为 API 的一部分,它已经 returns 索引参数 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])