sklearn.linear_model .SGDClassifier¶
Lineáris osztályozók (SVM, logisztikai regresszió stb.) SGD képzéssel.
Ez a becslő rendszerezett lineáris modelleket valósít meg sztochasztikus gradiens süllyedés (SGD) tanulással: a veszteség gradiensét minden egyes mintára becsülik egyenként, és a modellt folyamatosan csökkenő erősségű ütemezéssel (más néven tanulási arány) frissítik. Az SGD lehetővé teszi a minibatch (online/magon kívüli) tanulást a részleges_fit módszerrel. Az alapértelmezett tanulási arány ütemezésének használatával a legjobb eredmény elérése érdekében az adatoknak nulla átlagosnak és egységnyi szórással kell rendelkezniük.
Ez a megvalósítás olyan adatokkal működik, amelyeket sűrű vagy ritka lebegőpontos tömbökként ábrázolnak a szolgáltatásokhoz. A hozzá illő modell a veszteségparaméterrel szabályozható; alapértelmezés szerint illeszkedik egy lineáris támogatási vektor géphez (SVM).
A szabályozó a veszteségfüggvényhez hozzáadott büntetés, amely a modell paramétereit a nulla vektor felé zsugorítja, vagy az L2 négyzet alakú euklideszi normát, vagy az L1 abszolút normát, vagy mindkettő kombinációját felhasználva (Elastic Net). Ha a paraméterfrissítés a szabályozó miatt átlépi a 0,0 értéket, a frissítés 0,0-ra csonkolódik, hogy ritka modelleket tanulhasson és elérhesse az online szolgáltatásválasztást.
További információ a Felhasználói kézikönyvben .
Paraméterek veszteség str, alapértelmezett = ’csukló’
Az alkalmazandó veszteségfüggvény. Alapértelmezés szerint a „csukló”, amely lineáris SVM-et ad.
A lehetséges opciók a „csukló”, a „log”, a „módosított_huber”, a „squared_hinge”, a „perceptron” vagy a regressziós veszteség: „squared_loss”, „huber”, „epsilon_insensitive” vagy „squared_epsilon_insensitive”.
A „log” veszteség logisztikai regressziót, valószínűségi osztályozót ad. A ‘módosított_huber’ egy másik sima veszteség, amely toleranciát hoz a kiugró értékek mellett a valószínűség becsléseivel szemben is. A „squared_hinge” olyan, mint a zsanér, de kvadratikusan büntetik. ’Perceptron’ az a perceptron algoritmus által használt lineáris veszteség. A többi veszteséget regresszióra tervezték, de a besorolásban is hasznosak lehetnek; lásd az SGDRegressor leírását.
A veszteségképletekről további részletek a Felhasználói kézikönyvben találhatók .
Az alkalmazandó büntetés (más néven törvényesítési kifejezés). Alapértelmezés szerint az „l2”, amely a lineáris SVM modellek szokásos szabályozója. Az „l1” és a „elastnetnet” ritkaságot okozhat a modellben (funkcióválasztás), amely nem érhető el az „l2” használatával.
alfa úszó, alapértelmezett = 0,0001
Állandó, amely megsokszorozza a szabályosítási kifejezést. Minél magasabb az érték, annál erősebb a törvényszerűsítés. A tanulási arány kiszámításához is használatos, ha a learning_rate értékre van állítva „optimális”.
l1_ratio úszó, alapértelmezett = 0,15
Az Elastic Net keverési paraméter 0 büntetéssel a „elastnetnet”.
fit_intercept bool, alapértelmezett = True
Meg kell-e becsülni a lehallgatást vagy sem. Ha hamis, akkor feltételezzük, hogy az adatok már középre vannak állítva.
max_iter int, alapértelmezett = 1000
Az edzésadatokon (más néven korszakokon) való áthaladások maximális száma. Csak az illesztési mód viselkedését befolyásolja, és nem a részleges_fit metódust.
Új a 0.19-es verzióban.
A megállási kritérium. Ha nem None, akkor az edzés akkor áll le, amikor (loss> best_loss - tol) n_iter_no_change egymást követő korszakokban.
Új a 0.19-es verzióban.
Függetlenül attól, hogy az edzés adatait minden korszak után meg kell-e keverni.
bőbeszédű int, alapértelmezett = 0
A részletesség szintje.
epsilon úszó, alapértelmezett = 0,1
Epsilon az epsilon-érzéketlen veszteségfüggvényekben; csak akkor, ha a veszteség „huber”, „epsilon_insensitive” vagy „squared_epsilon_ensensitive”. A „huber” számára meghatározza azt a küszöböt, amelynél kevésbé lesz fontos, hogy pontosan jó előrejelzést kapjunk. Az epsilon-érzéketleneknél az aktuális előrejelzés és a megfelelő címke közötti különbségeket figyelmen kívül hagyják, ha azok ennél a küszöbnél kisebbek.
n_jobs int, alapértelmezett = Nincs
Az OVA (egy versus mind, több osztályos problémák esetén) számításhoz használandó CPU-k száma. A None jelentése 1, hacsak nem joblib.parallel_backend kontextusban. -1 az összes processzor használatát jelenti. További részletekért lásd a Szószedetet.
random_state int, RandomState példány, alapértelmezett = Nincs
Az adatok keverésére szolgál, ha a keverés értéke True. Többfunkciós híváson adja át az int a reprodukálható kimenetért. Lásd: Szószedet .
learning_rate str, alapértelmezett = ’optimális’
A tanulási arány ütemezése:
’Állandó’: eta = eta0
„Optimális”: eta = 1,0/(alfa * (t + t0)), ahol t0-t Leon Bottou által javasolt heurisztika választja.
„Méretezés”: eta = eta0/pow (t, power_t)
‘Adaptív’: eta = eta0, mindaddig, amíg a képzés folyamatosan csökken. Minden alkalommal, amikor az n_iter_no_change egymást követő korszakok nem képesek csökkenteni az edzésveszteséget tol-tal, vagy nem növelik az validációs pontszámot tol-val, ha a korai leállítás igaz, az aktuális tanulási arányt elosztjuk 5-tel.
Új a 0.20-as verzióban: Hozzáadva az „adaptív” opciót
A kezdeti tanulási arány az „állandó”, „átméretezés” vagy „adaptív” ütemtervekhez. Az alapértelmezett érték 0.0, mivel az eta0-t nem használja az alapértelmezett ütemezés „optimális”.
teljesítmény_t dupla, alapértelmezett = 0,5
Az inverz skálázási tanulási arány kitevője [alapértelmezett 0,5].
korai megállás bool, alapértelmezett = Hamis
Használja-e a korai leállást a képzés befejezéséhez, ha az érvényesítési pontszám nem javul. Ha True értékre állítja, akkor automatikusan elkülöníti az edzésadatok rétegzett részét validálásként, és befejezi az edzést, ha a pontszám módszerrel visszaadott validációs pontszám nem növekszik legalább tol-el az n_iter_no_change egymást követő korszakokban.
Új a 0.20-as verzióban: Hozzáadva a 'early_stopping' opciót
A korai leállításkor érvényesítésként elkülönítendő képzési adatok aránya. Csak 0 és 1 között kell lennie. Csak akkor használható, ha a korai állítás igaz.
Új a 0.20-as verzióban: Hozzáadva a „validation_fraction” opciót
Javítás nélküli iterációk száma, amelyre várni kell a korai leállítás előtt.
Új a 0.20-as verzióban: Hozzáadva az ‘n_iter_no_change’ opciót
A class_weight fit paraméter előre beállított értéke.
Az osztályokhoz tartozó súlyok. Ha nincs megadva, akkor minden osztálynak súlya van.
A „kiegyensúlyozott” mód az y értékeivel automatikusan beállítja a súlyokat fordítottan arányosan az osztály frekvenciáival a bemeneti adatokban, mint n_minták/(n_osztályok * np.bincount (y)). .
melegállomás bool, alapértelmezett = Hamis
Ha True értékre van állítva, használja újra az előző hívás megoldását inicializálásként, ellenkező esetben csak törölje az előző megoldást. Lásd a szószedetet .
Az fit vagy a részleges_fit ismételt meghívása, amikor a true melegindítás értéke True, más megoldást eredményezhet, mint amikor egyszerre hívja a fit az adatok keverésének módja miatt. Dinamikus tanulási arány alkalmazása esetén a tanulási sebességet a már látott minták számától függően adaptálják. Az fit hívása alaphelyzetbe állítja ezt a számlálót, míg a részleges_fit növeli a meglévő számlálót.
átlagos bool vagy int, alapértelmezett = Hamis
Ha True értékre van állítva, kiszámítja az összes frissítés átlagolt SGD súlyát, és az eredményt a coef_ attribútumban tárolja. Ha 1-nél nagyobb int értékre van állítva, akkor az átlagolás akkor kezdődik, amikor az összes látott minta száma eléri az átlagot. Tehát az átlag = 10 átlagolás 10 minta megtekintése után kezdődik.
Attribútumok coef_ ndarray alak (1, n_jellemzők), ha n_osztályok == 2 további (n_osztályok, n_jellemzők)
A jellemzőkhöz rendelt súlyok.
lehallgat ndarray az (1,) alakból, ha n_osztály = = 2 másik (n_ osztály,)
Állandóak a döntési funkcióban.
salétrom_ int
Az iterációk tényleges száma a leállítási kritérium elérése előtt. A többosztályos illesztéseknél ez a maximum minden bináris illesztésnél.
veszteség_funkció_ beton LossFunction osztályok_ alak tömb (n_classes,) t_ int
Az edzés során elvégzett súlyfrissítések száma. Ugyanaz, mint (n_iter_ * n_samples) .
Lineáris támogatási vektorok osztályozása.
Az SGDClassifier örökösei. A Perceptron () egyenértékű az SGDClassifierrel (veszteség = "perceptron", eta0 = 1, learning_rate = "konstans", büntetés = Nincs) .
Megjósolja a minták konfidencia pontszámát.
Konvertáló mátrix konvertálása sűrű tömb formátumra.
illeszkedés (X, y [, coef_init, intercept_init,…])
Fit lineáris modell sztochasztikus gradiens süllyedéssel.
Paraméterek beszerzése ehhez a becsléshez.
részleges_fit (X, y [, osztályok, minta_súly])
Végezzen el egy sztochasztikus gradiens süllyedést egy adott mintán.
Jósolja meg az X címkék mintáinak osztálycímkéit.
pontszám (X, y [, minta_súly])
Adja vissza az átlagos pontosságot a megadott vizsgálati adatokon és címkéken.
Állítsa be és érvényesítse a becslő paramétereit.
Az együttható mátrix konvertálása ritka formátumra.
Inicializálja önmagát. A pontos aláírásért lásd a súgót (type (self)).
Megjósolja a minták konfidencia pontszámát.
A minta konfidencia pontszáma a minta és a hipersík közötti előjeles távolság.
Paraméterek x tömbszerű vagy ritka mátrix, alakzat (n_minták, n_jellemzők)
Tömböt ad vissza, shape = (n_samples,), ha n_classes == 2 további (n_samples, n_classes)
Bizalmi pontszámok (minta, osztály) kombinációnként. Bináris esetben a self.classes_ [1] konfidencia pontszáma, ahol> 0 azt jelenti, hogy ezt az osztályt megjósolják.
Konvertáló mátrix konvertálása sűrű tömb formátumra.
A coef_ tagot (vissza) konvertálja numpy.ndarray fájlra. Ez a coef_ alapértelmezett formátuma, és szükséges az illesztéshez, ezért ezt a módszert csak azokon a modelleken kell megkövetelni, amelyeket korábban már szűkítettek; különben ez nem op.
fit (X, y, coef_init = Nincs, intercept_init = Nincs, minta_súly = Nincs) [forrás] ¶
Fit lineáris modell sztochasztikus gradiens süllyedéssel.
Paraméterek x, alak (n_minták, n_jellemzők)
y alak alakja (n_minták,)
coef_init ndarray of shape (n_osztályok, n_jellemzők), alapértelmezett = Nincs
A kezdeti együtthatók az optimalizálás meleg elindításához.
intercept_init ndarray of shape (n_classes,), alapértelmezett = Nincs
A kezdeti elfogás az optimalizálás meleg elindításához.
minta_súly tömbszerű, alakzat (n_minták,), alapértelmezett = Nincs
Az egyes mintákra alkalmazott súlyok. Ha nincs megadva, akkor egyenletes súlyokat feltételezünk. Ezeket a súlyokat meg kell szorozni a class_weight (a konstruktoron áthaladó) súlyokkal, ha az class_weight meg van adva.
Visszaadja az én példányát.
Paraméterek beszerzése ehhez a becsléshez.
Paraméterek mély bool, alapértelmezett = True
Ha True, akkor visszaadja ennek a becslésnek a paramétereit, és tartalmazott becsült objektumokat.
Visszatér params karakterlánc hozzárendelése bármelyikhez
Az értékeikhez rendelt paraméternevek.
részleges_fit (X, y, osztályok = Nincs, minta_súly = Nincs) [forrás] ¶
Végezzen el egy sztochasztikus gradiens süllyedést egy adott mintán.
Belsőleg ez a módszer max_iter = 1-et használ. Ezért nem garantált, hogy a költségfüggvény minimumát elérjük, miután egyszer meghívtuk. Az olyan kérdéseket, mint az objektív konvergencia és a korai leállítás, a felhasználónak kell kezelnie.
Paraméterek x, alak (n_minták, n_jellemzők)
A képzési adatok részhalmaza.
y alak alakja (n_minták,)
A célértékek részhalmaza.
osztályok ndarray of shape (n_classes,), alapértelmezett = Nincs
Osztályok az összes part_fit hívásra. Megtalálható az np.unique (y_all) útján, ahol y_all a teljes adatkészlet célvektora. Ez az argumentum szükséges a part_fit első hívásához, és a következő hívásokban elhagyható. Ne feledje, hogy y-nak nem kell az összes címkét tartalmaznia az osztályokban .
minta_súly tömbszerű, alakzat (n_minták,), alapértelmezett = Nincs
Az egyes mintákra alkalmazott súlyok. Ha nincs megadva, akkor egyenletes súlyokat feltételezünk.
Visszaadja az én példányát.
Jósolja meg az X címkék mintáinak osztálycímkéit.
Paraméterek x tömbszerű vagy ritka mátrix, alakzat (n_minták, n_jellemzők)
Visszatér C tömb, alak [n_minták]
Jósolt osztálycímke mintánként.
A valószínűségi becslések naplója.
Ez a módszer csak naplózási és módosított Huber-veszteség esetén érhető el.
Ha a veszteség = „módosított_huber”, akkor a valószínűségbecslések kemény nullák és nullák lehetnek, ezért a logaritmus felvétele nem lehetséges.
A részleteket lásd a pred_proba oldalon.
Paraméterek x alakú (n_minták, n_jellemzők)
Beviteli adatok az előrejelzéshez.
Visszatér T tömbszerű, alakzat (n_minták, n_osztályok)
Visszaadja a minta log-valószínûségét a modell minden osztályára, ahol az osztályok az önosztályukban vannak rendezve. .
Ez a módszer csak naplózási és módosított Huber-veszteség esetén érhető el.
A többosztályos valószínűségi becsléseket bináris (egy-pihenő) becslésből származtatják egyszerű normalizálással, Zadrozny és Elkan ajánlása szerint.
A veszteség = "módosított_huber" bináris valószínűségi becslését a (clip (döntés_funkció (X), -1, 1) + 1)/2. adja meg. Más veszteségfüggvényekhez megfelelő valószínűség-kalibrálást kell végezni úgy, hogy az osztályozót a sklearn-szel bepakoljuk. calibration.CalibratedClassifierCV helyett.
Paraméterek x, alak (n_minták, n_jellemzők)
Beviteli adatok az előrejelzéshez.
Az alakzat ndarray-jét adja vissza (n_minták, n_classes)
Visszaadja a minta valószínűségét a modell egyes osztályaihoz, ahol az osztályok az önosztályukban vannak rendezve. .
Zadrozny és Elkan, „Az osztályozó pontszámainak átalakítása többosztályos valószínűségi becslésekké”, SIGKDD’02, http://www.research.ibm.com/people/z/zadrozny/kdd2002-Transf.pdf
A veszteség = ”módosított_huber” esetben a képlet indoklása a B. függelékben található: http://jmlr.csail.mit.edu/papers/volume2/zhang02c/zhang02c.pdf
Adja vissza az átlagos pontosságot a megadott vizsgálati adatokon és címkéken.
Többcímkés besorolásnál ez az részhalmaz pontossága, amely kemény mutató, mivel minden mintához megköveteli, hogy minden címkekészletet pontosan megjósoljon.
Paraméterek x tömbszerű alakú (n_minták, n_jellemzők)
y tömbszerű alakú (n_minták,) vagy (n_minták, n_kimenetek)
Igaz címkék X-hez.
minta_súly tömbszerű alakú (n_minták,), alapértelmezett = Nincs
Visszatér pontszám úszó
Az önpredikció (X) Wrt átlagos pontossága. y.
Állítsa be és érvényesítse a becslő paramétereit.
Paraméterek ** kwargs diktálja
Visszatér maga tárgy
Az együttható mátrix konvertálása ritka formátumra.
A coef_ tagot konvertálja scipy.sparse mátrixgá, amely az L1-re szabályozott modelleknél sokkal memória- és tárolási hatékonyságú lehet, mint a szokásos numpy.ndarray reprezentáció.
Az elfogó_ tag nem konvertálva.
A nem ritka modelleknél, vagyis amikor a coef_-ben nincs sok nulla, ez valóban növelheti a memóriahasználatot, ezért óvatosan használja ezt a módszert. Alapszabály, hogy a (coef_ == 0) .sum () értékkel kiszámítható nulla elemnek több mint 50% -nak kell lennie ahhoz, hogy ez jelentős előnyöket biztosítson.
Miután meghívta ezt a módszert, a részleges_fit metódussal való további illesztés (ha van ilyen) addig nem fog működni, amíg meg nem hívja a densify parancsot.
- BiOmega - kérdezze meg a tudósokat
- 22 egyszerű mediterrán diéta recept kezdőknek
- Ashley; s Rendkívüli fogyás S02E04; Ashley ByeByeBellyBlog
- BIONIKUS FÉRFI - SEXTABLÉKOK FÉRFIAKHOZ - NÖVELIK AZ ENERGIAT ÉS A TARTÓSÁGOT - TERMÉSZETES
- A Duphastonról - 2 éve házas, súlya 88, Minden teszt Practo Consult