sklearn.ensemble.Randomforestregulator¶
klasse sklearn.ensemble.
RandomForestRegressor
(n_estimators=100, *, kriterium=’mse’, max_depth=Ingen, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=ingen, Min_impurity_decrease=0.0, min_impurity_split=ingen, bootstrap=true, oob_score=false, n_jobs=ingen, random_state=ingen, verbose=0, warm_start=false, Ccp_alpha=0.0, max_samples=ingen)¶
en tilfeldig skogsregressor.en tilfeldig skog er en metaestimator som passer til en rekke klassifiseringbeslutningstrær på ulike delprøver av datasettet og bruker gjennomsnitt for å forbedre prediktiv nøyaktighet og kontroll over montering.Underprøvestørrelsen styres med parameterenmax_samples
hvis bootstrap=True
(standard), ellers brukes hele datasettet til å bygge hvert tre.
Les mer i Brukerhåndboken.
Parametere n_estimatorsint, default=100
antall trær i skogen.
Endret i versjon 0.22: Standardverdien for n_estimators
endret fra 10 til 100in 0.22.
kriterium {«mse»,»mae»}, default= » mse «
funksjonen for å måle kvaliteten på en splitt. Støttede kriterierer » mse «for den gjennomsnittlige kvadrerte feilen, som er lik variancereduction som funksjonsvalgkriterium, og» mae » for meanabsolute-feilen.
Nytt i versjon 0.18: Gjennomsnittlig Absolutt feil (MAE) kriterium.
max_depthint, default=Ingen
maksimal dybde på treet. Hvis Ingen, blir noder utvidet tilalle bladene er rene eller til alle blader inneholder mindre thanmin_samples_split prøver.
min_samples_splitint eller float, default=2
minimum antall prøver som kreves for å dele en intern node:
-
Hvis int, så vurder
min_samples_split
som minimumsnummer. -
hvis flyte, så
min_samples_split
er en brøkdel ogceil(min_samples_split * n_samples)
er minimumantall prøver for hver splitt.
Endret i versjon 0.18: Lagt flyte verdier for fraksjoner.
min_samples_leafint eller float, default=1
minimum antall prøver som kreves for å være på en bladknute.Et delt punkt på noen dybde vil bare bli vurdert hvis det etterlater minst min_samples_leaf
treningsprøver i hver av venstre og høyre grener. Dette kan føre til utjevning av modellen, spesielt i regresjon.
-
hvis int, vurder
min_samples_leaf
som minimumsnummer. -
hvis flyte, så
min_samples_leaf
er en brøkdel ogceil(min_samples_leaf * n_samples)
er minimumantall prøver for hver node.
Endret i versjon 0.18: Lagt flyte verdier for fraksjoner.
min_weight_fraction_leaffloat, standard=0.0
den minste vektet brøkdel av summen av vekter (av all input prøvene) som kreves for å være på et blad node. Prøver har lik vekt når sample_weight ikke er gitt.
max_features{«auto», «sqrt», «log2″}, int eller float, default=»auto»
antall funksjoner for å vurdere når vi leter etter den beste split:
-
Hvis int, deretter vurdere
max_features
funksjoner ved hver split. -
hvis float, så
max_features
er en brøkdel oground(max_features * n_features)
funksjoner vurderes på hversplit. -
Hvis «auto», så
max_features=n_features
. -
Hvis «sqrt», så
max_features=sqrt(n_features)
. -
Hvis «log2», så
max_features=log2(n_features)
. -
Hvis Ingen, så
max_features=n_features
.
Merk: søket etter en splitt stopper ikke før minst onevalid partisjon av nodeprøver er funnet, selv om det krever toeffektivt inspisere mer ennmax_features
funksjoner.
max_leaf_nodesint, default=None
Dyrk trær med max_leaf_nodes
på beste måte.Beste noder er definert som relativ reduksjon i urenhet.Hvis Ingen så ubegrenset antall blad noder.
min_impurity_decreasefloat, default=0.0
en node vil bli delt hvis denne delen induserer en reduksjon av impuritygreater enn eller lik denne verdien.
den vektede urenhetsreduksjonsligningen er følgende:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
hvorN
er totalt antall prøver,N_t
er antallprøver på gjeldende node,N_t_L
er antall prøver ivenstre barn, ogN_t_R
er antall prøver i riktig barn.
N
N_t
N_t_R
og N_t_L
alle refererer til vektet sum,hvis sample_weight
er bestått.
Nytt i versjon 0.19.
min_impurity_splitfloat, default=Ingen
Terskel for tidlig stopp i trevekst. En knute vil splitte seghvis urenheten er over terskelen, ellers er det et blad.
Utdatert siden versjon 0.19:min_impurity_split
har blitt utdatert til fordel for min_impurity_decrease
i 0.19. Standardverdien avmin_impurity_split
har endret seg fra 1e-7 til 0 i 0.23 og itwill bli fjernet i 1.0 (døpe på 0.25).Bruk min_impurity_decrease
i stedet.
bootstrapbool, default=True
om bootstrap-prøver brukes når du bygger trær. Hvis False, brukes hele datasettet til å bygge hvert tre.
oob_scorebool, default=False
om å bruke out-of-bag prøver å estimatethe r^2 på usett data.
n_jobsint, default=Ingen
antall jobber som skal kjøres parallelt. 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 or None, default=None
Kontrollerer både tilfeldigheten av bootstrapping av prøvene som brukes når du bygger trær (hvisbootstrap=True
) og prøvetaking av thefeatures å vurdere når du ser etter den beste splitten på hver node (hvis max_features < n_features
).Se Ordliste for detaljer.
verboseint, default=0
Kontrollerer detaljnivået når det tilpasses og forutsier.
warm_startbool, default = False
når satt til True
, gjenbruk løsningen av det forrige anropet til fitand legg til flere estimatorer til ensemblet, ellers bare passe en hel ny skog. Se Ordlisten.
ccp_alphanon-negativ flyt, standard=0.0
Kompleksitetsparameter brukt For Minimal Kostnadskompleksitetsbeskjæring. Thesubtree med den største kostnadskompleksiteten som er mindre enn ccp_alpha
vil bli valgt. Som standard utføres ingen beskjæring. SeeMinimal Kostnad-Kompleksitet Beskjæring for detaljer.
Nytt i versjon 0.22.hvis bootstrap Er Sant, antall prøver å trekke Fra Xto trene hver base estimator.
-
hvis ingen (standard), tegner du
X.shape
prøver. -
hvis int, deretter tegne
max_samples
prøver. -
hvis du flyter, tegner du
max_samples * X.shape
prøver. Dermed skalmax_samples
være i intervallet(0, 1)
.
Nytt i versjon 0.22.
Attributter base_estimator_DecisionTreeRegressor
underordnede estimatormalen som brukes til å opprette samlingen av fittedsub-estimatorer.
estimatorer_list Of DecisionTreeRegressor
samlingen av monterte underestimatorer .
feature_importances_
ndarray av form (n_features,)
den urenhetsbaserte funksjonen importerer.
n_features_int
antall funksjoner når fit
utføres.
n_outputs_int
antall utganger nårfit
utføres.
Oob_score_float
Resultat av treningsdatasettet oppnådd ved hjelp av et estimat utenfor posen.Dette attributtet eksisterer bare når oob_score
Er Sant.
Oob_prediction_ndarray av form (n_samples,)
Prediksjon beregnet med out-of-bag estimat på treningssettet.Dette attributtet eksisterer bare når oob_score
Er Sant.
Se også
DecisionTreeRegressor
ExtraTreesRegressor
Merknader
standardverdiene for parametrene som styrer størrelsen på trærne(f.eks.max_depth
min_samples_leaf
, etc.) føre til fullvoksne andunpruned trær som potensielt kan være svært store på enkelte datasett. Toreduce minneforbruk, kompleksiteten og størrelsen på trærne bør værekontrollert ved å sette disse parameterverdiene.
funksjonene er alltid tilfeldig permuted ved hver splitt. Derfor kan den best funnet splitten variere, selv med de samme treningsdataene,max_features=n_features
ogbootstrap=False
, hvis forbedringen av kriteriet er identisk for flere splittelser som er oppregnet undersøk av den beste splitten. For å oppnå en deterministisk oppførsel under montering, må random_state
løses.
standardverdienmax_features="auto"
brukern_features
i stedet for n_features / 3
. Sistnevnte ble opprinnelig foreslått i, mens den tidligere ble mer nylig begrunnet empirisk i.
1
-
Breiman, «Tilfeldige Skoger», Maskinlæring, 45(1), 5-32, 2001.
2
P. Geurts, D. Ernst., Og L. Wehenkel, «Ekstremt randomizedtrees», Maskinlæring, 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)¶
Bruk trær I skogen Til X, returner bladindekser.
Parametere X{array-lignende, sparsom matrise} av form(n_samples, n_features)
inngangsprøver. Internt vil dtype bli konvertert til dtype=np.float32
. Hvis en sparsom matrise er gitt, vil den blikonvertert til en sparsom csr_matrix
.
Returnerer x_leavesndarray av form (n_samples, n_estimators)
for hvert datapunkt x I X og for hvert tre i skogen,returnerer indeksen til bladet x ender opp i.
decision_path
(X)¶
Returner beslutningsstien i skogen.
Nytt i versjon 0.18.
Parametere X{array-lignende, sparsom matrise} av form(n_samples, n_features)
input prøvene. Internt vil dtype bli konvertert til dtype=np.float32
. Hvis en sparsom matrise er gitt, vil den blikonvertert til en sparsom csr_matrix
.
Returnerer indicatorsparse matrix of shape (n_samples, n_nodes)
Returner en node indikatormatrise der ikke-nullelementer indikererat prøvene går gjennom nodene. Matrisen er Av CSRformat.
n_nodes_ptrndarray av form (n_estimators + 1,)
kolonnene fra indikator:n_nodes_ptr]gir indikatorverdien for i-th estimatoren.
eiendom feature_importances_
¶
den urenhetsbaserte funksjonen importerer.
jo høyere, desto viktigere er funksjonen.Betydningen av en funksjon beregnes som (normalisert)total reduksjon av kriteriet brakt av denne funksjonen. Det er også kjent Som Gini betydning.
Advarsel: urenhetsbaserte funksjoner kan være misvisende for høye kardinalitetsfunksjoner (mange unike verdier). Sesklearn.inspection.permutation_importance
som et alternativ.
Returnerer feature_importances_ndarray av form (n_features,)
verdiene av denne matrisen summen til 1, med mindre alle trær er enkle nodetrees som består av bare rotnoden, i så fall vil det være anarray av nuller.
fit
(X, y, sample_weight=Ingen)¶
Bygg en skog av trær fra treningssettet (X, y).
Parametere X{array-lignende, sparsom matrise} av form(n_samples, n_features)
treningsinngangsprøver. Internt vil dtype konverteres til dtype=np.float32
. Hvis en sparsom matrise er gitt, vil den blikonvertert til en sparsom csc_matrix
.
yarray-lignende av form (n_samples,) eller (n_samples, n_outputs)
målverdiene (klasse etiketter i klassifisering, reelle tall inregresjon).
sample_weightarray-lignende av form (n_samples,), standard=Ingen
Prøvevekter. Hvis Ingen, så prøvene er like vektet. Splitsthat ville skape barn noder med netto null eller negativ vekt erignored mens du søker etter en splitt i hver node. I tilfelle ofclassification, er deler også ignorert hvis de ville resultere i anysingle klasse bærer en negativ vekt i enten barn node.
Returnerer selfobject get_params
(dyp=Sann)¶
Hent parametere for denne estimatoren.
Parametere deepbool, default=True
hvis Sann, vil returnere parametrene for denne estimatoren andcontained delobjekter som er estimatorer.
returnerer paramsdict
Parameternavn tilordnet til sine verdier.
predict
(X)¶
Forutsi regresjonsmål For X.
det forutsagte regresjonsmålet for en inngangsprøve beregnes som de forutsagte regresjonsmålene for trærne i skogen.
Parametere X{array-lignende, sparsom matrise} av form(n_samples, n_features)
inngangsprøver. Internt vil dtype bli konvertert til dtype=np.float32
. Hvis en sparsom matrise er gitt, vil den blikonvertert til en sparsom csr_matrix
.Returnerer yndarray av form (n_samples,) eller (n_samples, n_outputs)
de forventede verdiene.
score
(X, y, sample_weight=Ingen)¶
Returner bestemmelseskoeffisienten \(r^2\) avprediksjonen.
koeffisienten \(r^2\ ) er definert som \((1 – \frac{u} {v})\), hvor \(u\) er restsummen av kvadrater ((y_true - y_pred)** 2).sum()
og \(v\) er den totale summen av kvadrater ((y_true -y_true.mean()) ** 2).sum()
. Den beste mulige poengsummen er 1,0 og denkan være negativ (fordi modellen kan være vilkårlig verre). Aconstant modell som alltid forutsier forventet verdi avy
,uten hensyn til inngangsfunksjonene, vil få en \(r^2\) score på0.0.
Parametere Xarray-lignende av form(n_samples, n_features)
Testprøver. For noen estimatorer kan dette være en precomputedkernel matrise eller en liste over generiske objekter i stedet med form(n_samples, n_samples_fitted)
, der n_samples_fitted
er antall prøver som brukes i tilpasningen til estimatoren.
yarray-lignende av form (n_samples,) eller (n_samples, n_outputs)
Sanne verdier for X
.
sample_weightarray-lignende av form (n_samples,), standard=Ingen
Prøvevekter.
Returnerer scorefloat
\(r^2\) av self.predict(X)
wrt. y
.
Merknader
\(r^2\) poengsummen som brukes når du ringerscore
på en regressor bruker multioutput='uniform_average'
fra versjon 0.23 for å beholde konsekvent med standardverdien av r2_score
.Dette påvirkerscore
– metoden for alle multioutputregressors (unntattMultiOutputRegressor
).
set_params
(**params)¶
Sett parametrene til denne estimatoren.
metoden fungerer på enkle estimatorer så vel som på nestede objekter(for eksempelPipeline
). Sistnevnte harparametere av skjemaet <component>__<parameter>
slik at det er mulig å oppdatere hver komponent i et nestet objekt.
Parametere * * paramsdict
Estimator parametere.
Returnerer selfestimator forekomst
Estimator forekomst .