Megosztás a következőn keresztül:


SMOTE

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.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

A szintetikus kisebbség-túlbélyegző használatával növeli az adatkészletben az alacsony incidensek példáinak számát

Kategória: Adatátalakítás /-manipuláció

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.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használhatja az SMOTE modult a Machine Learning Studio (klasszikus) alkalmazásában a gépi tanuláshoz használt adatkészletek alulreprezentált esetek számának növeléséhez. A SMOTE jobb módszer a ritka esetek számának növelésére, mint a meglévő esetek egyszerű megkétszerezése.

Az SMOTE modult kiegyensúlyozatlan adatkészlethez kell csatlakoztatni. Az adatkészletek kiegyensúlyozatlanságának számos oka lehet: a megcélzott kategória nagyon ritkán fordul elő a populációban, vagy az adatok egyszerűen nehezen gyűjthetőek össze. A SMOTE általában akkor használható, ha az elemezni kívánt osztály alul van ábrázolva.

A modul egy adatkészletet ad vissza, amely tartalmazza az eredeti mintákat, valamint további szintetikus kisebb mintákat a megadott százalékos aránytól függően.

További információ az SMOTE-ről

Az SMOTE a Synthetic Minority Oversampling Technique rövid rövid változata. Ez egy statisztikai technika, amely kiegyensúlyozottan növeli az adatkészletben az esetek számát. A modul úgy működik, hogy új példányokat hoz létre a bemeneti adatként megadott, meglévő kisebb esetekből. Az SMOTE ezen megvalósítása nem módosítja a többségi esetek számát.

Az új példányok nem csupán másolatai a meglévő kisebb eseteknek; Ehelyett az algoritmus mintákat vesz az egyes célosztályok és a legközelebbi szomszédai jellemzőterületeiből, és új példákat hoz létre, amelyek kombinálják a céleset jellemzőit a szomszédjaik jellemzőivel. Ez a megközelítés növeli az egyes osztályok számára elérhető funkciókat, és általánosabb mintákat tesz lehetővé.

A SMOTE a teljes adatkészletet bemenetként veszi fel, de csak a kisebb esetek százalékos arányát növeli. Tegyük fel például, hogy egy kiegyensúlyozatlan adatkészletben csak az esetek 1%-a az A célértéket (a kisebb osztályt), az esetek 99%-ának pedig a B értéket kell tartalmazni. Ha a kisebb esetek százalékos arányát az előző százalékos arány kétszeresére szeretné növelni, a modul tulajdonságaiban 200-as SMOTE-százalékos arányt kell megadnia.

Példák

Javasoljuk, hogy az SMOTE-t egy kis adatkészletben próbálja meg használni, hogy lássa, hogyan működik. Az alábbi példa a Machine Learning Studióban (klasszikus) elérhető Machine Learning használja.

Ha hozzáadja az adathalmazt egy kísérlethez, és a Vizualizáció elemre kattint az adathalmaz kimenetében, láthatja, hogy az adathalmaz 748 sora vagy esete között a 0. osztály 570 esete (76%) és az 1. osztály 178 esete (24%) van. Bár ez nincs kiegyensúlyozatlan, az 1. osztály azokat a személyeket jelöli, akik levérzik avért, és így ezek a sorok tartalmazzák a modellozni kívánt jellemzőterületet.

Az esetek számának növeléséhez a következőképpen állíthatja be az SMOTE százalékos értékét a 100 többszörösével:

0 osztály 1. osztály összesen
Eredeti adatkészlet

(egyenértékű az SMOTE százalékos értékének = 0)
570

76%
178

24%
748
SMOTE százalékos értéke = 100 570

62%
356

38%
926
SMOTE százalékos értéke = 200 570

52%
534

48%
1104
SMOTE százalékos értéke = 300 570

44%
712

56%
1282

Figyelmeztetés

Az esetek számának SMOTE használatával való növelése nem garantáltan pontosabb modelleket hoz létre. Érdemes különböző százalékokkal, különböző jellemzőkészletekkel és a legközelebbi szomszédok különböző számával kísérletezni, hogy lássa, hogyan befolyásolja az esetek hozzáadása a modellt.

