Mivel a jelenlegi adathalmaz elég kicsinek mondható, így nem olyan egyszerű olyan kísérletet összeállítani ami hozza az elvárt precizitást, megbízható eredményt szolgáltat (fontos néhány alkalmazás tekintetében, hogy a felhasználó mit kap vissza válaszként), ugyanakkor nagy mértékben csökkenti a magolás bekövetkezését. Ezért megnézzük a tanulás eredményét abban az esetben, ha az adatokat egy kicsit felturbózzuk (mármint példányszámban).
Tag Archives: ml
Komponensek sebességtesztje
Ma egy kicsit utánanéztem a Studio sebességének: néhány modult megírtam R-ben, majd lemértem, hogy melyik mennyi idő alatt fut le.
Szöveg és képfeldolgozás gépi tanulással
Ezidáig csak olyan adathalmazokat használtunk, amikben lebegőpontos/egész számok, binárisok, osztálycímkék voltak. Most próbáljunk ki valami mást!
Klaszterezés a Studioban
Az előző posztomban foglalkoztam a klaszterezéssel általában, most nézzük meg, hogy konkrétan milyen lehetőségünk van erre a Studioban.
Jelenleg mindössze egyetlen egy megoldás áll rendelkezésünkre, méghozzá egy centroid alapú, a k-means (k-közép) algoritmus. Ez ugye központi vektorokkal választja el egymástól a klasztereket. n megfigyelést k klaszterbe partícionál az átlaguk alapján, ezáltal Voronoj-cellákat hoz létre. Iteratív algoritmus, optimalizálást hajt végre. Ez egy NP-nehéz probléma, amit jelenlegi tudásunk (és technológiánk) szerint nem tudunk megoldani belátható idő alatt, még szuperszámítógépekkel sem. Azonban léteznek heurisztikus algoritmusok, amik elég hamar konvergálnak a lokális optimumhoz. Ezek használatával gyorsan elérhetjük a kívánt eredményt.
Birthmarks data #5 – training
Az anyajegyek adatait tartalmazó adathalmazunk első körben készen áll arra, hogy felhasználjuk tanulásra. Elkészítettem pár osztályozó algoritmus modelljét, amiket majd összehasonlítási alapként fogok használni a további finomhangolás és egyebek után. A folyamat végén majd valamikor végül a legjobban működő modellt fogjuk kiválasztani, amiből elkészül a web service.
Birthmarks data #4 – normalization
Az előző bejegyzésben eljutottam addig, hogy megvan a tisztán csak feature selection modul által javasolt feature listám. Ez rendben is van. Ebben a bejegyzésben viszont egy kis kitérőt fogok tenni, amiben csak annyit szeretnék elvégezni, hogy a rendelkezésre álló adatokat normalizáljuk (elsősorban azért, mert mint említettem egy kis utána olvasás után és nálam komolyabban a témához értő emberek iránymutatása azt az eredményt adta nekem, hogy a leginkább célravezető feature selection method ilyen esetben az a mutual information, amihez – és egyébként is – jobb a normalizált adathalmaz).
Birthmarks data #3 – feature selection
Miután az adatainkat rendeztük, szétvágtuk, alakítottuk, kezdhetjük a megfelelő Feature halmaz meghatározását. Mint már tudjuk, ehhez maga az Azure is számos megoldást kínál, de csinálhatjuk ezt manuálisan is (ha tudunk valami olyat amit a gép nem 😀 ). Tehát az anyajegyek adathalmazunkban jelenleg mik lesznek a meghatározó feature elemek, amelyeket az osztályozáshoz fogunk használni?
Birthmarks data #2 – separation
Az előző postban eljutottam addig, hogy az adatokat kicsit módosítottam és a több osztályos tanulásból kétosztályos tanulást csináltam. Most ismét a későbbi könnyebb munka és egy kicsit az eredmények javítása céljából tovább bontottam az adathalmazt. Azaz teljesen különálló adathalmazt hoztam létre a tanuló és a teszt adatoknak. Ez azt jelenti, hogy mind a BENING és a MALIGNANT halmazból véletlenszerűen kiválasztottam 5 db sort tesztadatnak.
Birthmarks data #1 – preparing data
Itt az ideje, hogy valós adatokon egy teljesen új kísérletet állítsunk össze, nem kimondottan a környezet, a rendszer vagy a lehetőségek megismerése céljából, hanem sokkal inkább az eddigi ismeretek felhasználva valami egészet alkotni. Kaptam egy adathalmazt amelyben x számú ember (mind férfi és nő) adatai szerepelnek olyan anyajegyekről amelyekről el kell dönteni, hogy nem problémás, gyanús vagy gondot okozó darab.
AML Feature Selection – Permutation Feature Importance
Feature Selection – a gépi tanuláson belül és statisztikában azt a folyamatot jelenti, amivel meghatározhatunk releváns, hasznos feature részhalmazt az analitikai modell megalkotásához. Segít meghatározni a hasznos inputok egy szűk keresztmetszetét, csökkenti a zajt és fejleszti a képzés hatékonyságát.