Articles

sklearn.soubor.RandomForestRegressor¶

třída sklearn.ensemble.RandomForestRegressor(n_estimators=100, *, kritérium=’uživatelé‘, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto‘, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, ccp_alpha=0.0, max_samples=None)¶

random forest regressor.

náhodný les je meta odhad, který se hodí řada classifyingdecision stromy na různých sub-vzorky dataset a používá averagingto zlepšit prediktivní přesnost a kontrolu nad přiléhající.Sub-velikost vzorku je řízen s max_samples parametrbootstrap=True (default), jinak celý dataset se používá k buildeach strom.

Přečtěte si více v uživatelské příručce.

parametry n_estimatorsint, default=100

počet stromů v lese.

změněno ve verzi 0.22: Výchozí hodnota n_estimators se změnila z 10 na 100V 0.22.

kritérium {„mse“,“ mae“}, default= “ mse „

funkce pro měření kvality rozdělení. Podporovaná kritériajsou “ mse „pro střední kvadratickou chybu, která se rovná variancereduction jako kritérium výběru funkce, a“ mae “ pro průměrnou chybu.

novinka ve verzi 0.18: Střední kritérium absolutní chyby (MAE).

max_depthint, default=None

maximální hloubka stromu. Pokud žádný, pak uzly jsou rozšířeny, dokud nevšechny listy jsou čisté nebo dokud všechny listy obsahují méně nežmin_samples_split vzorky.

min_samples_splitint nebo float, default=2

minimální počet vzorků nutné rozdělit vnitřní uzel:

  • v Případě, int, pak zváží min_samples_split jako minimální počet.

  • Pokud se plavat, pak min_samples_split, je zlomek aceil(min_samples_split * n_samples) jsou minimální počet vzorků pro každý split.

změněno ve verzi 0.18: přidány plovákové hodnoty pro zlomky.

min_samples_leafint nebo float, default=1

minimální počet vzorků, které musí být v uzlu listu.Dělící bod v jakékoli hloubce, budou zohledněny pouze, pokud opustí aspoň min_samples_leaf školení vzorků v každém z levé andright větve. To může mít za následek vyhlazení modelu, zejména v regresi.

  • Pokud int, pak zvažte min_samples_leaf jako minimální číslo.

  • Pokud se plavat, pak min_samples_leaf, je zlomek aceil(min_samples_leaf * n_samples) jsou minimální počet vzorků pro každý uzel.

změněno ve verzi 0.18: přidány plovákové hodnoty pro zlomky.

min_weight_fraction_leaffloat, default=0.0

minimální vážený zlomek součtu hmotností (všech vstupních vzorků), které musí být v uzlu listu. Vzorky mají stejnou hmotnost, pokud sample_weight není k dispozici.

max_features{„auto“, „sqrt“, „log2″}, int nebo float, default=“auto“

počet funkcí, aby zvážila, když hledáte nejlepší rozdělit:

  • v Případě, int, pak zváží max_features prvky na každé rozdělení.

  • Pokud se plavat, pak max_features, je zlomek around(max_features * n_features) prvky jsou považovány za eachsplit.

  • Pokud „auto“, pak max_features=n_features.

  • Pokud „sqrt“, pak max_features=sqrt(n_features).

  • Pokud „log2“, pak max_features=log2(n_features).

  • Pokud není, pak max_features=n_features.

Poznámka: hledání split nezastaví, dokud alespoň onevalid oddíl uzlu vzorků je našel, i když to vyžaduje toeffectively prohlédnout více než max_features prvky.

max_leaf_nodesint, default=None

pěstovat stromy s max_leaf_nodes v nejlepším-první módy.Nejlepší uzly jsou definovány jako relativní snížení nečistot.Pokud žádný, pak neomezený počet uzlů listů.

min_impurity_decreasefloat, default=0.0

uzel bude rozdělen, pokud toto rozdělení způsobí snížení impuritygreater než nebo rovno této hodnotě.

vážené nečistoty pokles rovnice je následující:

N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)

kde N je celkový počet vzorků, N_t je číslo ofsamples na aktuální uzel, N_t_L je počet vzorků v levém dítě, a N_t_R je počet vzorků, v právo dítěte.

NN_tN_t_RN_t_L všichni se odkazují na váženého součtu,je-li sample_weight je předán.

novinka ve verzi 0.19.

min_impurity_splitfloat, default=None

práh pro včasné zastavení růstu stromů. Uzel se rozdělípokud je jeho nečistota nad prahem, jinak je to list.

zastaralé od verze 0.19: min_impurity_split bylo zastaralé ve prospěchmin_impurity_decrease v 0.19. Výchozí hodnotamin_impurity_split změnil od 1e-7 0 v o 0,23 a bude odstraněn v 1.0 (přejmenování 0,25).Místo toho použijte min_impurity_decrease.