Az SMOTE konfigurálása

  1. Adja hozzá az SMOTE modult a kísérlethez. A modult az Adatátalakítási modulok alatt, a manipuláció kategóriában találja.

  2. Csatlakozás a kiemelni kívánt adatkészletet. Ha meg szeretné adni az új esetek építéséhez szükséges jellemzőterületet, akár csak adott oszlopok használatával, akár egyes oszlopok kizárásával, az Adatkészlet oszlopainak kijelölése modullal különítse el a használni kívánt oszlopokat az SMOTE használata előtt.

    Ellenkező esetben az új esetek SMOTE használatával való létrehozása a bemenetként megadott összes oszlopon alapul.

  3. Győződjön meg arról, hogy a címkét tartalmazó oszlop vagy a célosztály ilyenként van megjelölve.

    Ha nincs címkeoszlop, a Metaadatok szerkesztése modullal jelölje ki az osztálycímkéket tartalmazó oszlopot, majd válassza a Címke lehetőséget a Mezők legördülő listából.

  4. Az SMOTE modul automatikusan azonosítja a kisebb osztályt a címkeoszlopban, majd lekért minden példát a kisebb osztályra.

  5. Az SMOTE percentage (SMOTE százalékos aránya) lehetőségnél írjon be egy egész számot, amely a kimeneti adatkészletben a kisebb esetek célarányát jelzi. Például:

    • A 0 (%) típust kell begépelni. Az SMOTE-modul pontosan ugyanazt az adatkészletet adja vissza, mint amit bemenetként adott meg, és nem ad hozzá új kisebb eseteket. Ebben az adatkészletben az osztály aránya nem változott.

    • A 100 (%) típust kell begépelni. Az SMOTE-modul új kisebb eseteket hoz létre, és az eredeti adatkészlethez hasonló számú kisebb esetet ad hozzá. Mivel az SMOTE nem növeli a többségi esetek számát, az egyes osztályok esetaránya megváltozott.

    • A 200 (%) típust kell begépelni. A modul megduplázza a kisebb esetek százalékos arányát az eredeti adatkészlethez képest. Ez nem eredményez kétszer annyi kisebb esetet, mint korábban. Az adatkészlet mérete úgy nő, hogy a többségi esetek száma azonos marad, a kisebb esetek száma pedig addig nő, amíg meg nem egyezik a kívánt százalékos értékkel.

    Megjegyzés

    A SMOTE százalékos értékeként csak a 100 többszörösét használja.

  6. A Legközelebbi szomszédok száma lehetőséggel meghatározhatja az SMOTE-algoritmus által az új esetek kiépítésekor használt jellemzőterület méretét. A legközelebbi szomszéd egy adatsor (eset), amely nagyon hasonlít bizonyos célesethez. A két eset távolságát az összes jellemző súlyozott vektorának kombinálásával mérjük.

    • A legközelebbi szomszédok számának növelésével további esetekből származó jellemzőket kap.
    • Ha alacsonyan tartja a legközelebbi szomszédokat, olyan jellemzőket használ, amelyek jobban hasonlóak az eredeti mintához.
  7. Írjon be egy értéket a Random seed (Véletlenszerű kezdőérték) szövegmezőbe, ha ugyanazt az eredményt szeretné biztosítani ugyanazon kísérlet futtatásakor, ugyanazokkal az adatokkal. Ellenkező esetben a modul véletlenszerű magot hoz létre a processzoróra értékei alapján a kísérlet üzembe helyezésekor, ami némileg eltérő eredményeket okozhat a futtatás során.

  8. Futtassa a kísérletet.

    A modul kimenete egy adatkészlet, amely az eredeti sorokat és néhány, kisebb eseteket tartalmazó hozzáadott sort tartalmaz.

Tipp

Ha meg szeretné tudni, hogy mely új sorokat adtak hozzá, használhatja az Átalakítás SQL vagy az Adatok illesztése modult.

Technikai megjegyzések

  • Az SMOTE modult használó modell közzétételekor távolítsa el az SMOTE-t a prediktív kísérletből, mielőtt az webszolgáltatásként közzé lenne téve. Ennek az az oka, hogy az SMOTE célja a modell fejlesztése a betanítás során, és nem pontozásra. Hibaüzenetet kap, ha egy közzétett prediktív kísérlet tartalmazza az SMOTE modult.

  • Gyakran jobb eredményeket kaphat, ha hiányzó értéktisztítást vagy más átalakításokat alkalmaz az adatok javítására az SMOTE alkalmazása előtt.

  • Egyes kutatók megvizsgálták, hogy az SMOTE hatékony-e a magas dimenziós vagy ritka adatokon, például a szövegbesorolásban vagy a genomics-adatkészletek esetén. Ez a tanulmány jól összefoglalja a SMOTE alkalmazásának hatásait és elméleti érvényességét az ilyen esetekben: Blayog és Lusa: SMOTE a nem kiegyenlített dimenziós adatokhoz

    Ha az SMOTE nem hatékony az adathalmazban, más megközelítések, amelyek a kisebb esetek vagy a többségi esetek túlbélyegzésének különböző módszereit is magukban foglalhatják, valamint olyan együttes technikákat, amelyek fürtözéssel, címkézéssel vagy adaptív növeléssel segítik a tanulót közvetlenül.

Várt bemenet

Név Típus Description
Példák Adattábla Minták adatkészlete

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
SMOTE százalékos értéke >=0 Egész szám 100 A túlsziampázás mennyisége a 100 többszörösében.
A legközelebbi szomszédok száma >=1 Egész szám 1 Azon legközelebbi szomszédok száma, amelyekből új esetek jellemzőit kell rajzolni
Véletlenszerű mag Bármelyik Egész szám 0 A véletlenszám-generátor kezdő magja

Kimenet

Név Típus Description
Tábla Adattábla Egy adattábla, amely az eredeti mintákat és további szintetikus kisebb osztálymintákat tartalmaz. Az új minták száma (smotePercent/100)*T, ahol T a kisebb osztályminták száma.

Lásd még

Minta és felosztás
A-Z modullista