Adatátalakítás – Tanulás számokkal
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Ez a cikk a Machine Learning Studio (klasszikus) azon moduljait ismerteti, amelyek támogatják a számalapú tipikusítást.
Megjegyzés
A következőkre vonatkozik: Machine Learning Studio (klasszikus)
Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.
Tanulás a darabszámmal való számolás hatékony módja az adathalmaz-funkciók tömör készletének létrehozásához, amelyek az értékek számán alapulnak. Az ebben a kategóriában található modulokkal szám- és funkciókészletet állíthat össze. Később frissítheti a darabszámokat és a funkciókat, hogy kihasználja az új adatokat, vagy egyesíthet két számlálási adatkészletet.
A számláláson alapuló featurizálás
A darabszám-alapú lecsatolás alapötlete az, hogy a darabszámok kiszámításával gyorsan és egyszerűen összegzést kaphat arról, hogy mely oszlopok tartalmazzák a legfontosabb információkat. A modul megszámolja, hogy hányszor jelenik meg egy érték, majd ezt az információt funkcióként adja meg a modell bemeneteként.
Imagine, hogy hitelkártya-tranzakciót érvényesít. Fontos információ, hogy honnan érkezett ez a tranzakció. A tranzakciós forrás egyik leggyakoribb kódolása az irányítószám. Azonban akár 40 000 irányítószámot, irányítószámot és földrajzi kódot is figyelembe kell venni. Rendelkezik a modell 40 000 további paraméter megtanulható kapacitással? Ha ezt a kapacitást adja meg, van elegendő betanításadata ahhoz, hogy megakadályozza a túlilledését?
Ha jó adatokkal és sok mintával, az ilyen részletes helyi részletesség hatékony lehet. Ha azonban csak egy mintája van egy csaló tranzakcióból, egy kis helyről, az azt jelenti, hogy az adott helyről származó összes tranzakció rossz, vagy nem rendelkezik elegendő adatgal?
Az egyik megoldás a számokkal való tanulás. 40 000 további funkció bevezetése helyett minden irányítószámnál megfigyelheti a csalások számát és arányát. Ha ezeket a darabszámokat funkciókként használja, információt kap az egyes értékekhez szükséges bizonyítékok erősségével kapcsolatban. Emellett a számlálók releváns statisztikáinak kódolása alapján a tanuló a statisztikák segítségével eldöntheti, hogy mikor változtassa meg a megközelítést, és ehelyett más funkciókat használhat az információk lekérte.
A számalapú tanulás számos okból vonzó. A számalapú tanulással kevesebb jellemzővel rendelkezik, amelyekhez kevesebb paraméterre van szükség. Kevesebb paraméter teszi lehetővé a gyorsabb tanulást, a gyorsabb előrejelzést, a kisebb előrejelzőket és a túlilledés kisebb lehetőségeit.
Számalapú funkciók létrehozása
Egy alapszintű példa segíthet a számalapú funkciók létrehozási és alkalmazásának szemléltető példáiban. Tegyük fel, hogy az alábbi táblázat látható, címkékkel és bemenetekkel. Minden eset (vagy sor vagy minta) egy értékkészletet tartalmaz az oszlopokban. Ebben a példában az értékek A és B.
Feliratoszlop | Bemeneti érték |
---|---|
0 | A |
0 | A |
1 | A |
0 | B |
1 | B |
1 | B |
1 | B |
Számalapú funkciók létrehozásához a következő lépéseket kell tennie:
- Egy adott értékkészlet esetén keresse meg az adathalmazban található összes olyan esetet, amelyek értéke megegyezik. Ebben az esetben az A három példánya és négy B példánya van.
- Az egyes értékek osztálytagságának megszámlálása funkcióként. Ebben az esetben egy kis mátrixot kap: két esetben A = 0; egy eset, ahol A = 1; egy eset, ahol a B = 0; és három eset, ahol a B = 1.
- Ezen mátrix alapján számos számalapú funkciót kap. Ezek közé tartozik a naplók esélyarányának és az egyes célosztályok darabszámának kiszámítása. A következő szakaszban található táblázat az adatokat jeleníti meg.
Mintatábla a számláláson alapuló funkciókról
Címke | 0_0_Class000_Count | 0_0_Class001_Count | 0_0_Class000_LogOdds | 0_0_IsBackoff |
---|---|---|---|---|
0 | 2 | 1 | 0.510826 | 0 |
0 | 2 | 1 | 0.510826 | 0 |
1 | 2 | 1 | 0.510826 | 0 |
0 | 1 | 3 | -0.8473 | 0 |
1 | 1 | 3 | -0.8473 | 0 |
1 | 1 | 3 | -0.8473 | 0 |
1 | 1 | 3 | -0.8473 | 0 |
Példák
A Use Machine Learning to build clickthrough prediction models (Átkattintási előrejelzési modellek összeállítása az Machine Learning használatával) témakörben a Microsoft Machine Learning csapata részletesen bemutatja, hogyan használhatja a darabszámokat a gépi tanulásban. A cikk összehasonlítja a számalapú modellezés és más módszerek hatékonyságát.
Technikai megjegyzések
Ez a szakasz az implementáció részleteit, tippeket és válaszokat tartalmazza a gyakori kérdésekre.
A naplóvesztési érték kiszámításának módja
A naplóvesztés értéke nem az egyszerű naplók esélye. Ebben az esetben a korábbi disztribúciót a naplók valószínűségi számításának simítására használjuk.
Tegyük fel, hogy van egy bináris besorolásra használt adatkészlete. Ebben az adatkészletben a 0 p_0
osztály korábbi gyakorisága , az 1 p_1 = 1 – p_0
osztály korábbi gyakorisága pedig . Egy adott betanítás-példa funkcióhoz a 0 x_0
osztály száma , az 1 osztály száma pedig x_1
.
Ezen feltételezések alapján a naplók esélyét a következőként számítjuk ki: LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)
, c
ahol a az előző együttható, amelyet a felhasználó állíthat be. A log függvény a természetes bázist használja.
Más szóval minden osztályhoz i
:
Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))
Ha az előző együttható pozitív, a naplók valószínűsége eltérő lehet a -től Log(count[i] / (sum_of_counts – count[i]))
.
Egyes elemeknél miért nem számítható ki a naplók valószínűsége?
Alapértelmezés szerint a rendszer a 10-esnél kisebb darabszámú elemeket egyetlen gyűjtőben, úgynevezett "szemétgyűjtőben" gyűjti össze. Ezt az értéket a Táblaparaméterek darabszámának módosítása modul Garbage bin threshold (Szemétgyűjtő küszöbértéke) beállításával módosíthatja .
Modulok listája
A Tanulás kategória a következő modulokat tartalmazza:
- Számláló átalakítása: Számtáblát és számlálásalapú szolgáltatásokat hoz létre egy adatkészletből, majd átalakításként menti a táblát és a funkciókat.
- Export Count Table: Egy darabszámtáblát exportál egy számlálási átalakításból. Ez a modul támogatja a visszamenőleges kompatibilitást olyan kísérletekkel, amelyek számalapú funkciókat hoznak létre a Build Count Table (elavult) és a Count Featurizer (elavult) használatával.
- Import Count Table: Importál egy meglévő darabszámtáblát. Ez a modul támogatja a visszamenőleges kompatibilitást olyan kísérletekkel, amelyek számalapú funkciókat hoznak létre a Build Count Table (elavult) és a Count Featurizer (elavult) használatával. A modul támogatja a számlálási táblák átalakítását az átalakítások megszámlálása érdekében.
- Egyesítési szám átalakítása: Számalapú funkciók két készletét egyesíti.
- Darabszámtábla paramétereinek módosítása: Módosítja a meglévő darabszámtáblákból származtatott számalapú funkciókat.