如何更改功能重要性,使其不再是随机的?在蟒蛇中



我使用基于决策树的特征重要性进行特征选择。

#Feature importance (source: https://towardsdatascience.com/feature-selection-techniques-in-machine-learning-with-python-f24e7da3f36e)
X = df.iloc[:,1:31]  #independent columns
y = df.iloc[:,0]    #target column = diagnosis
model = ExtraTreesClassifier()
model.fit(X,y)
print(model.feature_importances_) #use inbuilt class feature_importances of tree based classifiers
feat_importances = pd.Series(model.feature_importances_, index=X.columns)
feat_importances.nlargest(10).plot(kind='barh', color="lightskyblue")
plt.show()

但每次我重新开始,结果都会改变,可能在某个地方有一个随机数。有没有一种方法可以设置一次,然后保持不变,这样每次重新启动内核时结果就不会改变?

谢谢。

更新:我想我是用以下方式管理的:model=ExtraTreesClassifier(random_state=1(这样做对吗?

您可以将ExtraTreesClassifierrandom_state参数设置为某个值。在这种情况下,你会得到可重复的结果。例如:

model = ExtraTreesClassifier(random_state=0)

最新更新