Az első gépi tanulási osztályozó elkészítése a Pythonban



Ez a cikk segít egy gépi tanulási osztályozó felépítésében a Pythonban a Scratchből. Ezenkívül részletes ismereteket ad az osztályozásról.

a mostani hívószó. Hihetetlen dolgok készülnek a gépi tanulás segítségével. Attól, hogy mi vagyunk személyi asszisztens , a mi döntésünkre utazási útvonalak , segítünk vásárolni, segítünk vállalkozásunk működtetésében, gondozásában Egészség és Jólét, a gépi tanulás olyan alapvető szinteken épül be a mindennapi létünkbe, hogy legtöbbször észre sem vesszük, hogy erre támaszkodunk. Ebben a cikkben egy kezdő megközelítést fogunk követni a gépi tanulás szabványos osztályozójának Pythonban történő megvalósításához.

A gépi tanulás áttekintése

A gépi tanulás olyan fogalom, amely lehetővé teszi a gép számára, hogy tanuljon példákból és tapasztalatokból, és ezt is anélkül, hogy kifejezetten programoznák. Tehát ahelyett, hogy megírná a kódot, az az, hogy adatokat tölt be az általános algoritmusba, és az algoritmus / gép a megadott adatok alapján építi fel a logikát.





Gépi tanulás osztályozó

A gépi tanulás magában foglalja a gépek azon képességét, hogy döntéseket hozzanak, értékeljék cselekedeteik eredményét és javítsák viselkedésüket, hogy egymás után jobb eredményeket érjenek el.



A tanulási folyamat három fő módon zajlik

mi a hashmap és a hashtable a java-ban
  • Felügyelt tanulás
  • Felügyelet nélküli tanulás
  • Megerősítő tanulás

Sablon a gépi tanulás osztályozóihoz

A gépi tanulási eszközök meglehetősen kényelmesen elérhetők a scikit-learn névre keresztelt Python könyvtárban, amelyek elérése és alkalmazása nagyon egyszerű.



Telepítse a scikit-learn parancsot a parancssor segítségével:

pip install -U scikit-learn

Ha Ön anaconda felhasználó, akkor az anaconda parancssorban a következőket használhatja:

conda telepíteni scikit-tanulni

A telepítéshez meg kell előzetesen telepíteni a NumPy és SciPy csomagokat a rendszerre.

Előfeldolgozás: A gépi tanuláson alapuló adatelemzés első és legszükségesebb lépése az előfeldolgozás. Az adatok helyes ábrázolása és tisztítása elengedhetetlen ahhoz, hogy az ML modell jól képezhesse és teljesítse a lehetőségeit.

1. lépés - Importálja a szükséges könyvtárakat

import numpy as np import pandák as pd import matplotlib.pyplot as plt

2. lépés - Importálja az adatkészletet

adatkészlet = pd.read_csv ()

Ezután felosztjuk az adatkészletet független és függő változókra. A független változók a bemeneti adatok, a függő változók pedig a kimeneti adatok.

X = adatkészlet.iloc []. Értékek y = adatkészlet.iloc []. Értékek

3. lépés - Kezelje a hiányzó adatokat

Az adatkészlet üres vagy null értékeket tartalmazhat, ami hibákat okozhat eredményeinkben. Ezért foglalkoznunk kell az ilyen bejegyzésekkel. Általános gyakorlat, hogy a null értékeket egy közös értékre cseréljük, például az átlag vagy az adott oszlop leggyakoribb értékére.

az sklearn.procrocinging importból

4. lépés - A kategorikus változók konvertálása numerikus változókká

from sklearn.preprocessing import LabelEncoder le_X = LabelEncoder () X [] = le_X.fit_transform (X []) labelencoder_y = LabelEncoder () y = labelencoder_y.fit_transform (y)

Most, a kódolás után előfordulhat, hogy a gép a numerikus adatokat rangsorként veszi fel a kódolt oszlopok számára. Így az egyenlő súly érdekében a számokat egy forró vektorokká kell konvertálnunk, a OneHotEncoder osztály használatával.

from sklearn.preprocessing importálás OneHotEncoder oneHE = OneHotEncoder (kategorikus_jellemzők = []) X = oneHE.fit_transform (X). toarray ()

5. lépés - Végezzen méretezést

