Dëshironi të filloni me Mësimi makinë?
Unë kam krijuar një tutorial të thjeshtë dhe të lehtë për fillestarët e plotë. Së bashku, ne do të kalojmë hapat bazë të trajnimit të një modeli të mësimit të makinerive.
Ndërsa shpjegoj hapat e trajnimit të një modeli një nga një, do të jap gjithashtu një shembull shumë themelor të një problemi të mësimit të makinës. Pra, nëse dëshironi të ndiqni, mund ta shkarkoni këtë grup të dhënash mostër nga kjo lidhje.
Ky është vetëm një mostër e të dhënave për t'ju ndihmuar të filloni me mësimin e makinerive.
Ne kemi 18 vlera të njerëzve të moshave dhe gjinive të ndryshme që kanë të përcaktuar muzikën e tyre të preferuar. Duke përdorur veçoritë e "moshës" dhe "gjinisë" do të përpiqemi të hamendësojmë se cili zhanër i muzikës është i preferuari i tyre.
Shënim: 1 dhe 0 u janë caktuar gjinive si femra dhe mashkull në këtë grup të dhënash.
Sidoqoftë, nëse nuk doni të ndiqni shembullin, është gjithashtu shumë mirë. Unë do t'i shpjegoj të gjitha këto hapa në detaje. Pra, le të zhytemi!
Gjërat e para për të ditur
Para se të kalojmë në hapat e trajnimit të një modeli, le të sqarojmë disa pika. Mësimi i makinerisë është një inteligjencës artificiale disiplinë që fokusohet në zhvillimin e algoritmeve që mund të mësojnë nga të dhënat.
Për ta bërë këtë, modelet e mësimit të makinës trajnohen në një grup të dhënash që i mëson modelit se si të bëjë parashikime të sakta ose klasifikimet mbi të dhëna të freskëta, të panjohura më parë.
Pra, cilat janë këto modele? A modeli i të mësuarit makinerik është e ngjashme me një recetë që një kompjuter përdor për të gjeneruar parashikime ose zgjedhje të të dhënave.
Një model, si një recetë, ndjek një grup udhëzimesh për të vlerësuar të dhënat dhe për të gjeneruar parashikime ose gjykime bazuar në modelet e gjetura në të dhëna. Sa më shumë të dhëna të trajnohet modeli, aq më të sakta bëhen parashikimet e tij.
Çfarë lloj modelesh mund të trajnojmë?
Le të shohim se cilat janë modelet bazë të mësimit të makinerive.
- Regresioni linear: një model që parashikon një ndryshore objektive të vazhdueshme nga një ose më shumë variabla hyrëse.
- Rrjetet nervore: një rrjet nyjesh të lidhura që mund të mësojnë të zbulojnë modele të ndërlikuara në të dhëna.
- Pemët e vendimeve: një qasje vendimmarrëse e ndërtuar mbi një zinxhir të degëzimit të deklaratave if-else.
- Clustering: një grup modelesh që grupojnë pika të krahasueshme të dhënash bazuar në ngjashmëri.
- Regresioni logjistik: një model për problemet e klasifikimit binar në të cilin ndryshorja e synuar ka dy vlera potenciale.
- Pemët e vendimeve: një qasje vendimmarrëse e ndërtuar mbi një zinxhir të degëzimit të deklaratave if-else.
- Random Forest: një model ansambli i përbërë nga pemë të shumta vendimi. Ato përdoren shpesh për aplikime klasifikimi dhe regresioni.
- K-Fqinjët më të afërt: një model që parashikon variablin e synuar duke përdorur k-pikat më të afërta të të dhënave në grupin e trajnimit.
Në varësi të problemit dhe të të dhënave tona, ne vendosim se cili model i mësimit të makinës i përshtatet më shumë situatës sonë. Megjithatë, ne do t'i kthehemi kësaj më vonë. Tani, le të fillojmë të trajnojmë modelin tonë. Shpresoj se e keni shkarkuar tashmë databaza nëse dëshironi të ndiqni shembullin tonë.
Gjithashtu, unë rekomandoj të keni Fletore Jupyter instaluar në makinën tuaj lokale dhe duke e përdorur atë për projektet tuaja të mësimit të makinerive.
1: Përcaktoni problemin
Faza e parë në trajnimi i një të mësuari makine modeli është përcaktimi i çështjes që duhet zgjidhur. Kjo përfshin zgjedhjen e variablave që dëshironi të parashikoni (të njohura si ndryshorja e synuar) dhe variablat që do të përdoren për të gjeneruar ato parashikime (të njohura si tipare ose parashikues).
Ju gjithashtu duhet të vendosni se çfarë lloj problemi të mësimit të makinës po përpiqeni të trajtoni (klasifikimi, regresioni, grupimi, etj.) dhe çfarë lloj të dhënash do t'ju nevojiten për të mbledhur ose marrë për të trajnuar modelin tuaj.
Lloji i modelit që përdorni do të përcaktohet nga lloji i problemit të mësimit të makinerive që synoni të zgjidhni. Klasifikimi, regresioni dhe grupimi janë tre kategoritë kryesore të sfidat e mësimit të makinerive. Kur doni të parashikoni një variabël kategorik, si p.sh. nëse një email është një spam apo jo, ju përdorni klasifikimin.
Kur dëshironi të parashikoni një variabël të vazhdueshëm, si çmimi i një shtëpie, ju përdorni regresionin. Grumbullimi përdoret për të bashkuar artikujt e të dhënave të krahasueshme bazuar në të përbashkëtat e tyre.
Nëse shikojmë shembullin tonë; Sfida jonë është të përcaktojmë stilin muzikor të preferuar të një personi nga gjinia dhe mosha e tyre. Ne do të përdorim një grup të dhënash prej 18 personash për këtë shembull dhe informacion mbi moshën, gjininë dhe stilin e tyre të preferuar muzikor.
2. Përgatitni të dhënat
Pasi të keni specifikuar problemin, do t'ju duhet të përgatitni të dhënat për trajnimin e modelit. Kjo përfshin pastrimin dhe përpunimin e të dhënave. Pra, që ne të mund të sigurohemi që është në një format që algoritmi i të mësuarit makinerik mund të përdorë.
Kjo mund të përfshijë aktivitete si fshirja e vlerave që mungojnë, transformimi i të dhënave kategorike në të dhëna numerike dhe shkallëzimi ose normalizimi i të dhënave për të siguruar që të gjitha karakteristikat janë në të njëjtën shkallë.
Për shembull, kjo është mënyra se si fshini vlerat që mungojnë:
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())
Shënim i vogël: Në rreshtin o "import pandas as pd",
ne importojmë bibliotekën e Pandas dhe i caktojmë pseudonimin "pd" për ta bërë më të lehtë referimin e funksioneve dhe objekteve të saj më vonë në kod.
Pandas është një modul i njohur për Python për manipulimin dhe analizën e të dhënave, veçanërisht kur punoni me të dhëna të strukturuara ose tabelare.
Në shembullin tonë të përcaktimit të zhanreve muzikore. Së pari do të importojmë grupin e të dhënave. Unë e kam quajtur muzikë.csv, megjithatë, ju mund ta emërtoni si të doni.
Për të përgatitur të dhënat për trajnimin e një modeli të mësimit të makinës, ne i ndajmë ato në atribute (moshë dhe gjini) dhe objektiva (zhanër muzikor).
Ne do t'i ndajmë gjithashtu të dhënat në grupe trajnimi dhe testimi 80:20 për të vlerësuar performancën e modelit tonë dhe për të shmangur përshtatjen e tepërt.
# 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. Zgjidhni një model të mësimit të makinës.
Pasi të keni përgatitur të dhënat, duhet të zgjidhni një model të mësimit të makinës që i përshtatet detyrës suaj.
Ka disa algoritme për të zgjedhur, të tilla si pemët e vendimit, regresioni logjistik, makinat vektoriale mbështetëse, rrjetet nervore dhe të tjera. Algoritmi që zgjidhni do të përcaktohet nga lloji i çështjes që po përpiqeni t'i përgjigjeni, lloji i të dhënave që keni dhe nevojat tuaja të performancës.
Ne do të përdorim një klasifikues të pemës së vendimit për këtë shembull sepse po punojmë me një problem klasifikimi (duke parashikuar të dhëna kategorike).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Këtu është një vizualizim se si funksionon Klasifikuesi i Pemës së Vendimeve:
4. Trajnoni modelin
Ju mund të filloni trajnimin e modelit kur të keni zgjedhur një algoritëm të pranueshëm të mësimit të makinës. Kjo përfshin përdorimin e të dhënave të krijuara më parë për të edukuar algoritmin se si të bëhen parashikime për të dhëna të freskëta, të padukshme më parë.
Algoritmi do të modifikojë parametrat e tij të brendshëm gjatë trajnimit për të minimizuar diferencën midis vlerave të parashikuara dhe vlerave aktuale në të dhënat e trajnimit. Sasia e të dhënave të përdorura për trajnim, si dhe parametrat specifikë të algoritmit, të gjitha mund të ndikojnë në saktësinë e modelit rezultues.
Në shembullin tonë specifik, tani që kemi vendosur për një metodë, ne mund ta trajnojmë modelin tonë me të dhënat e trajnimit.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Vlerësoni modelin
Pasi modeli të jetë trajnuar, ai duhet të vlerësohet me të dhëna të reja për t'u siguruar që është i saktë dhe i besueshëm. Kjo përfshin testimin e modelit me të dhëna që nuk janë përdorur gjatë trajnimit dhe krahasimin e vlerave të tij të parashikuara me vlerat aktuale në të dhënat e testit.
Ky rishikim mund të ndihmojë në identifikimin e të metave të modelit, si p.sh. përshtatja e tepërt ose e pamjaftueshme, dhe mund të çojë në çdo akordim që mund të kërkohet.
Duke përdorur të dhënat e testimit, ne do të vlerësojmë korrektësinë e modelit tonë.
# 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)
Rezultati i saktësisë nuk është aq i keq për momentin. 🙂 Për të përmirësuar rezultatin tuaj të saktësisë, gjithmonë mund t'i pastroni më shumë të dhënat ose të provoni modele të ndryshme të mësimit të makinës për të parë se cili jep rezultatin më të lartë.
6. Rregulloni modelin
Nëse efikasiteti i modelit nuk është mjaftueshëm i mjaftueshëm, mund ta rregulloni atë duke ndryshuar parametra të ndryshëm të algoritmit ose duke eksperimentuar tërësisht me algoritme të reja.
Kjo procedurë mund të përfshijë eksperimentimin me normat alternative të të mësuarit, modifikimin e cilësimeve të rregullimit ose ndryshimin e numrit ose madhësisë së shtresave të fshehura në një rrjet nervor.
7. Përdorni modelin
Pasi të jeni të kënaqur me performancën e modelit, mund të filloni ta përdorni për të gjeneruar parashikime mbi të dhënat e reja.
Kjo mund të përfshijë futjen e të dhënave të reja në model dhe përdorimin e parametrave të mësuar të modelit për të gjeneruar parashikime mbi ato të dhëna, ose integrimin e modelit në një aplikacion ose sistem më të gjerë.
Ne mund të përdorim modelin tonë për të gjeneruar parashikime mbi të dhënat e reja pasi të jemi të kënaqur me saktësinë e tij. Mund të provoni vlera të ndryshme të gjinisë dhe moshës.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Mbylle
Ne kemi përfunduar trajnimin e modelit tonë të parë të mësimit të makinerive.
Shpresoj ta keni gjetur të dobishme. Tani mund të provoni të përdorni modele të ndryshme të mësimit të makinerive si Regresioni Linear ose Pylli i rastësishëm.
Ka shumë grupe të dhënash dhe sfida në Kaggle nëse dëshironi të përmirësoni kodimin dhe të kuptuarit e mësimit të makinerive.
Lini një Përgjigju