我使用基于决策树的特征重要性进行特征选择。
#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(这样做对吗?
您可以将ExtraTreesClassifier
的random_state
参数设置为某个值。在这种情况下,你会得到可重复的结果。例如:
model = ExtraTreesClassifier(random_state=0)