Classe “DecisionTreeClassifier”
O DecisionTreeClassifier
é uma classe do módulo sklearn.tree
da biblioteca scikit-learn em Python, que implementa o algoritmo de árvore de decisão para classificação. Esse classificador constrói uma árvore de decisão a partir dos dados de treinamento e a utiliza para realizar previsões de classes para novos dados.
Principais Parâmetros:
-
criterion
: O critério usado para medir a qualidade da divisão na árvore. Pode ser “gini” para usar a impureza de Gini ou “entropy” para usar a entropia. O padrão é “gini”. -
max_depth
: A profundidade máxima da árvore. Se definido comoNone
, os nós serão expandidos até que todas as folhas sejam puras ou contenham menos demin_samples_split
amostras. O padrão éNone
. -
min_samples_split
: O número mínimo de amostras necessárias para dividir um nó interno. O padrão é 2. -
min_samples_leaf
: O número mínimo de amostras necessárias para serem consideradas como folhas. O padrão é 1.
Métodos Principais:
-
fit(X, y)
: Treina o classificador com os dados de treinamentoX
e os rótulos de classey
. -
predict(X)
: Realiza previsões de classe para os dados de entradaX
com base no modelo treinado.
Exemplo:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# Carrega o conjunto de dados Iris
data = load_iris()
X, y = data.data, data.target
# Divide o conjunto de dados em dados de treinamento e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Cria o classificador da árvore de decisão
clf = DecisionTreeClassifier()
# Treina o classificador com os dados de treinamento
clf.fit(X_train, y_train)
# Faz previsões de classe para os dados de teste
y_pred = clf.predict(X_test)
# Avalia a acurácia das previsões
accuracy = accuracy_score(y_test, y_pred)
print(f'Acurácia: {accuracy:.2f}')
Neste exemplo, carregamos o conjunto de dados Iris, dividimos em dados de treinamento e teste, criamos e treinamos um classificador DecisionTreeClassifier
com os dados de treinamento e, em seguida, realizamos previsões de classe para os dados de teste e calculamos a acurácia das previsões.