Articles

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ägamin_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ägamax_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.

NN_tN_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. 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 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 sedanX.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

DecisionTreeRegressorExtraTreesRegressor

anmärkningar

standardvärdena för de parametrar som styr trädens storlek(t.ex. max_depthmin_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_featuressnarare än n_features / 3. Den senare föreslogs ursprungligen i, medan den förra nyligen motiverades empiriskt i .

1

  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(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) 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 scorepå 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.

exempel med sklearn.ensemble.RandomForestRegressor