Ti piacerebbe iniziare con machine learning?
Ho creato un tutorial semplice e facile per principianti assoluti. Insieme, esamineremo i passaggi fondamentali dell'addestramento di un modello di machine learning.
Mentre spiego i passaggi dell'addestramento di un modello uno per uno, fornirò anche un esempio molto semplice di un problema di apprendimento automatico. Quindi, se desideri continuare, puoi scaricare questo set di dati di esempio da questo link.
Questo è solo un set di dati di esempio per aiutarti a iniziare con il machine learning.
Abbiamo 18 valori di persone di diverse età e generi che hanno definito la loro musica preferita. Utilizzando le caratteristiche di "età" e "sesso" cercheremo di indovinare quale genere musicale è il loro preferito.
Nota: 1 e 0 sono assegnati ai sessi come femmina e maschio in questo set di dati.
Tuttavia, se non vuoi seguire l'esempio, va benissimo. Spiegherò tutti questi passaggi in dettaglio. Quindi, tuffiamoci!
Prime cose da sapere
Prima di entrare nelle fasi di addestramento di un modello, chiariamo alcuni punti. L'apprendimento automatico è un intelligenza artificiale disciplina che si concentra sullo sviluppo di algoritmi in grado di apprendere dai dati.
Per fare ciò, i modelli di machine learning vengono addestrati su un set di dati che insegna al modello come fare previsioni corrette o classificazioni su dati freschi e precedentemente sconosciuti.
Allora, quali sono questi modelli? UN modello di machine learning è simile a una ricetta utilizzata da un computer per generare previsioni o scelte di dati.
Un modello, come una ricetta, segue una serie di istruzioni per valutare i dati e generare previsioni o giudizi basati su modelli trovati nei dati. Maggiore è il numero di dati su cui viene addestrato il modello, più accurate diventano le sue previsioni.
Che tipo di modelli possiamo addestrare?
Vediamo quali sono i modelli base di machine learning.
- Regressione lineare: un modello che prevede una variabile target continua da una o più variabili di input.
- Reti neurali: una rete di nodi collegati che possono imparare a rilevare modelli complicati nei dati.
- Alberi decisionali: un approccio decisionale costruito su una catena di istruzioni if-else ramificate.
- Clustering: un insieme di modelli che raggruppano punti dati comparabili in base alla somiglianza.
- Regressione logistica: un modello per problemi di classificazione binaria in cui la variabile target ha due valori potenziali.
- Alberi decisionali: un approccio decisionale costruito su una catena di istruzioni if-else ramificate.
- Random Forest: un modello di ensemble composto da numerosi alberi decisionali. Sono spesso usati per applicazioni di classificazione e regressione.
- K-Nearest Neighbors: un modello che prevede la variabile target utilizzando i k punti dati più vicini nel training set.
A seconda del problema e del set di dati, decidiamo quale modello di machine learning si adatta meglio alla nostra situazione. Tuttavia, su questo torneremo più avanti. Ora, iniziamo ad addestrare il nostro modello. Spero che tu abbia già scaricato il dataset se vuoi seguire il nostro esempio
Inoltre, consiglio di averlo Notebook Jupyter installato sul tuo computer locale e utilizzarlo per i tuoi progetti di machine learning.
1: Definire il problema
La prima tappa in addestrare un machine learning modello sta definendo il problema da risolvere. Ciò comporta la selezione delle variabili che si desidera prevedere (note come variabile target) e le variabili che verranno utilizzate per generare tali previsioni (note come caratteristiche o predittori).
Dovresti anche decidere quale tipo di problema di apprendimento automatico stai tentando di affrontare (classificazione, regressione, clustering e così via) e quale tipo di dati dovrai raccogliere o ottenere per addestrare il tuo modello.
Il tipo di modello che utilizzerai sarà determinato dal tipo di problema di apprendimento automatico che intendi risolvere. Classificazione, regressione e clustering sono le tre categorie principali di sfide di apprendimento automatico. Quando si desidera prevedere una variabile categoriale, ad esempio se un'e-mail è uno spam o meno, si utilizza la classificazione.
Quando desideri prevedere una variabile continua, come il prezzo di una casa, utilizzi la regressione. Il clustering viene utilizzato per mettere insieme elementi di dati comparabili in base ai loro punti in comune.
Se guardiamo al nostro esempio; la nostra sfida è determinare lo stile musicale preferito di una persona in base al sesso e all'età. Utilizzeremo un set di dati di 18 persone per questo esempio e informazioni sulla loro età, sesso e stile musicale preferito.
2. Preparare i dati
Dopo aver specificato il problema, dovrai preparare i dati per l'addestramento del modello. Ciò comporta la pulizia e l'elaborazione dei dati. Quindi, possiamo assicurarci che sia in un formato che il file algoritmo di apprendimento automatico poter usare.
Ciò potrebbe includere attività come l'eliminazione di valori mancanti, la trasformazione di dati categorici in dati numerici e il ridimensionamento o la normalizzazione dei dati per garantire che tutte le caratteristiche siano sulla stessa scala.
Ad esempio, ecco come eliminare i valori mancanti:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
Piccola nota: Nella riga o “import pandas as pd",
importiamo la libreria Pandas e le assegniamo l'alias "pd" per facilitare il riferimento alle sue funzioni e oggetti più avanti nel codice.
Pandas è un noto modulo per Python per la manipolazione e l'analisi dei dati, in particolare quando si lavora con dati strutturati o tabulari.
Nel nostro esempio di determinazione dei generi musicali. Per prima cosa importeremo il set di dati. L'ho chiamato music.csv, tuttavia, puoi chiamarlo come preferisci.
Per preparare i dati per l'addestramento di un modello di machine learning, li suddividiamo in attributi (età e sesso) e obiettivi (genere musicale).
Divideremo inoltre i dati in set di addestramento e test 80:20 per valutare le prestazioni del nostro modello ed evitare l'overfitting.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. Scegli un modello di machine learning.
Dopo aver preparato i dati, devi scegliere un modello di apprendimento automatico adatto al tuo compito.
Esistono diversi algoritmi tra cui scegliere, come alberi decisionali, regressione logistica, macchine vettoriali di supporto, reti neurali e altri. L'algoritmo che scegli sarà determinato dal tipo di problema a cui stai tentando di rispondere, dal tipo di dati di cui disponi e dalle tue esigenze in termini di prestazioni.
Useremo un classificatore dell'albero delle decisioni per questo esempio perché stiamo lavorando con un problema di classificazione (previsione dei dati categorici).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Ecco una visualizzazione di come funziona il Decision Tree Classifier:
4. Allena il modello
Puoi iniziare ad addestrare il modello dopo aver scelto un algoritmo di machine learning accettabile. Ciò comporta l'utilizzo dei dati generati in precedenza per istruire l'algoritmo su come fare previsioni su dati nuovi e mai visti prima.
L'algoritmo modificherà i propri parametri interni durante l'addestramento per ridurre al minimo la differenza tra i valori previsti e i valori effettivi nei dati di addestramento. La quantità di dati utilizzati per l'addestramento, così come i parametri specifici dell'algoritmo, possono tutti avere un effetto sull'accuratezza del modello risultante.
Nel nostro esempio specifico, ora che abbiamo deciso un metodo, possiamo addestrare il nostro modello con i dati di addestramento.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Valutare il modello
Dopo che il modello è stato addestrato, deve essere valutato su nuovi dati per garantire che sia accurato e affidabile. Ciò comporta il test del modello con dati che non sono stati utilizzati durante l'addestramento e il confronto dei valori previsti con i valori effettivi nei dati di test.
Questa revisione può aiutare a identificare eventuali difetti del modello, come l'overfitting o l'underfitting, e può portare a qualsiasi messa a punto che potrebbe essere necessaria.
Utilizzando i dati di test, valuteremo la correttezza del nostro modello.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
Il punteggio di precisione non è poi così male per ora. 🙂 Per migliorare il tuo punteggio di accuratezza, puoi sempre pulire maggiormente i dati o provare diversi modelli di machine learning per vedere quale dà il punteggio più alto.
6. Ottimizza il modello
Se l'efficienza del modello non è sufficiente, è possibile perfezionarlo modificando vari parametri dell'algoritmo o sperimentando completamente nuovi algoritmi.
Questa procedura può includere la sperimentazione di velocità di apprendimento alternative, la modifica delle impostazioni di regolarizzazione o l'alterazione del numero o delle dimensioni dei livelli nascosti in una rete neurale.
7. Usa il modello
Una volta che sei soddisfatto delle prestazioni del modello, puoi iniziare a usarlo per generare previsioni su nuovi dati.
Ciò potrebbe comportare l'inserimento di nuovi dati nel modello e l'utilizzo dei parametri appresi del modello per generare previsioni su tali dati o l'integrazione del modello in un'applicazione o un sistema più ampio.
Possiamo usare il nostro modello per generare previsioni su nuovi dati dopo che siamo soddisfatti della sua accuratezza. Puoi provare diversi valori di sesso ed età.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Incartare
Abbiamo terminato l'addestramento del nostro primo modello di machine learning.
Spero che tu l'abbia trovato utile. Ora puoi provare a utilizzare diversi modelli di machine learning come la regressione lineare o la foresta casuale.
Ci sono molti set di dati e sfide in Kaggle se desideri migliorare la tua codifica e la comprensione dell'apprendimento automatico.
Lascia un Commento