T'agradaria començar amb màquina d'aprenentatge?
He creat un tutorial senzill i fàcil per a principiants complets. Junts, repassarem els passos bàsics de la formació d'un model d'aprenentatge automàtic.
Mentre explico els passos per entrenar un model un per un, també donaré un exemple molt bàsic d'un problema d'aprenentatge automàtic. Per tant, si voleu seguir-lo, podeu baixar aquest conjunt de dades de mostra d'aquest enllaç.
Aquest és només un conjunt de dades de mostra per ajudar-vos a començar amb l'aprenentatge automàtic.
Tenim 18 valors de persones de diferents edats i gèneres que tenen la seva música preferida definida. Mitjançant l'ús de les característiques "edat" i "gènere", intentarem endevinar quin gènere musical és el seu preferit.
Nota: 1 i 0 s'assignen als gèneres com a dones i homes en aquest conjunt de dades.
Tanmateix, si no voleu seguir l'exemple, també està perfectament bé. Explicaré tots aquests passos amb detall. Així doncs, endinsem-nos!
Primeres coses que cal saber
Abans d'entrar en els passos de la formació d'un model, aclarim alguns punts. L'aprenentatge automàtic és un intel·ligència artificial disciplina que se centra a desenvolupar algorismes que puguin aprendre de les dades.
Per fer-ho, els models d'aprenentatge automàtic s'entrenen en un conjunt de dades que ensenya al model com fer prediccions correctes o classificacions sobre dades noves i desconegudes anteriorment.
Aleshores, quins són aquests models? A model d’aprenentatge automàtic és similar a una recepta que fa servir un ordinador per generar prediccions o opcions de dades.
Un model, com una recepta, segueix un conjunt d'instruccions per avaluar les dades i generar prediccions o judicis basats en patrons trobats a les dades. Com més dades s'entrena el model, més precises seran les seves prediccions.
Quin tipus de models podem entrenar?
Vegem quins són els models bàsics d'aprenentatge automàtic.
- Regressió lineal: un model que prediu una variable objectiu contínua a partir d'una o més variables d'entrada.
- Xarxes neuronals: una xarxa de nodes enllaçats que poden aprendre a detectar patrons complicats a les dades.
- Arbres de decisions: un enfocament de presa de decisions basat en una cadena d'afirmacions ramificades if-else.
- Clúster: conjunt de models que agrupa punts de dades comparables basats en la similitud.
- Regressió logística: un model per a problemes de classificació binària en què la variable objectiu té dos valors potencials.
- Arbres de decisions: un enfocament de presa de decisions basat en una cadena d'afirmacions ramificades if-else.
- Random Forest: un model de conjunt format per nombrosos arbres de decisió. S'utilitzen freqüentment per a aplicacions de classificació i regressió.
- K-Nearest Neighbors: un model que prediu la variable objectiu utilitzant els k-punts de dades més propers del conjunt d'entrenament.
En funció del nostre problema i conjunt de dades, decidim quin model d'aprenentatge automàtic s'adapta més a la nostra situació. Tot i això, hi tornarem més endavant. Ara, comencem a entrenar el nostre model. Espero que ja t'hagis descarregat conjunt de dades si voleu seguir el nostre exemple.
A més, recomano tenir Jupyter Llibreta instal·lat a la vostra màquina local i utilitzar-lo per als vostres projectes d'aprenentatge automàtic.
1: Defineix el problema
La primera etapa en entrenar un aprenentatge automàtic model està definint el problema a resoldre. Això implica seleccionar les variables que voleu pronosticar (conegudes com a variable objectiu) i les variables que s'utilitzaran per generar aquestes prediccions (conegudes com a característiques o predictors).
També hauríeu de decidir quin tipus de problema d'aprenentatge automàtic intenteu abordar (classificació, regressió, agrupació, etc.) i quin tipus de dades necessitareu per reunir o per entrenar el vostre model.
El tipus de model que utilitzeu estarà determinat pel tipus de problema d'aprenentatge automàtic que voleu resoldre. Classificació, regressió i agrupació són les tres categories principals de reptes d'aprenentatge automàtic. Quan voleu predir una variable categòrica, com ara si un correu electrònic és un correu brossa o no, feu servir la classificació.
Quan voleu pronosticar una variable contínua, com el preu d'una casa, feu servir la regressió. L'agrupament s'utilitza per reunir elements de dades comparables en funció dels seus punts en comú.
Si mirem el nostre exemple; el nostre repte és determinar l'estil musical preferit d'una persona a partir del seu gènere i edat. Utilitzarem un conjunt de dades de 18 persones per a aquest exemple i informació sobre la seva edat, sexe i estil musical preferit.
2. Prepara les dades
Després d'especificar el problema, haureu de preparar les dades per entrenar el model. Això implica netejar i processar les dades. Per tant, podem assegurar-nos que està en un format que el algorisme d'aprenentatge automàtic pot utilitzar.
Això pot incloure activitats com suprimir valors que falten, transformar dades categòriques en dades numèriques i escalar o normalitzar les dades per garantir que totes les característiques estiguin a la mateixa escala.
Per exemple, així és com suprimiu els valors que falten:
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())
Petita nota: a la línia o "import pandas as pd",
importem la biblioteca Pandas i li assignem l'àlies “pd” per facilitar la referència a les seves funcions i objectes més endavant al codi.
Pandas és un mòdul conegut per a Python per a la manipulació i anàlisi de dades, especialment quan es treballa amb dades estructurades o tabulars.
En el nostre exemple de determinació de gèneres musicals. Primer importarem el conjunt de dades. L'he anomenat music.csv, però, podeu anomenar-lo com vulgueu.
Per preparar les dades per entrenar un model d'aprenentatge automàtic, el dividim en atributs (edat i gènere) i objectius (gènere musical).
A més, dividirem les dades en conjunts d'entrenament i proves 80:20 per avaluar el rendiment del nostre model i evitar el sobreajustament.
# 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. Trieu un model d'aprenentatge automàtic.
Després d'haver preparat les dades, heu de triar un model d'aprenentatge automàtic que s'adapti a la vostra tasca.
Hi ha diversos algorismes per triar, com ara arbres de decisió, regressió logística, màquines vectorials de suport, xarxes neuronals i altres. L'algoritme que trieu vindrà determinat pel tipus de problema que intenteu respondre, el tipus de dades que teniu i les vostres necessitats de rendiment.
Utilitzarem un classificador d'arbre de decisió per a aquest exemple perquè estem treballant amb un problema de classificació (predicció de dades categòriques).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Aquí teniu una visualització de com funciona el classificador de l'arbre de decisions:
4. Entrenar el model
Podeu començar a entrenar el model quan hàgiu escollit un algorisme d'aprenentatge automàtic acceptable. Això implica utilitzar les dades generades anteriorment per educar l'algoritme sobre com fer prediccions sobre dades noves i no vistes anteriorment.
L'algorisme modificarà els seus paràmetres interns durant l'entrenament per minimitzar la diferència entre els seus valors predits i els valors reals a les dades d'entrenament. La quantitat de dades utilitzades per a l'entrenament, així com els paràmetres específics de l'algorisme, poden tenir un efecte en la precisió del model resultant.
En el nostre exemple concret, ara que hem decidit un mètode, podem entrenar el nostre model amb les dades d'entrenament.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Avaluar el model
Després d'haver entrenat el model, s'ha d'avaluar amb dades noves per assegurar-se que és exacte i fiable. Això implica provar el model amb dades que no s'han utilitzat durant l'entrenament i comparar els seus valors projectats amb els valors reals de les dades de prova.
Aquesta revisió pot ajudar a identificar qualsevol defecte del model, com ara l'ajustament excessiu o insuficient, i pot conduir a qualsevol ajustament que es pugui requerir.
Amb les dades de les proves, avaluarem la correcció del nostre model.
# 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)
La puntuació de precisió no és tan dolenta de moment. 🙂 Per millorar la vostra puntuació de precisió, sempre podeu netejar més les dades o provar diferents models d'aprenentatge automàtic per veure quin dóna la puntuació més alta.
6. Afinar el model
Si l'eficiència del model no és suficient, podeu ajustar-lo alterant diversos paràmetres d'algorisme o experimentant completament amb nous algorismes.
Aquest procediment pot incloure experimentar amb taxes d'aprenentatge alternatives, modificar la configuració de regularització o alterar el nombre o la mida de les capes ocultes en una xarxa neuronal.
7. Utilitza el model
Un cop estigueu satisfet amb el rendiment del model, podeu començar a utilitzar-lo per generar prediccions sobre dades noves.
Això pot implicar introduir dades noves al model i utilitzar els paràmetres apresos del model per generar prediccions sobre aquestes dades o integrar el model en una aplicació o sistema més ampli.
Podem utilitzar el nostre model per generar prediccions sobre dades noves després d'estar satisfets amb la seva precisió. Podeu provar diferents valors de gènere i edat.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Embolicar
Hem acabat d'entrenar el nostre primer model d'aprenentatge automàtic.
Espero que t'hagi trobat útil. Ara podeu provar d'utilitzar diferents models d'aprenentatge automàtic, com ara la regressió lineal o el bosc aleatori.
Hi ha molts conjunts de dades i reptes Kaggle si voleu millorar la vostra codificació i comprensió de l'aprenentatge automàtic.
Deixa un comentari