Vulete principià cù machine learning?
Aghju creatu un tutoriale simplice è faciule per i principianti cumpleti. Inseme, andemu nantu à i passi basi di a furmazione di un mudellu d'apprendimentu machine.
Mentre spiegà i passi di a furmazione di un mudellu unu per unu, daraghju ancu un esempiu assai basi di un prublema d'apprendimentu di macchina. Allora, sè vo vulete seguità, pudete scaricà stu set di dati di mostra da questu Member.
Questu hè solu un inseme di dati di mostra per aiutà vi principià cù l'apprendimentu automaticu.
Avemu 18 valori di persone di diverse età è sessi chì anu definitu a so musica preferita. Utilizendu, e caratteristiche di "età" è "genere" avemu da pruvà à indovinà quale genre di musica hè u so preferitu.
Nota: 1 è 0 sò assignati à i sessi cum'è femine è maschile in questu dataset.
Tuttavia, sè ùn vulete micca seguità l'esempiu, hè ancu perfetta. Spiegheraghju tutti questi passi in dettaglio. Allora, andemu à immersi !
Prima Cose da Sapete
Prima di andà in i passi di a furmazione di un mudellu, chjaremu certi punti. L'apprendimentu automaticu hè un ntilliggenza artificiali disciplina chì si cuncintra à sviluppà algoritmi chì ponu amparà da i dati.
Per fà questu, i mudelli di machine learning sò furmati nantu à un dataset chì insignà u mudellu cumu fà predizioni currette o Brutt nantu à dati freschi, prima scunnisciuti.
Allora, chì sò questi mudelli? A mudellu di apprendimentu machine hè simile à una ricetta chì un computer usa per generà predizioni di dati o scelte.
Un mudellu, cum'è una ricetta, seguita un inseme di struzzioni per evaluà e dati è generà previsioni o ghjudizii basati nantu à mudelli truvati in i dati. Più dati u mudellu hè furmatu, più precise diventanu e so previsioni.
Chì tipu di mudelli pudemu furmà?
Videmu quali sò i mudelli basi di l'apprendimentu automaticu.
- Regressione Linear: un mudellu chì predice una variabile di destinazione cuntinuu da una o più variabili di input.
- Reti neurali: una reta di nodi ligati chì ponu amparà à detectà mudelli cumplicati in dati.
- Arburi di decisione: un approcciu decisionale custruitu nantu à una catena di dichjarazioni ramificate se altri.
- Clustering: un inseme di mudelli chì raggruppanu punti di dati paragunabili basati nantu à a similitudine.
- Regressione Logistica: un mudellu per i prublemi di classificazione binaria in quale a variabile di destinazione hà dui valori putenziali.
- Arburi di decisione: un approcciu decisionale custruitu nantu à una catena di dichjarazioni ramificate se altri.
- Random Forest: un mudellu d'inseme cumpostu di numerosi arburi di decisione. Sò spessu usati per l'applicazioni di classificazione è regressione.
- K-Nearest Neighbors: un mudellu chì predice a variabile di destinazione utilizendu i k-punti di dati più vicini in u gruppu di furmazione.
Sicondu u nostru prublema è u set di dati, decidemu quale mudellu di apprendimentu automaticu si adatta più à a nostra situazione. Eppuru, torneremu à questu più tardi. Avà, cuminciamu à furmà u nostru mudellu. Spergu chì avete digià scaricatu set di dati se vulete seguità u nostru esempiu.
Inoltre, vi cunsigliu di avè Notebook Jupyter installatu nantu à a vostra macchina locale è l'utilizanu per i vostri prughjetti di apprendimentu di macchina.
1: Definite u prublema
A prima tappa in furmà un machine learning U mudellu definisce u prublema da risolve. Questu implica a selezzione di e variàbili chì vulete previsione (cunnisciutu cum'è a variabile di destinazione) è e variàbili chì saranu aduprate per generà sti predizioni (cunnisciutu cum'è caratteristiche o predittori).
Duvete ancu decide chì tipu di prublema di l'apprendimentu di macchina chì pruvate d'indirizzà (classificazione, regressione, clustering, etc.) è chì tippu di dati avete bisognu di cullà o uttene à furmà u vostru mudellu.
U tipu di mudellu chì impiegate serà determinatu da u tippu di prublema di apprendimentu di macchina chì vulete risolve. Classificazione, regressione è clustering sò e trè categurie primarie di sfide d'apprendimentu machine. Quandu vulete predichendu una variabile categurica, cum'è se un email hè un puzzicheghju o micca, utilizate a classificazione.
Quandu vulete previsione una variabile cuntinuu, cum'è u prezzu di una casa, utilizate a regressione. U clustering hè utilizatu per mette inseme elementi di dati paragunabili basati nantu à i so cumune.
Se fighjemu u nostru esempiu; a nostra sfida hè di determinà u stilu musicale preferitu di una persona da u so sessu è età. Utilizemu un inseme di dati di 18 persone per questu esempiu è infurmazione nantu à a so età, sessu è stile musicale preferitu.
2. Preparate i dati
Dopu avè specificatu u prublema, avete bisognu di preparà e dati per a furmazione di u mudellu. Questu implica a pulizia è u trattamentu di e dati. Cusì, chì pudemu assicurà chì hè in un furmatu chì u algoritmu di apprendimentu machine pò aduprà.
Questu puderia include attività cum'è l'eliminazione di i valori mancanti, a trasfurmazioni di dati categurichi in dati numerichi, è a scala o a normalizazione di e dati per assicurà chì tutte e caratteristiche sò in a listessa scala.
Per esempiu, questu hè cumu sguassate 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: In a linea o "import pandas as pd",
impurtamu a biblioteca di Pandas è l'assignemu l'alias "pd" per fà più faciule per riferenzià e so funzioni è l'uggetti dopu in u codice.
Pandas hè un modulu ben cunnisciutu per Python per a manipulazione è l'analisi di dati, in particulare quandu travaglia cù dati strutturati o tabulari.
In u nostru esempiu di determinazione di generi musicali. Prima impurtaremu u dataset. L'aghju chjamatu music.csv, però, pudete chjamà cumu vulete.
Per preparà e dati per a furmazione di un mudellu di machine learning, l'avemu divisu in attributi (età è genere) è obiettivi (genre musicale).
Divideremu ancu e dati in setti di furmazione è di teste 80:20 per valutà u rendiment di u nostru mudellu è evità 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. Sceglite un mudellu di machine learning.
Dopu avè preparatu i dati, duvete sceglie un mudellu d'apprendimentu automaticu adattatu à u vostru compitu.
Ci hè parechje algoritmi per sceglie, cum'è l'arburi di decisione, a regressione logistica, i machini vettoriali di supportu, e rete neurali è altri. L'algoritmu chì sceglite serà determinatu da u tipu di prublema chì pruvate à risponde, u tipu di dati chì avete, è i vostri bisogni di rendiment.
Adupremu un classificatore di l'arburu di decisione per questu esempiu perchè avemu travagliatu cù un prublema di classificazione (predizione di dati categurichi).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Eccu una visualizazione di cumu funziona u Classificatore di l'Arburu di Decisione:
4. Train u mudellu
Pudete principià a furmazione di u mudellu quandu avete sceltu un algoritmu di apprendimentu automaticu accettabile. Questu implica l'usu di e dati generati prima per educà l'algoritmu nantu à cumu fà predizioni nantu à dati freschi, invisibili prima.
L'algoritmu mudificà i so paràmetri interni durante a furmazione per minimizzà a diffarenza trà i so valori previsti è i valori attuali in i dati di furmazione. A quantità di dati utilizati per a furmazione, è ancu i paràmetri specifichi di l'algoritmu, ponu tutti avè un effettu nantu à a precisione di u mudellu resultanti.
In u nostru esempiu specificu, avà chì avemu decisu di un metudu, pudemu furmà u nostru mudellu cù i dati di furmazione.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Evaluate u mudellu
Dopu chì u mudellu hè statu furmatu, deve esse evaluatu nantu à novi dati per assicurà chì hè precisu è affidabile. Questu significa pruvà u mudellu cù dati chì ùn sò micca stati utilizati durante a furmazione è paragunendu i so valori prughjetti cù i valori attuali in i dati di prova.
Questa rivista pò aiutà à identificà qualsiasi difetti di u mudellu, cum'è overfitting o underfitting, è pò purtà à qualsiasi fine-tuning chì pò esse necessariu.
Utilizendu i dati di teste, valuteremu a correttezza di u nostru mudellu.
# 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)
U puntu di precisione ùn hè micca cusì male per avà. 🙂 Per migliurà u vostru puntu di precisione, pudete sempre pulisce e dati più o pruvate diversi mudelli di apprendimentu automaticu per vede quale dà u puntu più altu.
6. Fine-tune u mudellu
Se l'efficienza di u mudellu ùn hè micca abbastanza, pudete aghjurnà cù l'alterazione di diversi paràmetri di l'algoritmu o sperimentendu interamente novi algoritmi.
Questa prucedura pò include l'esperimentu cù ritmi di apprendimentu alternativu, mudificà i paràmetri di regularizazione, o alteranu u numeru o a dimensione di strati nascosti in una rete neurale.
7. Aduprà u mudellu
Una volta chì site cuntentu di u rendiment di u mudellu, pudete cumincià à aduprà per generà predizioni nantu à novi dati.
Questu puderia implicà l'alimentazione di dati freschi in u mudellu è l'utilizazione di i paràmetri appresi di u mudellu per generà predizioni nantu à quelli dati, o integrà u mudellu in una applicazione o sistema più largu.
Pudemu aduprà u nostru mudellu per generà predizioni nantu à novi dati dopu chì simu cuntenti di a so precisione. Pudete pruvà diversi valori di sessu è età.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Conclude
Avemu finitu di furmà u nostru primu mudellu di machine learning.
Spergu chì avete trovu utile. Pudete avà pruvà à utilizà diversi mudelli d'apprendimentu di macchina cum'è Regressione Linear o Random Forest.
Ci sò parechje serie di dati è sfide Kaggle se vulete migliurà a vostra codificazione è a cunniscenza di l'apprendimentu automaticu.
Lascia un Audiolibro