在过去的几周里,我一直在使用export_graphviz来探索我训练过的决策树的某些路径(从根到叶)。我想看看自适应提升对我的树的影响是什么,所以我使用了Adaboost分类器和base_estimator = DecisionTreeClassifier,来自scikit learn(http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier)。现在我将AdaBoostClassifier作为GridSearchCV中的估算器,根据learning_rate和n_estimators(AdaBoostClassifier的两个参数)找到“最佳超参数”。
grid_cv = GridSearchCV(AdaBoostClassifier(base_estimator=clf), scoring='f1', param_grid=param_grid_Ada, cv=10, n_jobs=-1)
在训练我的模型后,我想知道我是否也能看到带有export_graphviz函数的底层树(t.b.h。我找不到任何表明它是或不可能的东西)。由于AdaBoostClassifier没有像DecisonTreeClassifier这样的属性tree_,因此我调用了DecisionTreeClassifier:
grid_cv.best_estimator_.base_estimator_
这给出了一个例子:
DecisionTreeClassifier(class_weight='balanced', criterion='gini',
max_depth=15, max_features=None, max_leaf_nodes=None,
min_impurity_split=1e-07, min_samples_leaf=1,
min_samples_split=5, min_weight_fraction_leaf=0.0,
presort=False, random_state=None, splitter='best')
现在我想得到基础树,例如:
grid_cv.best_estimator_.base_estimator_.tree_
它返回一个None-object。所以这是我的问题甚至可以在使用Adaboost& amp; GridSearchCV在一起,如果是这样,怎么样?
干杯。