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.
N
N_t
N_t_R
N_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ě. 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 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í), nakreslete
X.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é:
DecisionTreeRegressor
ExtraTreesRegressor
Poznámky
výchozí hodnoty pro parametry pro řízení velikosti stromů(např. max_depth
min_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_features
bootstrap=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_features
místo n_features / 3
. Ten byl původně navržen v, zatímco první byl nedávno empiricky odůvodněn .
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 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)¶
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_fitted
je 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.