Appunti personali sul linguaggio Python

Come rappresentare le regioni decisionali dei classificatori in python

Quando si elabora un dataset con un algoritmo di machine learning, è utile rappresentare le regioni decisionali della classificazione tramite la funzione plot_decision_regions() della libreria mlxtend.

Questa funzione mi permette di visualizzare il dataset su un diagramma a due dimensioni ed evidenziare le regioni individuate dall'algoritmo classificatore ( es. Adaline, Perceptron, ecc. ). la rappresentazione grafica tramite il plotting

Per usare questa funzione devo prima installare la libreria mlxtend sull'interprete python tramite il comando PIP.

Così come accade per tutti i moduli aggiuntivi esterni.

    Un esempio pratico

    In questo script uso la libreria scikit-learn per addestrare la macchina a classificare correttamente gli esempi del dataset Iris tramite svm.

    1. from sklearn import datasets
    2. from sklearn.svm import SVC
    3. # Carico il dataset Iris
    4. iris = datasets.load_iris()
    5. X = iris.data[:, [0, 2]]
    6. y = iris.target
    7. # Addestro il classificatore
    8. svm = SVC(C=0.5, kernel='linear')
    9. svm.fit(X, y)

    Per visualizzare graficamente la classificazione uso la funzione plot_decision_regions().

    La carico in memoria con il comando from import di python.

    from mlxtend.plotting import plot_decision_regions

    Poi calcolo i dati di plotting tramite svm con scikit-learn (sklearn)

    plot_decision_regions(X, y, clf=svm, legend=2)

    Per visualizzare il risultato della classificazione importo il metodo pyplot della libreria matplotlib

    Si tratta di una semplice funzione di plotting dei dati.

    import matplotlib.pyplot as plt

    Scrivo il titolo del grafico, la posizione della legenda, le label sull'asse delle ascisse (x) e delle ordinate (y).

    plt.title('SVM con Iris')
    plt.xlabel('sepal lunghezza [cm]')
    plt.ylabel('petal lunghezza [cm]')
    plt.legend(loc='upper left')

    Infine visualizzo il grafico tramite il plotting con il metodo show()

    plt.show()

    Sullo schermo viene visualizzato il diagramma cartesiano a due dimensioni con gli esempi del dataset di training ( insieme di addestramento ) e i confini della classificazione tramite il metodo SVM.

    la rappresentazione grafica tramite il plotting

    La linea di demarcazione individua tre regioni di dati colorate automaticamente in modo diverso in base alla classificazione dell'algoritmo.

    I colori e le forme dei singoli esempi, invece, sono determinanti dall'insieme di test.

    Così facendo, posso rappresentare graficamente il risultato di qualsiasi altro classificatore ( es. ada ).

    E così via



    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    Questo sito utilizza cookie tecnici. Sono presenti alcuni cookie di terzi ( Gooogle, Facebook ) per la personalizzazione degli annunci pubblicitari. Cliccando su OK, scorrendo la pagina o proseguendo la navigazione in altra maniera acconsenti all’uso dei cookie.

    Per ulteriori informazioni o per revocare il consenso fai riferimento alla Privacy del sito.
    knowledge base

    Libri di approfondimento

    Scikit-learn

    1. Cos'è sklearn
    2. Come installare sklearn
    3. Un esempio di machine learning
    4. Come usare i datasets didattici di scikit-learn
    5. Come rappresentare le regioni decisionali
    6. La vettorizzazione delle categorie
    7. StandardScaler ( riduzione di scala )
    8. L'analisi degli errori del classificatore
    9. L'analisi degli errori del regressore
    10. Perceptron
    11. La regressione lineare
    12. Decision Tree Classifier
    13. k-NN (k Nearest Neighbors)
    14. MLPClassifier