bootstrapbool, default=True

zda se bootstrap vzorky používají při stavbě stromů. Pokud je nepravdivý, použije se celá datová sada pro sestavení každého stromu.

oob_scorebool, default=False

zda použít out-of-bag vzorky k odhadu R^2 na neviditelných datech.

n_jobsint, default=None

počet úloh, které mají být spuštěny paralelně. 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 stupně nebo Žádný, default=None

Ovládací prvky obou náhodnosti bootstrapping vzorků usedwhen budovy, stromy (pokud bootstrap=True) a odběr vzorků z thefeatures, aby zvážila, když hledáte nejlepší rozdělit na každém uzlu(je-li max_features < n_features).Viz Glosář podrobnosti.

verboseint, default=0

řídí upovídanost při montáži a předpovídání.

warm_startbool, default=False

Při nastavení na True, použít řešení z předchozí volání k fitand přidat další odhady do souboru, jinak, jen se vešly wholenew lesa. Viz Glosář.

ccp_alphanon-negativní float, default=0.0

parametr složitosti použitý pro minimální náklady-složitost prořezávání. Bude vybrán subtree s největší složitostí nákladů, která je menší nežccp_alpha. Ve výchozím nastavení se neprovádí žádné prořezávání. SeeMinimal náklady složitost prořezávání podrobnosti.

novinka ve verzi 0.22.

max_samplesint nebo float, default=None

Pokud bootstrap je Pravda, počet vzorků, čerpat z Xto vlak každou základní odhad.

  • Pokud není (výchozí), nakresleteX.shape vzorky.

  • Pokud int, pak nakreslete max_samples vzorky.

  • Pokud float, pak nakreslete max_samples * X.shape vzorky. max_samples by tedy měl být v intervalu (0, 1).

novinka ve verzi 0.22.

Atributy base_estimator_DecisionTreeRegressor

dítě odhad šablonu používá k vytvoření kolekce fittedsub-odhady.

estimators_list of DecisionTreeRegressor

kolekce vestavěných dílčích odhadů.

feature_importances_ndarray tvaru (n_features,)

impurity-based feature importances.

n_features_int

počet funkcí při fit je proveden.

n_outputs_int

Počet výstupů při fit je proveden.

Oob_score_float

skóre tréninkové datové sady získané pomocí odhadu out-of-bag.Tento atribut existuje pouze v případě, že oob_score je pravdivý.

Oob_prediction_ndarray tvaru (n_samples,)

predikce vypočtená s odhadem out-of-bag na tréninkové sadě.Tento atribut existuje pouze v případě, že oob_score je pravdivý.

Viz také:

DecisionTreeRegressorExtraTreesRegressor

Poznámky

výchozí hodnoty pro parametry pro řízení velikosti stromů(např. max_depthmin_samples_leaf, atd.) vést k plně vzrostlým a nezraněným stromům, které mohou být na některých datových sadách potenciálně velmi velké. Prosnížení spotřeba paměti, složitost a velikost stromů, by měly být kontrolovány pomocí nastavení těchto parametrů.

funkce jsou vždy náhodně permutovány při každém rozdělení. Proto je nejlepší nalézt rozdělení se může lišit, a to i se stejným tréninková data,max_features=n_featuresbootstrap=False, pokud zlepšování kritérium je totožná pro několik rozdělí vyjmenoval během thesearch z nejlepších split. Chcete-li získat deterministické chování běhemfitting, random_state musí být opravena.

výchozí hodnota max_features="auto" používá n_featuresmísto n_features / 3. Ten byl původně navržen v, zatímco první byl nedávno empiricky odůvodněn .

1

  1. Breiman, „náhodné lesy“, strojové učení, 45(1), 5-32, 2001.

2

P. Geurts, D. Ernst., a L. Wehenkel, „extrémně randomizovanéstromy“, strojové učení, 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)¶

Použít stromy v lese, aby X, vrátí list indexy.

parametry X{array-like, řídká matice} tvaru (n_samples, n_features)

vstupní vzorky. Interně bude jeho dtype převeden nadtype=np.float32. Pokud je k dispozici řídká matice, bude převedena na řídkou csr_matrix.

Vrátí X_leavesndarray tvaru (n_samples, n_estimators)

Pro každý datový bod x v X a pro každý strom v lese,vrátí index list x končí.

decision_path(X)¶

vraťte rozhodovací cestu v lese.

novinka ve verzi 0.18.

parametry X{array-like, řídká matice} tvaru (n_samples, n_features)

vstupní vzorky. Interně bude jeho dtype převeden nadtype=np.float32. Pokud je k dispozici řídká matice, bude převedena na řídkou csr_matrix.

