Come creare un dataset con Python

Per creare un dataset personalizzato su Python organizzo i dati di addestramento su un foglio elettronico qualsiasi (es. Excel, Calc, ecc.) e lo salvo in formato CSV.

Ad esempio, creo un dataset banale con cinque esempi e tre attributi (f1,f2,f3).

un esempio di dataset

Se l'apprendimento si basa sul machine learning supervisionato, una colonna del foglio elettronico deve essere destinata alle etichette delle risposte corrette ("label") per ciascun esempio mentre le altre agli attributi (features).

Nota. La risposta (label) è 1 quando gli attributi f1 e f3 hanno valori alti. In caso contrario la risposta è 0. L'attributo f2 non influenza in alcun modo lo schema logico.

A questo punto carico il dataset su uno script in linguaggio Python.

Su Python uso la funzione read_csv() del modulo Pandas per importare il file CSV e salvarlo in una variabile qualsiasi (df).

import pandas as pd
df = pd.read_csv('temp.csv')

All'interno della variabile var è salvato il dataset per intero.

il dataset è stato caricato in Python

Tuttavia, in questa forma è ancora inutilizzabile da un algoritmo di machine learning.

Estraggo la colonna "label" del dataset e la salvo in un'altra variabile di Python (y_train).

y_train= df['label']

Ora la variabile y_train contiene le risposte esatte del dataset di addestramento.

le etichette / risposte esatte (label) del dataset

Poi estraggo le altre colonne del dataset senza la colonna "label" e le salvo in un'altra variabile (x_train).

x_train = df.drop('label', axis=1)

Ora la variabile x_train contiene gli esempi e gli attributi del dataset di addestramento.

la variabile contiene le caratteristiche degli esempi

Il dataset è pronto per addestrare un modello.

Un esempio di addestramento

Per semplicità carico l'algoritmo di addestramento Perceptron dal modulo Scikit-Learn.

Qualsiasi altro algoritmo classificatore di supervised ML sarebbe andato bene.

from sklearn.linear_model import Perceptron
ppn = Perceptron(max_iter=40, tol=0.001, eta0=0.10, random_state=0)

Infine addestro il modello tramite la funzione fit() di Scikit-learn.

Come argomenti uso le variabili x_train (esempi e attributi) e y_train (risposte corrette).

ppn.fit(x_train, y_train)

La funzione fit() crea il modello previsionale, ossia un classificatore che è in grado di classificare le istanze secondo l'addestramento ricevuto.

Come capire se il modello funziona?

Al termine dell'addestramento verifico se il modello ha capito lo schema nascosto (pattern) nei dati di addestramento.

Chiedo al modello di predirre e classificare alcuni esempi di test (diversi da quelli di training) tramite la funzione pred() di Scikit-learn e verifico se risponde correttamente.

Istanza 1

Nella prima istanza passo al modello un vettore [f1,f2,f3] con un valore alto (7) sulla prima caratteristica.

ppn.predict([[7, 4, 2]])

Il modello classifica correttamente l'istanza nella classe [1].

[1]

Istanza 2

In un'altra istanza passo al modello un valore basso (3) sulla prima feature.

ppn.predict([[3, 4, 2]])

Il modello classifica correttamente l'istanza con la classe [0].ù

[0]

Il modello è stato addestrato con il machine learning tramite gli esempi contenuti nel foglio elettronico.

Come si crea un dataset senza csv

Posso creare il dataset anche senza passare per il CSV.

L'importante è generare una tabella di apprendimento tramite la funzione DataFrame() di Pandas.

Esempio

La tabella dell'esempio precedente posso crearla manualmente in questo modo

d1 = {'label': [1, 0,1,1,0], 'f1': [7, 1,8,6,2], 'f2': [1, 2,3,1,2], 'f3': [3, 0,6,5,0] }
df = pd.DataFrame(data=d1)

Dopo l'assegnazione la variabile df contiene i seguenti valori

il dataset è stato caricato in Python

Il resto dello script è lo stesso.

E così via.

 


 

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

FacebookTwitterLinkedinLinkedin
knowledge base

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 creare un dataset con Excel
  6. Come rappresentare le regioni decisionali
  7. La vettorizzazione delle categorie
  8. StandardScaler ( riduzione di scala )
  9. L'analisi degli errori del classificatore
  10. L'analisi degli errori del regressore
  11. Perceptron
  12. La regressione lineare
  13. La regressione logistica
  14. Decision Tree Classifier
  15. k-NN (k Nearest Neighbors)
  16. MLPClassifier