Condivisione della tecnologia

Introduzione all'algoritmo dell'albero decisionale, principi e implementazione del caso

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

L'algoritmo dell'albero decisionale è un algoritmo di apprendimento automatico molto popolare che può essere utilizzato per attività di classificazione e regressione. Quella che segue è un'introduzione dettagliata all'algoritmo dell'albero decisionale, inclusi i principi e le implementazioni dei casi, nonché il codice Python corrispondente.

Introduzione all'algoritmo dell'albero decisionale

concetto di base

Un albero decisionale è una struttura ad albero utilizzata per la classificazione o la regressione dei dati. È costituito da nodi e bordi, dove ciascun nodo interno rappresenta un test di una funzionalità, ciascun ramo rappresenta il risultato del test e ciascun nodo foglia rappresenta una categoria o un valore di regressione.

Processo di costruzione

Il processo di costruzione dell'albero decisionale solitamente comprende i seguenti passaggi:

  1. Scegli le migliori funzionalità: seleziona le caratteristiche migliori per suddividere il set di dati in base a un determinato criterio (come guadagno di informazioni, indice di Gini, ecc.).
  2. Crea nodo: suddividi il set di dati utilizzando le migliori funzionalità e crea nuovi nodi per ogni ramo.
  3. Costruisci ricorsivamente sottoalberi: il processo di selezione delle migliori caratteristiche e di suddivisione del set di dati viene ripetuto per ciascun nodo figlio fino a quando non viene soddisfatta una condizione di arresto (come la purezza del nodo che raggiunge un certo livello o la profondità dell'albero che raggiunge un valore preimpostato).
  4. Costruisci nodi foglia: i nodi foglia vengono creati quando la suddivisione non è più necessaria, in genere l'etichetta della classe di maggioranza per gli alberi di classificazione o la media di tutti i punti dati nel sottoinsieme per gli alberi di regressione.
criterio di suddivisione
  • guadagno di informazioni: Misura la riduzione dell'incertezza nella classificazione di un set di dati in base a una caratteristica.
  • Indice Gini: Misura la purezza del set di dati Più piccolo è l'indice di Gini, maggiore è la purezza del set di dati.
  • Errore quadratico medio minimo (MSE): Criterio di suddivisione per gli alberi di regressione.

Implementazione del caso

Quello che segue è un caso di classificazione dell'albero decisionale implementato utilizzando Python e la libreria scikit-learn. Utilizzeremo il famoso dataset Iris, che contiene caratteristiche e categorie di tre fiori di iris (Setosa, Versicolor, Virginica).

1. Preparazione dei dati
  1. from sklearn.datasets import load_iris
  2. from sklearn.model_selection import train_test_split
  3. # 加载数据集
  4. iris = load_iris()
  5. X, y = iris.data, iris.target
  6. # 拆分数据集为训练集和测试集
  7. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Addestrare un modello di albero decisionale
  1. from sklearn.tree import DecisionTreeClassifier
  2. # 初始化决策树分类器
  3. clf = DecisionTreeClassifier()
  4. # 训练模型
  5. clf.fit(X_train, y_train)
Modello di valutazione
  1. from sklearn.metrics import accuracy_score
  2. # 预测测试集
  3. y_pred = clf.predict(X_test)
  4. # 计算准确率
  5. accuracy = accuracy_score(y_test, y_pred)
  6. print(f"Accuracy: {accuracy:.2f}")
Albero decisionale visivo
  1. import matplotlib.pyplot as plt
  2. from sklearn.tree import plot_tree
  3. # 可视化决策树
  4. plt.figure(figsize=(12, 12))
  5. plot_tree(clf, filled=True, feature_names=iris.feature_names, class_names=iris.target_names)
  6. plt.show()

Riassumere:

Il codice precedente mostra come utilizzare la libreria scikit-learn per caricare il set di dati Iris, addestrare un classificatore dell'albero decisionale, valutare le prestazioni del modello e visualizzare l'albero decisionale. Attraverso questo caso potrai vedere come funziona un albero decisionale e come utilizzarlo nelle applicazioni pratiche.

Spero che vi piaccia. Se vi piace, mettete un mi piace e salvatelo.