Viltu byrja með vél nám?
Ég hef búið til einfalt og auðvelt kennsluefni fyrir algjöra byrjendur. Saman munum við fara yfir grunnskrefin við að þjálfa vélanámslíkan.
Þó að ég útskýri skrefin við að þjálfa líkan eitt í einu, mun ég líka gefa mjög undirstöðu dæmi um vélanámsvandamál. Svo ef þú vilt fylgjast með geturðu halað niður þessu sýnishornsgagnasetti úr þessu tengjast.
Þetta er bara sýnishorn gagnasafns til að hjálpa þér að byrja með vélanám.
Við höfum 18 gildi fólks á mismunandi aldri og kynjum sem hafa uppáhalds tónlistina sína skilgreinda. Með því að nota eiginleikana „aldur“ og „kyn“ munum við reyna að giska á hvaða tónlistartegund er í uppáhaldi hjá þeim.
Athugið: 1 og 0 eru úthlutað kynjum sem kvenkyns og karlkyns í þessu gagnasafni.
Hins vegar, ef þú vilt ekki fylgja dæminu, þá er það líka fullkomlega í lagi. Ég mun útskýra öll þessi skref í smáatriðum. Svo, við skulum kafa inn!
Fyrstu hlutir sem þarf að vita
Áður en farið er í skrefin við að þjálfa líkan skulum við skýra nokkur atriði. Vélnám er an gervigreind fræðigrein sem leggur áherslu á að þróa reiknirit sem geta lært af gögnum.
Til að gera þetta eru vélanámslíkön þjálfuð á gagnasafni sem kennir líkaninu hvernig á að gera réttar spár eða flokkun á ferskum, áður óþekktum gögnum.
Svo, hverjar eru þessar gerðir? A vélanáms líkan er svipað uppskrift sem tölva notar til að búa til gagnaspár eða val.
Líkan, eins og uppskrift, fylgir setti af leiðbeiningum til að meta gögn og búa til spár eða dóma byggðar á mynstrum sem finnast í gögnunum. Því fleiri gögnum sem líkanið er þjálfað á, því nákvæmari verða spár þess.
Hvers konar módel getum við þjálfað?
Við skulum sjá hver eru helstu vélanámslíkönin.
- Línuleg aðhvarf: líkan sem spáir fyrir um samfellda markbreytu út frá einni eða fleiri inntaksbreytum.
- Taugakerfi: net tengdra hnúta sem geta lært að greina flókin mynstur í gögnum.
- Ákvörðunartré: ákvarðanatökuaðferð byggð á keðju af greinandi ef-annas staðhæfingum.
- Clustering: safn líkana sem flokka sambærilega gagnapunkta byggða á líkt.
- Logistic Regression: líkan fyrir tvíundarflokkunarvandamál þar sem markbreytan hefur tvö möguleg gildi.
- Ákvörðunartré: ákvarðanatökuaðferð byggð á keðju af greinandi ef-annas staðhæfingum.
- Random Forest: Ensemble líkan sem samanstendur af fjölmörgum ákvörðunartrjám. Þau eru oft notuð fyrir flokkunar- og aðhvarfsforrit.
- K-Nearest Neighbors: líkan sem spáir fyrir um markbreytuna með því að nota k-næstu gagnapunkta í þjálfunarsettinu.
Það fer eftir vandamálum okkar og gagnasafni, við ákveðum hvaða vélanámslíkan passar best við aðstæður okkar. Samt munum við koma aftur að þessu síðar. Nú skulum við byrja að þjálfa líkanið okkar. Ég vona að þú hafir þegar hlaðið niður gagnapakkinn ef þú vilt fylgja fordæmi okkar.
Einnig mæli ég með að hafa Jupyter minnisbók sett upp á staðbundinni vél og notað hana fyrir vélanámsverkefnin þín.
1: Skilgreindu vandamálið
Fyrsti áfangi í þjálfun vélanáms líkanið er að skilgreina vandamálið sem á að leysa. Þetta felur í sér að velja breyturnar sem þú vilt spá (þekkt sem markbreytan) og breyturnar sem verða notaðar til að búa til þessar spár (þekkt sem eiginleikar eða spár).
Þú ættir líka að ákveða hvers konar vélanámsvandamál þú ert að reyna að takast á við (flokkun, aðhvarf, þyrping, og svo framvegis) og hvers konar gögn þú þarft að safna eða fá til að þjálfa líkanið þitt.
Tegund líkansins sem þú notar verður ákvörðuð af tegund vélanámsvandamála sem þú ætlar að leysa. Flokkun, aðhvarf og þyrping eru þrír aðalflokkar vélrænni áskoranir. Þegar þú vilt spá fyrir um flokkabreytu, eins og hvort tölvupóstur sé ruslpóstur eða ekki, notarðu flokkun.
Þegar þú vilt spá fyrir um samfellda breytu, eins og verð á húsi, notarðu aðhvarf. Þyrping er notuð til að setja saman sambærilega gagnaliði út frá sameiginlegum eiginleikum þeirra.
Ef við skoðum dæmið okkar; Áskorunin okkar er að ákvarða hvaða tónlistarstíl einstaklings vill út frá kyni og aldri. Við munum nota gagnasafn með 18 manns fyrir þetta dæmi og upplýsingar um aldur þeirra, kyn og uppáhalds tónlistarstíl.
2. Undirbúðu gögnin
Eftir að þú hefur tilgreint vandamálið þarftu að undirbúa gögnin fyrir þjálfun líkansins. Þetta felur í sér hreinsun og úrvinnslu gagna. Svo að við getum tryggt að það sé í sniði sem vélfræðinám reiknirit getur notað.
Þetta gæti falið í sér aðgerðir eins og að eyða gildum sem vantar, umbreyta flokkuðum gögnum í töluleg gögn og skala eða staðla gögnin til að tryggja að allir eiginleikar séu á sama mælikvarða.
Til dæmis, þetta er hvernig þú eyðir gildum sem vantar:
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())
Smá athugasemd: Í línunni o “import pandas as pd",
við flytjum inn Pandas bókasafnið og úthlutum því undirnafninu „pd“ til að gera það auðveldara að vísa til aðgerða þess og hluta síðar í kóðanum.
Pandas er vel þekkt eining fyrir Python fyrir gagnavinnslu og greiningu, sérstaklega þegar unnið er með skipulögð gögn eða töfluform.
Í dæmi okkar um að ákvarða tónlistarstefnur. Við munum fyrst flytja inn gagnasafnið. Ég hef nefnt það music.csv, þú getur hins vegar nefnt það eins og þú vilt.
Til að undirbúa gögnin fyrir þjálfun vélnámslíkans skiptum við þeim í eiginleika (aldur og kyn) og markmið (tónlistartegund).
Við munum að auki skipta gögnunum í 80:20 þjálfunar- og prófunarsett til að meta frammistöðu líkansins okkar og forðast offitun.
# 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. Veldu vélanámslíkan.
Eftir að þú hefur undirbúið gögnin verður þú að velja vélanámslíkan sem hentar þínu verkefni.
Það eru nokkrir reiknirit til að velja úr, svo sem ákvörðunartré, flutningsaðhvarf, stuðnings vektorvélar, taugakerfi og fleira. Reikniritið sem þú velur ræðst af því hvers konar vandamál þú ert að reyna að svara, tegund gagna sem þú hefur og frammistöðuþörf þína.
Við munum nota ákvarðanatrésflokkara fyrir þetta dæmi vegna þess að við erum að vinna með flokkunarvandamál (spá fyrir flokkunargögn).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Hér er mynd af því hvernig ákvörðunartrésflokkarinn virkar:
4. Þjálfa líkanið
Þú getur byrjað að þjálfa líkanið þegar þú hefur valið viðunandi reiknirit fyrir vélanám. Þetta felur í sér að nota áður mynduð gögn til að fræða reikniritið um hvernig eigi að spá fyrir um fersk, áður óséð gögn.
Reikniritið mun breyta innri breytum sínum meðan á þjálfun stendur til að lágmarka muninn á spágildum þess og raunverulegum gildum í þjálfunargögnunum. Magn gagna sem notað er til þjálfunar, sem og sérstakar breytur reikniritsins, geta öll haft áhrif á nákvæmni líkansins sem myndast.
Í tilteknu dæmi okkar, nú þegar við höfum ákveðið aðferð, getum við þjálfað líkanið okkar með þjálfunargögnunum.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Metið líkanið
Eftir að líkanið hefur verið þjálfað verður að meta það á nýjum gögnum til að tryggja að það sé nákvæmt og áreiðanlegt. Þetta felur í sér að prófa líkanið með gögnum sem voru ekki notuð við þjálfun og bera saman áætluð gildi þess við raunveruleg gildi í prófunargögnunum.
Þessi endurskoðun getur aðstoðað við að bera kennsl á hvers kyns galla, svo sem offitting eða vanfitting, og getur leitt til hvers kyns fínstillingar sem gæti þurft.
Með því að nota prófunargögnin munum við meta réttmæti líkansins okkar.
# 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)
Nákvæmnistigið er ekki svo slæmt í bili. 🙂 Til að bæta nákvæmnisstigið þitt geturðu alltaf hreinsað gögnin meira eða prófað mismunandi vélanámslíkön til að sjá hver gefur hæstu einkunnina.
6. Fínstilltu líkanið
Ef skilvirkni líkansins er ekki nægjanleg, geturðu fínstillt það með því að breyta ýmsum reikniritbreytum eða með því að gera algjörlega tilraunir með nýja reiknirit.
Þessi aðferð getur falið í sér að gera tilraunir með aðra námshraða, breyta reglustillingum eða breyta fjölda eða stærð falinna laga í taugakerfi.
7. Notaðu líkanið
Þegar þú ert ánægður með frammistöðu líkansins geturðu byrjað að nota það til að búa til spár um ný gögn.
Þetta gæti falið í sér að fæða ný gögn inn í líkanið og nýta lærðar færibreytur líkansins til að búa til spár um þessi gögn, eða samþætta líkanið í víðtækara forrit eða kerfi.
Við getum notað líkanið okkar til að búa til spár um ný gögn eftir að við erum ánægð með nákvæmni þeirra. Þú getur prófað mismunandi gildi um kyn og aldur.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
vefja upp
Við höfum lokið við að þjálfa fyrsta vélanámslíkanið okkar.
Ég vona að þér hafi fundist það gagnlegt. Þú getur nú prófað að nota mismunandi vélanámslíkön eins og Línuleg aðhvarf eða Random Forest.
Það eru mörg gagnasöfn og áskoranir í Kaggle ef þú vilt bæta kóðun þína og skilning á vélanámi.
Skildu eftir skilaboð