Tixtieq tibda biha tagħlim magna?
Ħloqt tutorja sempliċi u faċli għal dawk li jibdew kompluti. Flimkien, se ngħaddu fuq il-passi bażiċi tat-taħriġ ta 'mudell ta' tagħlim tal-magni.
Filwaqt li nispjega l-passi tat-taħriġ ta 'mudell wieħed wieħed, se nagħti wkoll eżempju bażiku ħafna ta' problema ta 'tagħlim bil-magni wkoll. Għalhekk, jekk tixtieq issegwi, tista' tniżżel dan is-sett tad-dejta tal-kampjun minn dan rabta.
Dan huwa biss kampjun tad-dataset biex jgħinek tibda bit-tagħlim tal-magni.
Għandna 18-il valur ta’ nies ta’ etajiet u sessi differenti li għandhom il-mużika favorita tagħhom definita. Bl-użu, il-karatteristiċi ta '"età" u "sess" aħna nippruvaw raden liema ġeneru ta' mużika huwa l-favorit tagħhom.
Nota: 1 u 0 huma assenjati għal sessi bħala nisa u rġiel f'dan is-sett tad-dejta.
Madankollu, jekk ma tridx issegwi l-eżempju, huwa wkoll perfettament tajjeb. Se nkun qed nispjega dawn il-passi kollha fid-dettall. Allura, ejja adsa fil!
L-Ewwel Affarijiet li Taf
Qabel ma nidħlu fil-passi tat-taħriġ ta 'mudell, ejja niċċaraw xi punti. It-tagħlim bil-magni huwa an intelliġenza artifiċjali dixxiplina li tiffoka fuq l-iżvilupp ta’ algoritmi li jistgħu jitgħallmu mid-dejta.
Biex tagħmel dan, il-mudelli tat-tagħlim tal-magni huma mħarrġa fuq sett tad-dejta li jgħallem lill-mudell kif jagħmel tbassir korrett jew klassifikazzjonijiet fuq dejta friska, mhux magħrufa qabel.
Allura, x'inhuma dawn il-mudelli? A mudell ta 'tagħlim bil-magna huwa simili għal riċetta li kompjuter juża biex jiġġenera tbassir tad-dejta jew għażliet.
Mudell, bħal riċetta, isegwi sett ta 'struzzjonijiet biex jevalwa d-dejta u jiġġenera tbassir jew ġudizzji bbażati fuq mudelli misjuba fid-dejta. Aktar ma jkun imħarreġ dejta fuq il-mudell, aktar il-previżjonijiet tiegħu jsiru preċiżi.
X'Tip ta' Mudelli Nistgħu Inħarrġu?
Ejja naraw x'inhuma l-mudelli bażiċi tat-tagħlim tal-magni.
- Rigressjoni Lineari: mudell li jbassar varjabbli fil-mira kontinwa minn varjabbli ta' input wieħed jew aktar.
- Netwerks newrali: netwerk ta 'nodi konnessi li jistgħu jitgħallmu jikxfu mudelli kkumplikati fid-dejta.
- Siġar tad-Deċiżjonijiet: approċċ tat-teħid ta' deċiżjonijiet mibni fuq katina ta' dikjarazzjonijiet ta' fergħat jekk inkella.
- Raggruppament: sett ta 'mudelli li jiġbru punti ta' data komparabbli bbażati fuq xebh.
- Rigressjoni Loġistika: mudell għal problemi ta 'klassifikazzjoni binarja li fih il-varjabbli fil-mira għandha żewġ valuri potenzjali.
- Siġar tad-Deċiżjonijiet: approċċ tat-teħid ta' deċiżjonijiet mibni fuq katina ta' dikjarazzjonijiet ta' fergħat jekk inkella.
- Random Forest: mudell ensemble magħmul minn bosta siġar tad-deċiżjonijiet. Dawn huma użati ta 'spiss għal applikazzjonijiet ta' klassifikazzjoni u rigressjoni.
- K-Nearest Neighbors: mudell li jbassar il-varjabbli fil-mira billi juża l-punti tad-dejta k-eqreb fis-sett tat-taħriġ.
Skont il-problema u s-sett tad-dejta tagħna, aħna niddeċiedu liema mudell ta’ tagħlim bil-magni jaqbel l-aktar għas-sitwazzjoni tagħna. Madankollu, se nerġgħu lura għal dan aktar tard. Issa, ejja nibdew inħarrġu l-mudell tagħna. Nispera li diġà niżżilt il- sett tad-dejta jekk tixtieq issegwi l-eżempju tagħna.
Ukoll, nirrakkomanda li jkollok Notebook Jupyter installat fuq il-magna lokali tiegħek u tużaha għall-proġetti ta 'tagħlim tal-magni tiegħek.
1: Iddefinixxi l-problema
L-ewwel stadju fi taħriġ ta' tagħlim bil-magni mudell qed jiddefinixxi l-kwistjoni li għandha tiġi solvuta. Dan jinvolvi li tagħżel il-varjabbli li tixtieq tbassar (magħrufa bħala l-varjabbli fil-mira) u l-varjabbli li se jintużaw biex jiġġeneraw dawk it-tbassir (magħrufa bħala karatteristiċi jew tbassir).
Għandek tiddeċiedi wkoll x'tip ta' problema ta' tagħlim bil-magni li qed tipprova tindirizza (klassifikazzjoni, rigressjoni, raggruppament, eċċ) u x'tip ta' data ser ikollok bżonn tiġbor jew tħarreġ il-mudell tiegħek.
It-tip ta' mudell li timpjega se jkun determinat mit-tip ta' problema ta' tagħlim bil-magni li qed timmira li ssolvi. Klassifikazzjoni, rigressjoni, u clustering huma t-tliet kategoriji primarji ta sfidi tat-tagħlim tal-magni. Meta trid tbassar varjabbli kategoriku, bħal jekk email hijiex spam jew le, tuża l-klassifikazzjoni.
Meta tixtieq tbassar varjabbli kontinwu, bħall-prezz ta 'dar, inti tutilizza rigressjoni. Il-clustering jintuża biex jitqiegħed flimkien oġġetti ta' data komparabbli bbażati fuq il-komunitajiet tagħhom.
Jekk inħarsu lejn l-eżempju tagħna; l-isfida tagħna hija li niddeterminaw l-istil mużikali preferut ta’ persuna mis-sess u l-età tagħha. Aħna ser nutilizzaw dataset ta' 18-il persuna għal dan l-eżempju u informazzjoni dwar l-età, is-sess, u l-istil mużikali favorit tagħhom.
2. Ipprepara d-data
Wara li tkun speċifikajt il-problema, ikollok bżonn tipprepara d-dejta għat-taħriġ tal-mudell. Dan jinvolvi t-tindif u l-ipproċessar tad-dejta. Allura, li nistgħu niżguraw li huwa f'format li l- algoritmu ta 'tagħlim bil-magna jistgħu jużaw.
Dan jista' jinkludi attivitajiet bħat-tħassir ta' valuri neqsin, it-trasformazzjoni tad-dejta kategorika f'dejta numerika, u l-iskala jew in-normalizzazzjoni tad-dejta biex jiġi żgurat li l-karatteristiċi kollha jkunu fuq l-istess skala.
Pereżempju, dan huwa kif tħassar il-valuri neqsin:
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())
Nota żgħira: Fil-linja o “import pandas as pd",
aħna nimportaw il-librerija Pandas u nassenjawha l-alias "pd" biex tagħmilha aktar faċli li ssir referenza għall-funzjonijiet u l-oġġetti tagħha aktar tard fil-kodiċi.
Pandas huwa modulu magħruf għal Python għall-manipulazzjoni u l-analiżi tad-dejta, partikolarment meta taħdem b'dejta strutturata jew tabulari.
Fl-eżempju tagħna tad-determinazzjoni tal-ġeneri tal-mużika. L-ewwel se nimportaw id-dataset. Semmejtha music.csv, madankollu, tista 'ssemmiha kif trid.
Biex nippreparaw id-dejta għat-taħriġ ta’ mudell ta’ tagħlim bil-magni, aħna naqsmuha f’attributi (età u sess) u objettivi (ġeneru tal-mużika).
Barra minn hekk, ser naqsmu d-dejta f'settijiet ta' taħriġ u ttestjar ta' 80:20 biex nevalwaw il-prestazzjoni tal-mudell tagħna u nevitaw it-twaħħil żejjed.
# 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. Agħżel mudell ta 'tagħlim tal-magni.
Wara li tkun ippreparat id-dejta, trid tagħżel mudell ta' tagħlim bil-magni li huwa adattat għall-kompitu tiegħek.
Hemm diversi algoritmi minn fejn tagħżel, bħal siġar tad-deċiżjonijiet, rigressjoni loġistika, magni tal-vettur ta 'appoġġ, netwerks newrali, u oħrajn. L-algoritmu li tagħżel se jiġi ddeterminat mit-tip ta’ kwistjoni li qed tipprova twieġeb, it-tip ta’ dejta li għandek, u l-ħtiġijiet tal-prestazzjoni tiegħek.
Aħna ser nużaw klassifikatur tas-siġra tad-deċiżjonijiet għal dan l-eżempju għaliex qed naħdmu bi problema ta 'klassifikazzjoni (tbassir ta' data kategorika).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Hawnhekk hawn viżwalizzazzjoni ta' kif jaħdem il-Klassifikatur tas-Siġra tad-Deċiżjoni:
4. Ħarreġ il-mudell
Tista' tibda tħarreġ il-mudell meta tkun għażilt algoritmu aċċettabbli ta' tagħlim bil-magni. Dan jinvolvi l-użu tad-dejta ġġenerata qabel biex teduka l-algoritmu dwar kif tagħmel tbassir fuq dejta friska, li ma kinitx tidher qabel.
L-algoritmu se jimmodifika l-parametri interni tiegħu waqt it-taħriġ biex jimminimizza d-differenza bejn il-valuri mbassra tiegħu u l-valuri attwali fid-dejta tat-taħriġ. Il-kwantità tad-dejta utilizzata għat-taħriġ, kif ukoll il-parametri speċifiċi tal-algoritmu, kollha jistgħu jkollhom effett fuq l-eżattezza tal-mudell li jirriżulta.
Fl-eżempju speċifiku tagħna, issa li ddeċidejna fuq metodu, nistgħu nħarrġu l-mudell tagħna bid-dejta tat-taħriġ.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Evalwa l-mudell
Wara li l-mudell ikun ġie mħarreġ, għandu jiġi evalwat fuq data ġdida biex jiġi żgurat li huwa preċiż u affidabbli. Dan jinvolvi l-ittestjar tal-mudell b'dejta li ma ġietx utilizzata waqt it-taħriġ u t-tqabbil tal-valuri pproġettati tiegħu mal-valuri attwali fid-dejta tat-test.
Din ir-reviżjoni tista' tassisti fl-identifikazzjoni ta' kwalunkwe difett tal-mudell, bħal twaħħil żejjed jew twaħħil żejjed, u tista' twassal għal kwalunkwe rfinar li jista' jkun meħtieġ.
Bl-użu tad-dejta tal-ittestjar, aħna se nevalwaw il-korrettezza tal-mudell tagħna.
# 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-punteġġ tal-eżattezza mhux daqshekk ħażin għalissa. 🙂 Biex ittejjeb il-punteġġ tal-preċiżjoni tiegħek, tista' dejjem tnaddaf id-dejta aktar jew tipprova mudelli differenti ta' tagħlim bil-magni biex tara liema waħda tagħti l-ogħla punteġġ.
6. Irfina l-mudell
Jekk l-effiċjenza tal-mudell ma tkunx biżżejjed biżżejjed, tista 'tirfina billi tbiddel diversi parametri tal-algoritmu jew billi tesperimenta b'algoritmi ġodda għal kollox.
Din il-proċedura tista' tinkludi l-esperimentazzjoni b'rati ta' tagħlim alternattivi, il-modifika tas-settings tar-regolarizzazzjoni, jew it-tibdil tan-numru jew id-daqs ta' saffi moħbija f'netwerk newrali.
7. Uża l-mudell
Ladarba tkun kuntent bil-prestazzjoni tal-mudell, tista 'tibda tużah biex tiġġenera tbassir dwar data ġdida.
Dan jista' jinvolvi l-introduzzjoni ta' dejta ġdida fil-mudell u l-użu tal-parametri mgħallma tal-mudell biex jiġġenera tbassir fuq dik id-dejta, jew l-integrazzjoni tal-mudell f'applikazzjoni jew sistema usa'.
Nistgħu nużaw il-mudell tagħna biex niġġeneraw tbassir dwar data ġdida wara li nkunu kuntenti bl-eżattezza tagħha. Tista' tipprova valuri differenti ta' sess u età.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Nagħlaq
Lestejna tħarreġ l-ewwel mudell tagħna ta 'tagħlim tal-magni.
Nispera li sibtu utli. Issa tista' tipprova tuża mudelli differenti ta' tagħlim bil-magni bħal Linear Regression jew Random Forest.
Hemm ħafna settijiet ta’ dejta u sfidi fihom Kaggle jekk tixtieq ittejjeb il-kodifikazzjoni u l-fehim tiegħek tat-tagħlim tal-magni.
Ħalli Irrispondi