sklearn.együttes.RandomForestRegressor GmbH
class sklearn.ensemble.
RandomForestRegressor
(n_estimators=100, *, criterion=’mse’, max_depth=nincs, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’Auto’, max_leaf_nodes=nincs, min_impurity_decrease=0.0, min_impurity_split=nincs, Bootstrap=true, oob_score=hamis, n_jobs=nincs, random_state=nincs, verbose=0, warm_start=hamis, Ccp_alpha=0.0, max_samples=nincs)!
véletlenszerű erdőregesszor.
a random forest egy meta becslő, amely illeszkedik számos classifyingdecision fák különböző al-minták az adathalmaz és használ averaging, hogy javítsa a prediktív pontosság és ellenőrzés over-illesztés.A részminta méretét a max_samples
paraméter vezérli, habootstrap=True
(alapértelmezett), ellenkező esetben a teljes adatkészlet a buildeach fa.
További információ a Felhasználói útmutatóban.
paraméterek n_estimatorsint, default=100
az erdőben lévő fák száma.
megváltozott verzió 0.22: A n_estimators
alapértelmezett értéke 10-ről 100-ra változott 0,22-ben.
kritérium {“mse”,”mae”}, default= ” mse “
a felosztás minőségének mérésére szolgáló függvény. A támogatott kritériumokaz” mse “az átlagos négyzetes hibára, amely megegyezik a variancereduction mint jellemző kiválasztási kritériummal, a” Mae ” pedig a meanabsolute hibára.
új verzió 0.18: átlagos abszolút hiba (Mae) kritérium.
max_depthint, default=None
a fa maximális mélysége. Ha nincs, akkor a csomópontok addig bővülnek, amíg az összes levél tiszta, vagy amíg az összes levél kevesebb mint min_samples_split mintát tartalmaz.
min_samples_splitint vagy float, default=2
a belső csomópont felosztásához szükséges minták minimális száma:
-
Ha int, akkor vegye figyelembe a
min_samples_split
minimális számot. -
ha float, akkor
min_samples_split
egy frakció ésceil(min_samples_split * n_samples)
a minták minimális száma az egyes felosztásokhoz.
változott verzió 0.18: hozzáadott float értékek frakciók.
min_samples_leafint vagy float, default=1
a levélcsomóponthoz szükséges minták minimális száma.A hasadási pont bármely mélységben csak akkor vehető figyelembe, ha legalább min_samples_leaf
képzési mintákat hagy a bal és a jobb ágak mindegyikében. Ennek hatása lehet a modell simítására, különösen regresszióban.
-
Ha int, akkor fontolja meg a
min_samples_leaf
minimális számot. -
ha float, akkor
min_samples_leaf
egy frakció ésceil(min_samples_leaf * n_samples)
az egyes csomópontokhoz tartozó minták minimális száma.
változott verzió 0.18: hozzáadott float értékek frakciók.
min_weight_fraction_leaffloat, default=0.0
a levélcsomóponthoz szükséges összes súly (az összes bemeneti minta) összegének minimális súlyozott hányada. A mintáknak vanegyenlő súly, ha a sample_weight nincs megadva.
max_features {“auto”, “sqrt”,”log2″}, int vagy float, default=”auto”
a legjobb felosztás keresésekor figyelembe veendő funkciók száma:
-
Ha int, akkor fontolja meg a
max_features
funkciókat minden felosztásnál. -
ha float, akkor
max_features
egy frakció, ésround(max_features * n_features)
a funkciókat minden egyes felosztásnál figyelembe vesszük. -
Ha “auto”, akkor
max_features=n_features
. -
Ha “sqrt”, akkor
max_features=sqrt(n_features)
. -
Ha “log2”, akkor
max_features=log2(n_features)
. -
Ha nincs, akkor
max_features=n_features
.
Megjegyzés: a felosztás keresése nem áll le, amíg legalább egyet nem talála csomópontminták valid partíciója megtalálható, még akkor is, ha a max_features
funkcióknál többet kell hatékonyan ellenőrizni.
max_leaf_nodesint, default=None
fák termesztésemax_leaf_nodes
a legjobb módon.A legjobb csomópontokat a szennyeződés relatív csökkenéseként határozzák meg.Ha nincs, akkor korlátlan számú levélcsomópont.
min_impurity_decreasefloat, default=0.0
egy csomópont fel lesz osztva, ha ez a felosztás az impuritygreater csökkenését eredményezi, mint ez az érték.
a súlyozott szennyeződéscsökkentési egyenlet a következő:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
aholN
a minták teljes száma,N_t
a Minták száma a az aktuális csomópont,N_t_L
a bal oldali gyermekben lévő minták száma,N_t_R
a megfelelő gyermekben lévő minták száma.
N
N_t
N_t_R
and N_t_L
mind a súlyozott összegre vonatkoznak,ha sample_weight
kerül átadásra.
új verzió 0.19.
min_impurity_splitfloat, default=nincs
a fa növekedésének korai leállításának küszöbértéke. Egy csomópont lesz splitha szennyeződése a küszöb felett van, különben levél.
elavult a 0.19-es verzió óta: min_impurity_split
elavult amin_impurity_decrease
javára 0.19. Amin_impurity_split
alapértelmezett értéke 1E-7-ről 0-ra változott 0.23-ban, és az 1.0-ban eltávolításra kerül (0.25 átnevezése).Használja helyette a min_impurity_decrease
parancsot.
bootstrapbool, default=True
hogy bootstrap mintákat használnak-e fák építésekor. Ha hamis, akkor az egész adatkészletet használják az egyes fák felépítéséhez.
oob_scorebool, default=False
használjunk-e zsákon kívüli mintákat az R^2 becsléséhez láthatatlan adatokon.
n_jobsint, default=None
a párhuzamosan futtatandó feladatok száma. fit
predict
decision_path
and apply
are all parallelized over thetrees. None
means 1 unless in a joblib.parallel_backend
context. -1
means using all processors. See Glossary for more details.
random_stateint, RandomState instance vagy None, default=None
szabályozza mind a fák építésekor használt minták bootstrappingjének véletlenszerűségét (ifbootstrap=True
), mind az egyes csomópontoknál a legjobb felosztás keresésekor figyelembe veendő jellemzők mintavételezését(ifmax_features < n_features
).Lásd szószedet a részletekért.
verboseint, default=0
szabályozza a bőbeszédűséget illesztéskor és előrejelzéskor.
warm_startbool, default=False
ha True
értékre van állítva, használja újra az előző hívás megoldását, hogy fitand adjon hozzá további becslőket az együtteshez, különben csak egy egész új erdőt illesszen be. Lásd a szószedet.
ccp_alphanon-negatív float, default=0.0
komplexitás paraméter használt minimális költség-komplexitás metszés. Thesubtree a legnagyobb költség komplexitás, amely kisebb, mintccp_alpha
kerül kiválasztásra. Alapértelmezés szerint nem történik metszés. Látszólagos költség-komplexitás metszés a részletekért.
új verzió 0.22.
max_samplesint vagy float, default=None
Ha a bootstrap igaz ,akkor az X-ből levonandó Minták száma az egyes alapbecslők kiképzéséhez.
-
Ha nincs (alapértelmezett), akkor rajzoljon
X.shape
mintákat. -
Ha int, akkor rajzoljon
max_samples
mintákat. -
ha úszó, akkor rajzoljon
max_samples * X.shape
mintákat. Így amax_samples
intervallumban kell lennie(0, 1)
.
új verzió 0.22.
attribútumok base_estimator_DecisionTreeRegressor
a gyermek becslő sablon létrehozásához használt gyűjteménye fittedsub-becslés.
estimators_list of DecisionTreeRegressor
Az illesztett albecslők gyűjteménye.
feature_importances_
ndarray of shape (n_features,)
a szennyeződésen alapuló funkció fontos.
n_features_int
a funkciók száma, amikor fit
végrehajtásra kerül.
n_outputs_int
a kimenetek száma, amikor fit
végrehajtásra kerül.
oob_score_float
a képzési adatkészlet pontszáma, amelyet zsákon kívüli becslés segítségével kaptunk.Ez az attribútum csak akkor létezik, ha a oob_score
igaz.
oob_prediction_ndarray of shape (n_samples,)
predikció számított out-of-bag becslés a képzési készlet.Ez az attribútum csak akkor létezik, ha a oob_score
igaz.
Lásd még
DecisionTreeRegressor
ExtraTreesRegressor
Megjegyzések
a fák méretét szabályozó paraméterek alapértelmezett értékei(pl. max_depth
min_samples_leaf
stb.) teljesen kifejlett andunpruned fákhoz vezet, amelyek potenciálisan nagyon nagyok lehetnek egyes adathalmazokban. A memóriafelhasználás csökkentése érdekében a fák összetettségét és méretét e paraméterértékek beállításával kell ellenőrizni.
a funkciók mindig véletlenszerűen permutált minden osztott. Ezért a legjobban talált felosztás változhat, még ugyanazokkal a képzési adatokkal is,max_features=n_features
és bootstrap=False
, ha a kritérium javulása azonos a legjobb felosztás keresése során felsorolt több felosztásnál. A determinisztikus viselkedés elérése érdekébenszerelés,random_state
rögzíteni kell.
Az alapértelmezett érték max_features="auto"
a n_features
helyett n_features / 3
. Ez utóbbit eredetileg ben javasolták, míg az előbbit újabban empirikusan igazolták .
1
-
Breiman, “véletlenszerű erdők”, Gépi tanulás, 45(1), 5-32, 2001.
2
P. Geurts, D. Ernst., L. Wehenkel, “rendkívül randomizedtrees”, Gépi tanulás, 63(1), 3-42, 2006.
Examples
>>> from sklearn.ensemble import RandomForestRegressor>>> from sklearn.datasets import make_regression>>> X, y = make_regression(n_features=4, n_informative=2,... random_state=0, shuffle=False)>>> regr = RandomForestRegressor(max_depth=2, random_state=0)>>> regr.fit(X, y)RandomForestRegressor(...)>>> print(regr.predict(]))
Methods
|
Apply trees in the forest to X, return leaf indices. |
|
Return the decision path in the forest. |
|
Build a forest of trees from the training set (X, y). |
|
Get parameters for this estimator. |
|
Predict regression target for X. |
|
Return the coefficient of determination \(R^2\) of the prediction. |
|
Set the parameters of this estimator. |
apply
(X)
alkalmazza az erdőben lévő fákat X-re, visszaadja a levélindexeket.
paraméterek X{tömbszerű, ritka mátrix} alakzat (n_samples, n_features)
a bemeneti minták. Belsőleg a dtype átalakításra kerüldtype=np.float32
. Ha ritka mátrix van megadva, akkor ez leszegy ritka csr_matrix
.
visszaadja X_leavesndarray alakú (n_samples, n_estimators)
minden adatpont x X és minden fa az erdőben, vissza az index a levél x végül.
decision_path
(X) GmbH
adja vissza a döntési útvonalat az erdőben.
új verzió 0.18.
paraméterek X{tömbszerű, ritka mátrix} alakzat (n_samples, n_features)
a bemeneti minták. Belsőleg a dtype átalakításra kerüldtype=np.float32
. Ha ritka mátrix van megadva, akkor ez leszegy ritka csr_matrix
.
visszatér indicatorsparse mátrix alakja (n_samples, n_nodes)
vissza egy csomópont mutató mátrix, ahol nem nulla elemek jelzi, hogy a minták megy keresztül a csomópontok. A mátrix Csrformátumú.
n_nodes_ptrndarray alakú (n_estimators + 1,)
az oszlopok indicator:n_nodes_ptr]adja meg a mutató értéke az i-edik becslő.
propertyfeature_importances_
ons
a szennyeződésen alapuló funkció fontos.
minél magasabb, annál fontosabb a funkció.A tulajdonság fontosságát az adott tulajdonság által előidézett kritérium (normalizált)teljes redukciójaként számítják ki. Ez is ismert, mint a Gini fontosságát.
figyelem: a szennyeződésen alapuló funkcióimportok félrevezetőek lehetnek a magas kardinalitású funkciók (Sok egyedi érték) számára. Lásdsklearn.inspection.permutation_importance
alternatívaként.
visszaadja feature_importances_ndarray of shape (n_features,)
ennek a tömbnek az értékei összege 1, kivéve, ha az összes fa egyetlen csomópontfa, amely csak a gyökércsomópontból áll, ebben az esetben nullák anarray lesz.
fit
(X, y, sample_weight=None) 6
építs egy erdőt a képzési készletből (X, y).
paraméterek X{tömbszerű, ritka mátrix} alakzat (n_samples, n_features)
a képzési bemeneti minták. Belsőleg a dtype átalakításra kerül dtype=np.float32
. Ha ritka mátrix van megadva, akkor ez leszegy ritka csc_matrix
.
yarray-szerű alak (n_samples,) vagy (n_samples, n_outputs)
a célértékek (osztály címkék osztályozás, valós számok inregression).
sample_weightarray-szerű alak (n_samples,), alapértelmezett = Nincs
Minta súlyok. Ha nincs, akkor a mintákat egyformán súlyozzák. Splitsthat létrehozna gyermek csomópontok nettó nulla vagy negatív súly areignored miközben keres egy osztott minden csomópontban. Abban az esetben, osztályozás, a hasadásokat akkor is figyelmen kívül hagyják, ha azok azt eredményeznék, hogy bármelyik osztály negatív súlyt hordoz bármelyik gyermekcsomópontban.
visszaadja selfobjectget_params
(deep=True) 6
paraméterek beolvasása ehhez a becslőhöz.
paraméterek deepbool, default = True
Ha True, visszaadja a paramétereket a becslő andcontained alobjektumok, amelyek becslések.
Paramsdict
Paraméterneveket ad vissza az értékeikhez.
predict
(X) ons
regressziós cél előrejelzése X-re.
a bemeneti minta előre jelzett regressziós célját az erdő fáinak themean előre jelzett regressziós céljaként számítják ki.
paraméterek X{tömbszerű, ritka mátrix} alakzat (n_samples, n_features)
a bemeneti minták. Belsőleg a dtype átalakításra kerüldtype=np.float32
. Ha ritka mátrix van megadva, akkor ez leszegy ritka csr_matrix
.
visszaadja yndarray alakja (n_samples,) vagy (n_samples, n_outputs)
az előre jelzett értékeket.
score
(X, y, sample_weight=None) a prediction \(R^2\) együtthatóját adja vissza.
A \(R^2\) együttható meghatározása: \((1 – \frac{u}{v})\),ahol \(u\) a négyzetek maradék összege ((y_true - y_pred)** 2).sum()
és \(v\) a négyzetek teljes összege ((y_true -y_true.mean()) ** 2).sum()
. A lehető legjobb pontszám 1,0 ésnegatív lehet (mert a modell önkényesen rosszabb lehet). Az aconstant modell, amely mindig megjósolja a y
várható értékét, figyelmen kívül hagyva a bemeneti funkciókat, \(R^2\) pontszámot kap 0,0.
paraméterek Xarray-szerű alak (n_samples, n_features)
vizsgálati minták. Néhány becslő esetében ez lehet egy előre kiszámított kernel mátrix vagy általános objektumok listája a következő alakzattal:(n_samples, n_samples_fitted)
, ahol n_samples_fitted
a becslő illesztésében használt minták száma.
yarray-szerű alak (n_samples,) vagy (n_samples, n_outputs)
igaz értékek X
.
sample_weightarray-szerű alak (n_samples,), alapértelmezett = Nincs
Minta súlyok.
visszaadja scorefloat
\(R^2\) a self.predict(X)
wrt. y
.
Megjegyzések
a score
regresszor hívásakor használt\ (R^2\) pontszám amultioutput='uniform_average'
a 0.23-as verziótól kezdve konzisztens marada r2_score
alapértelmezett értékével.Ez befolyásolja ascore
metódust az összes multioutputrepressor esetében (kivéve aMultiOutputRegressor
).
set_params
(**params) 6
állítsa be ennek a becslőnek a paramétereit.
a módszer egyszerű becslőkön, valamint beágyazott objektumokon működik(például Pipeline
). Ez utóbbiak <component>__<parameter>
formátumú paraméterekkel rendelkeznek, így lehetséges egy beágyazott objektum minden összetevőjének frissítése.
paraméterek * * paramsdict
becslő paraméterek.
visszaadja selfestimator például
becslő például.