Gressor; scikit-learn

Model liniar adaptat prin minimizarea unei pierderi empirice regularizate cu SGD

adăugat opțiunea

SGD înseamnă Stochastic Gradient Descent: gradientul pierderii este estimat la fiecare eșantion la un moment dat și modelul este actualizat pe parcurs cu un program de rezistență descrescător (alias rata de învățare).

Regulatorul este o penalizare adăugată funcției de pierdere care micșorează parametrii modelului către vectorul zero folosind fie norma euclidiană pătrată L2, fie norma absolută L1 sau o combinație a ambelor (Elastic Net). Dacă actualizarea parametrului depășește valoarea 0,0 din cauza regulatorului, actualizarea este trunchiată la 0,0 pentru a permite învățarea modelelor rare și pentru a obține selectarea caracteristicilor online.

Această implementare funcționează cu date reprezentate ca matrice numpy dense de valori în virgulă mobilă pentru caracteristici.

Citiți mai multe în Ghidul utilizatorului .

Parametrii pierderi str, implicit = ‘squared_loss’

Funcția de pierdere care trebuie utilizată. Valorile posibile sunt „squared_loss”, „huber”, „epsilon_insensitive” sau „squared_epsilon_insensitive”

„Squared_loss” se referă la cele mai mici pătrate obișnuite. „Huber” modifică „squared_loss” pentru a se concentra mai puțin pe obținerea corectă a valorilor aberante trecând de la pierderea pătrată la cea liniară pe o distanță de epsilon. „Epsilon_insensitive” ignoră erorile mai puțin decât epsilon și este trecut liniar; aceasta este funcția de pierdere utilizată în SVR. „Squared_epsilon_insensitive” este același, dar devine o pierdere pătrată după o toleranță de epsilon.

Mai multe detalii despre formulele de pierdere pot fi găsite în Ghidul utilizatorului .

Pedeapsa (cunoscut și ca termen de regularizare) care va fi utilizat. Valoarea implicită este „l2”, care este regulatorul standard pentru modelele SVM liniare. „L1” și „elasticnet” ar putea aduce raritatea modelului (selectarea caracteristicilor) care nu poate fi realizată cu „l2”.

alfa float, implicit = 0,0001

Constantă care înmulțește termenul de regularizare. Cu cât valoarea este mai mare, cu atât regularizarea este mai puternică. De asemenea, este utilizat pentru a calcula rata de învățare atunci când este setat la learning_rate este setat la „optim”.

l1_ratio float, implicit = 0,15

Parametrul de amestecare a rețelei elastice, cu 0 penalizare este „elasticnet”.

fit_intercept bool, implicit = Adevărat

Dacă interceptarea ar trebui estimată sau nu. Dacă este falsă, se presupune că datele sunt deja centrate.

max_iter int, implicit = 1000

Numărul maxim de treceri peste datele de antrenament (aka epoci). Are impact doar asupra comportamentului în metoda de potrivire și nu în metoda partial_fit.

Nou în versiunea 0.19.

Criteriul de oprire. Dacă nu este Niciuna, antrenamentul se va opri când (pierdere> cel mai bun_loss - tol) pentru n_iter_no_change epoci consecutive.

Nou în versiunea 0.19.

Dacă datele de antrenament trebuie sau nu amestecate după fiecare epocă.

detaliat int, implicit = 0

Nivelul de verbozitate.