Articles

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, akkormin_samples_splitegy 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 amin_samples_leaf minimális számot.

  • ha float, akkormin_samples_leafegy 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, akkormax_featuresegy 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)

aholNa minták teljes száma,N_ta Minták száma a az aktuális csomópont,N_t_La bal oldali gyermekben lévő minták száma,N_t_Ra megfelelő gyermekben lévő minták száma.

NN_tN_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_splitelavult 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. fitpredictdecision_path and apply are all parallelized over thetrees. None means 1 unless in a joblib.parallel_backendcontext. -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 rajzoljonX.shape mintákat.

  • Ha int, akkor rajzoljonmax_samples mintákat.

  • ha úszó, akkor rajzoljon max_samples * X.shape mintákat. Így amax_samplesintervallumban 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

DecisionTreeRegressorExtraTreesRegressor

Megjegyzések

a fák méretét szabályozó paraméterek alapértelmezett értékei(pl. max_depthmin_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_featureshelyett n_features / 3. Ez utóbbit eredetileg ben javasolták, míg az előbbit újabban empirikusan igazolták .

1

  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(X)

Apply trees in the forest to X, return leaf indices.

decision_path(X)

Return the decision path in the forest.

fit(X, y)

Build a forest of trees from the training set (X, y).

get_params()

Get parameters for this estimator.

predict(X)

Predict regression target for X.

score(X, y)

Return the coefficient of determination \(R^2\) of the prediction.

set_params(**params)

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_fitteda 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 scoreregresszor 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.

példák a sklearn használatával.együttes.RandomForestRegressor GmbH