擅长:python、mysql、java
<p>我将建议一个小的变体,它可以自动解决问题,因为它只得到<code>feature_importances_</code>一个:</p>
<pre><code>from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=50)
clf = clf.fit(X, Y)
for feature_importance in clf.feature_importances_:
print feature_importance
</code></pre>
<p>如果需要循环索引<code>i</code>,只需使用<code>enumerate</code>:</p>
^{pr2}$
<p>这也是比使用</p>
<pre><code>for i in xrange(len(<some-array>)):
<some-array>[i]
</code></pre>
<hr/>
<p>我认为如果<code>RandomForestClassifier</code>在幕后跟踪它的状态会更好。如果状态发生变化(例如,<code>n_estimators</code>被更改,或者其他参数),它应该重新计算<code>feature_importances_</code>(像现在一样动态)。否则,它应该只返回当前缓存的功能重要性。<br/>
然而,这在幕后更为复杂。在</p>
<p>也许最简单的方法是将属性更改为实际的方法:<code>calc_feature_importances()</code>。<br/>
再说一次,我没有把精力放在创建<code>RandomForestClassifier</code>上,所以我不能抱怨。在</p>