Ez a lépés a változók eltérõ skáláiból adódó eltérések kezelésére szolgál. Ennélfogva mindet ugyanarra a tartományra skálázzuk, hogy egyenlő súlyt kapjanak, miközben a modellbe beviszik őket. Erre a célra a StandardScaler osztály objektumát használjuk.

a sklearn.preprocessing importálásból StandardScaler sc_X = StandardScaler () X = sc_X.fit_transform (X)

6. lépés - Ossza fel az adatkészletet képzési és tesztelési adatokra

hogyan lehet bezárni egy programot a java-ban

Az előfeldolgozás utolsó lépéseként az adatkészletet fel kell osztani egy képzési és tesztkészletre. A vonat-teszt felosztás standard aránya 75% -25%. Módosíthatjuk a követelményeknek megfelelően. A train_test_split () függvény ezt megteheti helyettünk.

from sklearn.model_selection vonat_teszt_split importálása X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0,25)

Modellépület: Ez a lépés valójában nagyon egyszerű. Miután eldöntöttük, melyik modellt alkalmazzuk az adatokon, létrehozhatunk egy objektumot a hozzá tartozó osztályból, és illeszthetjük az objektumot a képzési halmazunkra, az X_train-t bemenetnek, az y_train-t pedig kimenetnek tekintve.

a sklearn-től. import osztályozó = () osztályozó.fit (X_train, y_train)

A modell már kiképzett és kész. Most már alkalmazhatjuk modellünket a tesztkészletre, és megtalálhatjuk az előrejelzett kimenetet.

y_pred = osztályozó.predict (X_test)

Eredmények megtekintése: Az osztályozó teljesítményét a pontosság, a pontosság, a visszahívás és az f1-pont paraméterei alapján értékelhetjük. Ezek az értékek az osztályozás_jelentés () néven ismert módszerrel láthatók. A t úgy is felfogható, mint egy zavarodási mátrix, amely segít megtudni, hogy melyik adatkategória közül hányat osztályoztak helyesen.

from sklearn.metrics importálja a zavart_mátrix cm = a zavart_mátrixot (y_test, y_pred) nyomtatja (cm)

Gépi tanulási osztályozó probléma

A nagyon népszerű és egyszerű Iris adatkészletet használjuk, amely a virágok méreteit 3 ​​kategóriában tartalmazza - Iris-setosa, Iris-versicolor és Iris-virginica. 150 bejegyzés található az adatkészletben.

# A könyvtárak importálása importáljon numpy-t np-be import matplotlib.pyplot plt-import pandákként, mint pd # Adatkészlet importálása dataset = pd.read_csv ('iris.csv')

Nézzük meg most az adatkészletet.

dataset.head ()

4 független változónk van (az Id kivételével), nevezetesen az 1-4. Oszlopszámok, és az 5. oszlop a függő változó. Tehát különválaszthatjuk őket.

X = adatkészlet.iloc [:, 1: 5] .értékek y = adatkészlet.iloc [:, 5] .értékek

Most fel tudjuk osztani az adatkészletet képzésre és tesztelésre.

# Az adatkészlet felosztása az oktatási halmazba és a tesztkészletbe a sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0,25)

Most Logisztikai regresszió osztályozót alkalmazunk az adatkészletre.

# A modell felépítése és kiképzése a sklearn.linear_model importból a LogisticRegression osztályozóból = LogisticRegression () classier.fit (X_train, y_train) # A tesztkészlet eredményeinek előrejelzése y_pred = luokoló.predict (X_test)

Az utolsó lépés a képzett modell teljesítményének elemzése lesz.

# A zavartsági mátrix készítése a sklearn.metrics fájlból a confusion_matrix importálása = = confusion_matrix (y_test, y_pred) print (cm)

Ez azt mutatja, hogy az első kategória 13, a második 11 és a harmadik kategória 9 bejegyzését jósolta meg a modell.

# Pontosság, pontosság, visszahívás és f1-pontszám előállítása a sklearn.metrics fájlból. )

A jelentés bemutatja a modell pontosságát, visszahívását, f1-pontszámát és pontosságát a tesztkészletünkön, amely 38 bejegyzésből áll (az adatkészlet 25% -a).

Gratulálunk, sikeresen létrehozta és megvalósította első gépi tanulási osztályozóját a Pythonban! Alapos ismeretek szerzéséhez A különféle alkalmazásokkal együtt 24/7 támogatással és élethosszig tartó hozzáféréssel regisztrálhat élő Python online képzésre.