我有一组与二元类标签相关联的特征向量,每个向量大约有40,000个特征。我使用来自sklearn的RandomForestClassifier训练了一个随机森林分类器,这需要大约10分钟的时间。然而,我想知道哪些是最重要的特征。
我尝试简单地打印clf.feature_importances_,但每个特征需要大约1秒钟,总共需要大约40,000秒(大约12小时)。这比第一次训练分类器所需的时间长得多!
有没有更有效的方法找出哪些特征最重要?
以下是我所说的例子:
我尝试简单地打印clf.feature_importances_,但每个特征需要大约1秒钟,总共需要大约40,000秒(大约12小时)。这比第一次训练分类器所需的时间长得多!
有没有更有效的方法找出哪些特征最重要?
以下是我所说的例子:
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=50)
clf = clf.fit(X, Y)
for i in xrange(len(clf.feature_importances_)):
print clf.feature_importances_[i]
feature_importances_
返回一个大小为n的数组,其中n是你特征数量,每个值表示特征的重要性。我不确定你所指的每个特征需要1秒钟是什么意思。 - ahajib