Kas soovite alustada masinõpe?
Olen loonud lihtsa ja lihtsa õpetuse täiesti algajatele. Koos käsitleme masinõppe mudeli koolitamise põhietappe.
Mudeli koolitamise etappe ükshaaval selgitades toon ka väga lihtsa näite masinõppe probleemist. Seega, kui soovite teksti jälgida, saate selle näidisandmekogumi siit alla laadida link.
See on vaid näidisandmekogum, mis aitab teil masinõppega alustada.
Meil on 18 erinevas vanuses ja soost inimeste väärtust, mille lemmikmuusika on määratletud. Kasutades tunnuseid “vanus” ja “sugu”, püüame ära arvata, milline muusikažanr on nende lemmik.
Märkus. 1 ja 0 on selles andmestikus määratud sugudele kui naistele ja meestele.
Kui aga eeskuju võtta ei taha, on see ka täiesti okei. Selgitan kõiki neid samme üksikasjalikult. Niisiis, sukeldume sisse!
Esimesed asjad, mida teada saada
Enne mudeli koolitamise etappide juurde asumist selgitame mõnda punkti. Masinõpe on tehisintellekti distsipliin, mis keskendub andmetest õppida võimaldavate algoritmide väljatöötamisele.
Selleks koolitatakse masinõppemudeleid andmestikul, mis õpetab mudelit tegema õigeid ennustusi või klassifikatsioonid värsketel, varem tundmatutel andmetel.
Niisiis, mis need mudelid on? A masinõppe mudel on sarnane retseptiga, mida arvuti kasutab andmete prognooside või valikute loomiseks.
Mudel, nagu retsept, järgib andmete hindamiseks ja andmetes leitud mustrite põhjal ennustuste või hinnangute loomiseks juhiseid. Mida rohkem andmeid mudelit koolitatakse, seda täpsemaks muutuvad selle prognoosid.
Milliseid mudeleid saame treenida?
Vaatame, millised on põhilised masinõppe mudelid.
- Lineaarne regressioon: mudel, mis ennustab pidevat sihtmuutujat ühest või mitmest sisendmuutujast.
- Närvivõrgud: lingitud sõlmede võrk, mis suudab õppida tuvastama andmete keerulisi mustreid.
- Otsustuspuud: otsustusviis, mis põhineb hargnevate kui-muidu väidete ahelal.
- Klasterdamine: mudelite kogum, mis rühmitab võrreldavad andmepunktid sarnasuse alusel.
- Logistiline regressioon: binaarsete klassifitseerimisprobleemide mudel, milles sihtmuutujal on kaks potentsiaalset väärtust.
- Otsustuspuud: otsustusviis, mis põhineb hargnevate kui-muidu väidete ahelal.
- Random Forest: paljudest otsustuspuudest koosnev ansamblimudel. Neid kasutatakse sageli klassifitseerimise ja regressioonirakenduste jaoks.
- K-lähimad naabrid: mudel, mis ennustab sihtmuutujat koolituskomplekti k-lähimate andmepunktide abil.
Sõltuvalt meie probleemist ja andmekogumist otsustame, milline masinõppemudel sobib meie olukorraga kõige paremini. Siiski tuleme selle juurde hiljem tagasi. Nüüd alustame oma mudeli treenimist. Loodan, et olete juba alla laadinud andmestik kui soovite meie eeskuju järgida.
Samuti soovitan omada Jupyteri sülearvuti installitud teie kohalikku masinasse ja kasutada seda oma masinõppeprojektide jaoks.
1: määratlege probleem
Esimene etapp sisse masinõppe treenimine mudel määratleb lahendatava probleemi. See hõlmab muutujate valimist, mida soovite prognoosida (tuntud kui sihtmuutuja) ja muutujaid, mida kasutatakse nende prognooside genereerimiseks (tuntud kui funktsioonid või ennustajad).
Samuti peaksite otsustama, millist masinõppeprobleemi proovite lahendada (klassifikatsioon, regressioon, rühmitamine jne) ja millist tüüpi andmeid peate oma mudeli koolitamiseks koguma või hankima.
Teie kasutatava mudeli tüüp sõltub masinõppeprobleemi tüübist, mida soovite lahendada. Klassifikatsioon, regressioon ja rühmitamine on kolm peamist kategooriat masinõppe väljakutsed. Kui soovite ennustada kategoorilist muutujat, näiteks seda, kas meil on rämpspost või mitte, kasutate klassifikatsiooni.
Kui soovite prognoosida pidevat muutujat, näiteks maja hinda, kasutate regressiooni. Klasterdamist kasutatakse võrreldavate andmeüksuste kokkupanemiseks nende ühiste joonte alusel.
Kui vaatame meie näidet; meie väljakutse on määrata kindlaks inimese eelistatud muusikastiil tema soo ja vanuse põhjal. Selle näite jaoks kasutame 18 inimese andmekogu ja teavet nende vanuse, soo ja lemmikmuusika stiili kohta.
2. Valmistage andmed ette
Pärast probleemi täpsustamist peate mudeli treenimiseks andmed ette valmistama. See hõlmab andmete puhastamist ja töötlemist. Et saaksime tagada, et see on vormingus, mis masinõppe algoritm saab kasutada.
See võib hõlmata selliseid tegevusi nagu puuduvate väärtuste kustutamine, kategooriliste andmete teisendamine arvandmeteks ja andmete skaleerimine või normaliseerimine, et kõik omadused oleksid samal skaalal.
Näiteks kustutate puuduvad väärtused järgmiselt.
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())
Väike märkus: real o "import pandas as pd",
impordime Pandase teegi ja omistame sellele varjunime "pd", et selle funktsioonidele ja objektidele oleks hiljem koodis lihtsam viidata.
Pandas on Pythoni jaoks hästi tuntud moodul andmete töötlemiseks ja analüüsimiseks, eriti struktureeritud või tabeliandmetega töötamisel.
Meie näites muusikažanrite määramisest. Esmalt impordime andmestiku. Panin sellele nimeks music.csv, kuid võite seda nimetada nii, nagu soovite.
Andmete ettevalmistamiseks masinõppemudeli treenimiseks jagasime need atribuutideks (vanus ja sugu) ja eesmärkideks (muusikažanr).
Lisaks jagame andmed 80:20 treening- ja testimiskomplektidesse, et hinnata meie mudeli toimivust ja vältida ülepaigutamist.
# 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. Valige masinõppemudel.
Pärast andmete ettevalmistamist peate valima teie ülesandele sobiva masinõppe mudeli.
Valida on mitme algoritmi vahel, näiteks otsustuspuud, logistiline regressioon, tugivektorimasinad, närvivõrgud ja muud. Teie valitud algoritmi määrab probleemi liik, millele proovite vastata, teie andmete tüüp ja teie jõudlusvajadused.
Selle näite puhul kasutame otsustuspuu klassifikaatorit, kuna töötame klassifikatsiooniprobleemiga (kategooriliste andmete ennustamine).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Siin on otsustuspuu klassifikaatori toimimise visualiseerimine:
4. Treeni modelli
Saate alustada mudeli treenimist, kui olete valinud vastuvõetava masinõppe algoritmi. See eeldab varem genereeritud andmete kasutamist, et õpetada algoritmi, kuidas teha ennustusi värskete, varem nähtamatute andmete põhjal.
Algoritm muudab treeningu ajal oma sisemisi parameetreid, et minimeerida erinevust selle prognoositud väärtuste ja treeningandmete tegelike väärtuste vahel. Treeninguks kasutatavate andmete hulk, aga ka algoritmi spetsiifilised parameetrid võivad kõik mõjutada saadud mudeli täpsust.
Meie konkreetse näite puhul saame nüüd, kui oleme meetodi kasuks otsustanud, oma mudelit koolitusandmetega treenida.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Hinnake mudelit
Pärast mudeli väljaõpetamist tuleb seda hinnata uute andmete põhjal, et tagada selle täpsus ja töökindlus. See hõlmab mudeli testimist andmetega, mida koolituse ajal ei kasutatud, ja selle prognoositud väärtuste võrdlemist testandmete tegelike väärtustega.
See ülevaade võib aidata tuvastada mis tahes mudeli vigu, nagu üle- või alasobitus, ning võib viia vajaliku peenhäälestamiseni.
Testimisandmete abil hindame oma mudeli õigsust.
# 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)
Täpsusskoor pole praegu nii hull. 🙂 Täpsusskoori parandamiseks võite alati andmeid rohkem puhastada või proovida erinevaid masinõppemudeleid, et näha, milline neist annab kõrgeima punktisumma.
6. Peenhäälestage mudel
Kui mudeli efektiivsus ei ole piisav, saate seda peenhäälestada, muutes erinevaid algoritmi parameetreid või katsetades täielikult uusi algoritme.
See protseduur võib hõlmata katsetamist alternatiivsete õppimiskiirustega, reguleerimisseadete muutmist või närvivõrgu peidetud kihtide arvu või suuruse muutmist.
7. Kasutage mudelit
Kui olete mudeli jõudlusega rahul, võite hakata seda kasutama uute andmete ennustuste loomiseks.
See võib hõlmata värskete andmete sisestamist mudelisse ja mudeli õpitud parameetrite kasutamist nende andmete ennustuste loomiseks või mudeli integreerimist laiemasse rakendusse või süsteemi.
Saame kasutada oma mudelit uute andmete ennustuste loomiseks pärast seda, kui oleme selle täpsusega rahul. Võite proovida erinevaid soo ja vanuse väärtusi.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Pakkima
Oleme lõpetanud oma esimese masinõppemudeli väljaõppe.
Loodan, et see on teile kasulik. Nüüd saate proovida kasutada erinevaid masinõppemudeleid, nagu lineaarne regressioon või juhuslik mets.
Andmekogumeid ja väljakutseid on palju Kaagutama kui soovite parandada oma kodeerimist ja masinõppest arusaamist.
Jäta vastus