Vrátí indicatorsparse matice tvaru (n_samples, n_nodes)

Návrat uzel indikátor matrix, kde nejsou žádné prvky znamená, že vzorky prochází uzly. Matice je CSRformat.

n_nodes_ptrndarray tvaru (n_estimators + 1,)

sloupy z indikátoru:n_nodes_ptr]dává ukazatel hodnota pro i-té odmocniny.

propertyfeature_importances_

impurity-based feature importances.

čím vyšší, tím důležitější je funkce.Význam prvku se počítá jako (normalizované) celkové snížení kritéria, které tento prvek přináší. Je také známý jako význam Gini.

varování: impurity-based funkce importances může být zavádějící forhigh cardinality features (mnoho jedinečných hodnot). Vizsklearn.inspection.permutation_importance jako alternativu.

Vrátí feature_importances_ndarray tvaru (n_features,)

hodnoty tohoto pole součet 1, pokud všechny stromy jsou jeden nodetrees skládající se z pouze kořenový uzel, v takovém případě bude anarray nul.

fit(X, y, sample_weight=None)¶

Vytvořte les stromů z tréninkové sady (X, y).

parametry X{array-like, řídká matice} tvaru (n_samples, n_features)

tréninkové vstupní vzorky. Interně bude jeho dtype převeden na dtype=np.float32. Pokud je k dispozici řídká matice, bude převedena na řídkou csc_matrix.

yarray-like tvaru (n_samples,) nebo (n_samples, n_outputs)

cílové hodnoty (štítky tříd v klasifikaci, reálná čísla v regresi).

sample_weightarray-like of shape (n_samples,), default=None

sample weights. Pokud žádný, pak jsou vzorky stejně váženy. Splitsthatto by vytvořilo podřízené uzly s čistou nulou nebo zápornou hmotností jsou označeny při hledání rozdělení v každém uzlu. V případě klasifikace, rozdělení jsou také ignorovány, pokud by to mělo za následek anysingle class nesoucí zápornou váhu v obou podřízených uzlech.

vrací selfobjectget_params(deep=True)¶

získat parametry pro tento odhad.

parametry deepbool, default=True

Pokud je True, vrátí parametry pro tento odhad aobsažené subobjekty, které jsou odhady.

vrací paramsdict

názvy parametrů namapované na jejich hodnoty.

predict(X)¶

Predict regression target for X.

předpokládaný regresní cíl vstupního vzorku je vypočítán jako předpokládané regresní cíle stromů v lese.

parametry X{array-like, řídká matice} tvaru (n_samples, n_features)

vstupní vzorky. Interně bude jeho dtype převeden nadtype=np.float32. Pokud je k dispozici řídká matice, bude převedena na řídkou csr_matrix.

vrací yndarray tvaru (n_samples,) nebo (n_samples, n_outputs)

předpokládané hodnoty.

score(X, y, sample_weight=None)¶

vraťte koeficient určení \(R^2\) předpisu.

koeficient \(R^2\) je definována jako \((1 – \frac{u}{v})\),kde \(u\) je reziduální součet čtverců ((y_true - y_pred)** 2).sum() a \(v\) je celkový součet čtverců ((y_true -y_true.mean()) ** 2).sum(). Nejlepší možné skóre je 1,0 a to jemůže být negativní(protože model může být libovolně horší). Stálé model, který vždy předpokládá, že očekávaná hodnota y,bez ohledu na vstupní funkce, by si \(R^2\), skóre 0.0.

parametry Xarray-like tvaru (n_samples, n_features)

testovací vzorky. Pro některé odhadů to může být precomputedkernel matice nebo seznam generických objektů, místo toho se tvar(n_samples, n_samples_fitted), kde n_samples_fittedje počet vzorků použitých v kování pro odhad.

yarray-jako tvar (n_samples,) nebo (n_samples, n_outputs)

Skutečné hodnoty pro X.

sample_weightarray-like of shape (n_samples,), default=None

sample weights.

vrací scorefloat

\(R^2\) z self.predict(X) wrt. y.

Poznámky

\(R^2\), skóre se používá při volání score na regressor používámultioutput='uniform_average' od verze 0.23 aby v souladu výchozí hodnota r2_score.To ovlivňuje score metodu všech multioutputregresorů (kroměMultiOutputRegressor).

set_params(**params)¶

nastavte parametry tohoto odhadu.

metoda pracuje na jednoduchých odhadech i na vnořených objektech (například Pipeline). Ty mají parametry tvaru <component>__<parameter> , takže je možné aktualizovat každou komponentu vnořeného objektu.

parametry * * paramsdict

parametry Estimátoru.

vrací instanci selfestimator

instanci Estimator.

příklady pomocí sklearn.soubor.RandomForestRegressor¶