Estoy entrenando un árbol de decisión con sklearn. Cuando uso:
dt_clf = tree.DecisionTreeClassifier()
el parámetro max_depth
defecto es None
. De acuerdo con la documentación, si max_depth
es None
, entonces los nodos se expanden hasta que todas las hojas estén puras o hasta que todas las hojas contengan menos muestras de min_samples_split
.
Después de ajustar mi modelo, ¿cómo puedo saber qué es max_depth
realmente? La función get_params()
no ayuda. Después de ajustar, get_params()
todavía dice None
.
¿Cómo puedo obtener el número real para max_depth
?
Docs: https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
Acceda a max_depth
para el objeto Tree
subyacente:
from sklearn import tree X = [[0, 0], [1, 1]] Y = [0, 1] clf = tree.DecisionTreeClassifier() clf = clf.fit(X, Y) print(clf.tree_.max_depth) >>> 1
Puede obtener atributos más accesibles del objeto del árbol subyacente utilizando:
help(clf.tree_)
Estos incluyen max_depth
, node_count
y otros parámetros de nivel inferior.