sklearn.ensemble.RandomForestRegressor
klass 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=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)
en slumpmässig skogsregressor.
en slumpmässig skog är en meta estimator som passar ett antal klassificeringsbeslutningsträd på olika delprover av datasetet och använder medelvärde för att förbättra den prediktiva noggrannheten och kontrollen övermontering.Delprovstorleken styrs med parameternmax_samples
ombootstrap=True
(standard), annars används hela datasetet för att bygga varje träd.
Läs mer i användarhandboken.
parametrar n_estimatorsint, Standard=100
antalet träd i skogen.
ändrad i version 0.22: Standardvärdet för n_estimators
ändras från 10 till 100in 0.22.
kriterium {”mse”,” mae”}, default=” mse ”
funktionen för att mäta kvaliteten på en split. Stödda kriterierär ” mse ”för det genomsnittliga kvadratfelet, vilket är lika med variancereduction som funktionskriterium och” mae ” för meanabsolute-felet.
nytt i version 0.18: Mean Absolute Error (MAE) kriterium.
max_depthint, default = ingen
trädets maximala djup. Om ingen, då noder expanderas tillsalla blad är rena eller tills alla blad innehåller mindre änmin_samples_split prover.
min_samples_splitint eller float, default = 2
det minsta antalet prover som krävs för att dela en intern nod:
-
om int, överväga
min_samples_split
som det minsta antalet. -
om float, då
min_samples_split
är en fraktion ochceil(min_samples_split * n_samples)
är minimumantal prover för varje delning.
ändrad i version 0.18: tillagda flottörvärden för fraktioner.
min_samples_leafint eller float, standard=1
det minsta antalet prover som krävs för att vara vid en bladnod.En delningspunkt på något djup kommer endast att övervägas om den lämnar minst min_samples_leaf
träningsprover i var och en av vänster ochhöger grenar. Detta kan ha effekten att utjämna modellen, särskilt i regression.
-
om int, överväga
min_samples_leaf
som minsta antal. -
om float, då
min_samples_leaf
är en fraktion ochceil(min_samples_leaf * n_samples)
är minimumantal prover för varje nod.
ändrad i version 0.18: tillagda flottörvärden för fraktioner.
min_weight_fraction_leaffloat, default = 0.0
den minsta viktade fraktionen av summan av vikter (av alla ingångsprover) som krävs för att vara vid en bladnod. Prover har lika stor vikt när sample_weight inte tillhandahålls.
max_features{”auto”, ”sqrt”, ”log2″}, int eller float, default=”auto”
antalet funktioner att tänka på när man letar efter den bästa split:
-
om int, sedan överväga
max_features
funktioner vid varje split. -
om float, då
max_features
är en fraktion ochround(max_features * n_features)
funktioner beaktas vid varjesplit. -
om ”auto”, då
max_features=n_features
. -
om” sqrt”, då
max_features=sqrt(n_features)
. -
om ”log2”, då
max_features=log2(n_features)
. -
Om ingen, då
max_features=n_features
.
Obs: sökningen efter en split slutar inte förrän minst envalid partition av nodproverna hittas, även om det krävereffektivt inspektera mer än max_features
funktioner.
max_leaf_nodesint, default = None
odla träd med max_leaf_nodes
på bästa sätt.Bästa noder definieras som relativ minskning av orenhet.Om ingen då obegränsat antal bladnoder.
min_impurity_decreasefloat, default = 0.0
en nod kommer att delas om denna delning inducerar en minskning av föroreningen större än eller lika med detta värde.
den vägda föroreningsminskningsekvationen är följande:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
där N
är det totala antalet prover, N_t
är antalet prover vid den aktuella noden, N_t_L
är antalet prover ivänster barn, och N_t_R
är antalet prover i rätt barn.
N
N_t
N_t_R
och N_t_L
alla hänvisar till den vägda summan,om sample_weight
är godkänd.
nytt i version 0.19.
min_impurity_splitfloat, Standard = Ingen
tröskel för tidigt stopp i trädtillväxt. En nod kommer att splittraom dess orenhet ligger över tröskeln, annars är det ett blad.
föråldrad sedan version 0.19: min_impurity_split
har avlägsnats till förmån förmin_impurity_decrease
I 0.19. Standardvärdet förmin_impurity_split
har ändrats från 1e-7 till 0 i 0.23 och det kommer att tas bort i 1.0 (byta namn på 0.25).Använd istället min_impurity_decrease
.
bootstrapbool, default = True
om bootstrap-prover används när man bygger träd. Om det är falskt används hela datauppsättningen för att bygga varje träd.
oob_scorebool, default = False
om du vill använda Out-of-bag-prover för att estimatethe r^2 på osedda data.
n_jobsint, default = None
antalet jobb som ska köras parallellt. 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 eller None, default=None
kontrollerar både slumpmässigheten i bootstrapping av de prover som används när man bygger träd(om bootstrap=True
) och provtagningen av funktionerna att tänka på när man letar efter den bästa splittringen vid varje nod (om max_features < n_features
).Se ordlista för detaljer.
verboseint, default=0
styr verbositeten vid montering och förutsägelse.
warm_startbool, default = False
när den är inställd påTrue
, återanvänd lösningen från föregående samtal till fitand Lägg till fler estimatorer till ensemblet, annars passar bara en helhetny skog. Se ordlistan.
ccp_alphanon-negativ float, default = 0.0
Komplexitetsparameter som används för beskärning av Minimal Kostnadskomplexitet. Thesubtree med den största kostnadskomplexiteten som är mindre änccp_alpha
kommer att väljas. Som standard utförs ingen beskärning. SeeMinimal kostnad-komplexitet beskärning för detaljer.
nytt i version 0.22.
max_samplesint eller float, default = None
om bootstrap är sant, antalet prover att dra från Xatt träna varje bas estimator.
-
om ingen (standard), rita sedan
X.shape
prover. -
om int, rita sedan
max_samples
prover. -
om float, rita sedan
max_samples * X.shape
prover. Således börmax_samples
vara i intervallet(0, 1)
.
nytt i version 0.22.
attribut base_estimator_DecisionTreeRegressor
mallen för barnberäkning som används för att skapa samlingen av fittedsub-estimatorer.
Estimators_list of DecisionTreeRegressor
insamling av monterade sub-estimatorer.
feature_importances_
ndarray of shape (n_features,)
de föroreningsbaserade funktionsimportanserna.
n_features_int
antalet funktioner när fit
utförs.
n_outputs_int
antalet utgångar när fit
utförs.
Oob_score_float
poäng för träningsdataset som erhållits med hjälp av en uppskattning utan påse.Detta attribut existerar endast när oob_score
är sant.
oob_prediction_ndarray av form (n_samples,)
förutsägelse beräknad med Out-of-bag uppskattning på träningsuppsättningen.Detta attribut existerar endast när oob_score
är sant.
Se även
DecisionTreeRegressor
ExtraTreesRegressor
anmärkningar
standardvärdena för de parametrar som styr trädens storlek(t.ex. max_depth
min_samples_leaf
, etc.) leda till fullvuxna andunpruned träd som potentiellt kan vara mycket stora på vissa datamängder. För att minska minnesförbrukningen bör trädens komplexitet och storlek kontrolleras genom att ställa in dessa parametervärden.
funktionerna är alltid slumpmässigt permuterade vid varje delning. Därför kan den bäst Funna splittringen variera, även med samma träningsdata,max_features=n_features
och bootstrap=False
, om förbättringen av kriteriet är identiskt för flera splittringar som räknas upp under sökningen av den bästa splittringen. För att få ett deterministiskt beteende undermontering måste random_state
fixas.
standardvärdet max_features="auto"
använder n_features
snarare än n_features / 3
. Den senare föreslogs ursprungligen i, medan den förra nyligen motiverades empiriskt i .
1
-
Breiman, ”slumpmässiga skogar”, maskininlärning, 45(1), 5-32, 2001.
2
P. Geurts, D. Ernst., och L. Wehenkel, ”extremt randomizedtrees”, maskininlärning, 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) exceptional
applicera träd i skogen till X, returnera bladindex.
parametrar X{array-liknande, gles matris} av form (n_samples, n_features)
inmatningsproverna. Internt konverteras dess dtype tilldtype=np.float32
. Om en gles matris tillhandahålls kommer den att varaomvandlas till en gles csr_matrix
.
returnerar x_leavesndarray of shape (n_samples, n_estimators)
för varje datapunkt x i X och för varje träd i skogen,returnera indexet för bladet X hamnar i.
decision_path
(X) brasilian
returnera beslutsvägen i skogen.
nytt i version 0.18.
parametrar X{array-liknande, gles matris} av form (n_samples, n_features)
inmatningsproverna. Internt konverteras dess dtype tilldtype=np.float32
. Om en gles matris tillhandahålls kommer den att varaomvandlas till en gles csr_matrix
.
returnerar indikatorerparse matrix of shape (n_samples, n_nodes)
returnerar en nodindikatormatris där icke-nollelement indikeraratt proverna går igenom noderna. Matrisen är av CSRformat.
n_nodes_ptrndarray of shape (n_estimators + 1,)
kolumnerna från indikator:n_nodes_ptr]ger indikatorvärdet för i-estimatorn.
property feature_importances_
de orenhetsbaserade funktionsimportanserna.
ju högre, desto viktigare är funktionen.Betydelsen av en funktion beräknas som den (normaliserade)totala minskningen av kriteriet som den funktionen medför. Det är ocksåkänt som Gini betydelse.
Varning: föroreningsbaserade funktionsimportanser kan vara vilseledande för hög kardinalitetsfunktioner (många unika värden). Sesklearn.inspection.permutation_importance
som ett alternativ.
returnerar feature_importances_ndarray of shape (n_features,)
värdena för denna array summan till 1, såvida inte alla träd är enstaka nodetrees bestående av endast rotnoden, i vilket fall det kommer att vara anarray av nollor.
fit
(X, y, sample_weight=None) brasilian
Bygg en skog av träd från träningsuppsättningen (X, y).
parametrar X{array-liknande, gles matris} av form (n_samples, n_features)
träningsinmatningsproverna. Internt konverteras dess dtype till dtype=np.float32
. Om en gles matris tillhandahålls kommer den att varaomvandlas till ett gles csc_matrix
.
yarray-liknande form (n_samples,) eller (n_samples, n_outputs)
målvärdena (klassetiketter i klassificering, reella tal inregression).
sample_weightarray-liknande form (n_samples,), Standard = Ingen
provvikter. Om ingen, är proverna lika viktade. Splitsthat skulle skapa underordnade noder med netto noll eller negativ vikt areignored när du söker efter en delning i varje nod. I fallet medklassificering ignoreras splittringar också om de skulle resultera i att någon enda klass bär en negativ vikt i endera barnnoden.
returnerar selfobject get_params
(deep=True) oc
hämta parametrar för denna estimator.
parametrar deepbool, default = True
Om True, returnerar parametrarna för denna estimator andcontained underobjekt som är estimatorer.
returnerar paramsdict
parameternamn mappade till sina värden.
predict
(X) Ukrainian
förutsäga regressionsmål för X.
det förutsagda regressionsmålet för ett inmatningsprov beräknas som tematiskt förutsagt regressionsmål för träden i skogen.
parametrar X{array-liknande, gles matris} av form (n_samples, n_features)
inmatningsproverna. Internt konverteras dess dtype tilldtype=np.float32
. Om en gles matris tillhandahålls kommer den att varaomvandlas till en gles csr_matrix
.
returnerar yndarray av form (n_samples,) eller (n_samples, n_outputs)
de förutsagda värdena.
score
(X, y, sample_weight=None) 2XB returnerar bestämningskoefficienten \(r^2\) avförutsägelse.
koefficienten \(r^2\) definieras som \((1 – \frac{u}{v})\),där \(u\) är restsumman av kvadrater ((y_true - y_pred)** 2).sum()
och \(v\) är den totala summan av kvadrater ((y_true -y_true.mean()) ** 2).sum()
. Bästa möjliga poäng är 1,0 och detkan vara negativt (eftersom modellen kan vara godtyckligt sämre). Aconstant modell som alltid förutsäger det förväntade värdet av y
,bortsett från inmatningsfunktionerna, skulle få en \(R^2\) poäng AV0.0.
parametrar Xarray-liknande form (n_samples, n_features)
testprover. För vissa estimatorer kan detta vara en precomputedkernel matris eller en lista över generiska objekt istället med form(n_samples, n_samples_fitted)
, där n_samples_fitted
är antalet prover som används i anpassningen för estimatorn.
yarray-liknande form (n_samples,) eller (n_samples, n_outputs)
sanna värden för X
.
sample_weightarray-liknande form (n_samples,), Standard = Ingen
provvikter.
returnerar scorefloat
\(r^2\) av self.predict(X)
wrt. y
.
anteckningar
den\ (r^2\) poäng som används när man ringer score
på en regressor användermultioutput='uniform_average'
från version 0.23 för att hålla consistentwith standardvärdet för r2_score
.Detta påverkar metoden score
för alla multioutputregressorer (förutomMultiOutputRegressor
).
set_params
(**params) Portugals
Ställ in parametrarna för denna estimator.
metoden fungerar på enkla estimatorer såväl som på kapslade objekt(till exempel Pipeline
). Den senare harparametrar av formen <component>__<parameter>
så att det är möjligt att uppdatera varje komponent i ett kapslat objekt.
parametrar * * paramsdict
Estimator parametrar.
returnerar selfestimator instans
Estimator instans.