Articles

sklearn.ensemble.RandomForestRegressor¶

class sklearn.ensemble.RandomForestRegressor(n_estimators=100, *, criterium=’mse’, max_depth=Geen, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=Geen, min_impurity_decrease=0.0, min_impurity_split=Geen, bootstrap=True, oob_score=False, n_jobs=Geen, random_state=Geen, verbose=0, warm_start=False, ccp_alpha=0.0, max_samples=Geen)¶

Een random forest regressor.

een willekeurig forest is een meta-estimator die past bij een aantal classificatiebesluitbomen op verschillende submonsters van de gegevensset en gebruikmaakt van gemiddelden om de voorspellende nauwkeurigheid te verbeteren en de controle over-fitting te verbeteren.De grootte van de substeekproef wordt gecontroleerd met de parameter max_samples alsbootstrap=True (standaard), anders wordt de hele dataset gebruikt om elke boom op te bouwen.

Lees meer in de gebruikershandleiding.

Parameters n_estimatorsint, default = 100

het aantal bomen in het forest.

gewijzigd in versie 0.22: De standaardwaarde van n_estimators veranderde van 10 naar 100in 0,22.

criterion {“mse”,”mae”}, default= ” mse “

De functie om de kwaliteit van een splitsing te meten. Ondersteunde criteriaare ” mse “voor de gemiddelde kwadraat fout, die gelijk is aan variancereductie als functie selectie criterium, en” mae ” voor de meanabsolute fout.

nieuw in versie 0.18: gemiddelde Absolute fout (MAE) criterium.

max_depthint, default = None

De maximale diepte van de boom. Indien Geen, dan worden knopen uitgevouwen totdat alle bladeren zuiver zijn of totdat alle bladeren minder thanmin_samples_split monsters bevatten.

min_samples_splitint or float, default = 2

het minimumaantal monsters dat nodig is om een intern knooppunt te splitsen:

  • als int, beschouw dan min_samples_split als het minimumaantal.

  • indien float, dan is min_samples_split een fractie enceil(min_samples_split * n_samples) zijn het minimumaantal monsters voor elke splitsing.

gewijzigd in versie 0.18: floatwaarden toegevoegd voor fracties.

min_samples_leafint or float, default = 1

het minimum aantal monsters dat nodig is om zich op een bladknoop te bevinden.Een splitsingspunt op een bepaalde diepte zal alleen in aanmerking worden genomen als het tenminste min_samples_leaf trainingsmonsters in elk van de linker-en rechtertakken achterlaat. Dit kan het effect hebben van het gladmaken van het model, vooral in regressie.

  • als int, beschouw dan min_samples_leaf als het minimumaantal.

  • indien float, dan is min_samples_leaf een fractie enceil(min_samples_leaf * n_samples) het minimumaantal monsters voor elke node.

gewijzigd in versie 0.18: floatwaarden toegevoegd voor fracties.

min_weight_fraction_leafloat, default = 0,0

De minimaal gewogen fractie van de som van de gewichten (van alle inputmonsters) die nodig zijn om zich op een bladknoop te bevinden. Monsters hebben een groot gewicht wanneer het monstergewicht niet wordt verstrekt.

max_features{“auto”, “sqrt”, “log2″}, Int of float, default=”auto”

het aantal te overwegen functies bij het zoeken naar de beste splitsing:

  • als int, overweeg dan max_features functies bij elke splitsing.

  • als float, dan max_features is een fractie enround(max_features * n_features) kenmerken worden beschouwd op elke split.

  • als “auto”, dan max_features=n_features.

  • als “sqrt”, dan max_features=sqrt(n_features).

  • indien “log2”, dan max_features=log2(n_features).

  • indien Geen, dan max_features=n_features.

opmerking: het zoeken naar een splitsing stopt niet totdat ten minste één evaluatie-partitie van de knooppuntmonsters is gevonden, zelfs als het nodig is om effectief meer dan max_features functies te inspecteren.

max_leaf_nodesint, default = None

laat bomen groeien met max_leaf_nodes op de eerste manier.Beste knooppunten worden gedefinieerd als relatieve vermindering van onzuiverheid.Als Geen dan onbeperkt aantal bladknopen.

min_impurity_decreasefloat, default = 0.0

een knoop zal worden gesplitst als deze splitsing een afname van de onzuiverheid groter dan of gelijk aan deze waarde induceert.

de gewogen vergelijking voor het verminderen van onzuiverheden is als volgt:

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

waarbijNhet totale aantal monsters is, N_t het aantal monsters op de huidige knoop is, N_t_L is het aantal monsters in het linker kind, en N_t_R is het aantal monsters in het rechter kind.

NN_tN_t_R en N_t_L Alle verwijzen naar de gewogen som,als sample_weight wordt gepasseerd.

nieuw in versie 0.19.

min_impurity_splitfloat, default = None

drempel voor vroeg stoppen in boomgroei. Een knoop splitif zijn onzuiverheid is boven de drempel, anders is het een blad.

verouderd sinds versie 0.19: min_impurity_split is verouderd ten gunste vanmin_impurity_decrease in 0.19. De standaardwaarde vanmin_impurity_split is veranderd van 1e-7 naar 0 in 0,23 en zal worden verwijderd in 1.0 (hernoemen van 0,25).Gebruik min_impurity_decrease in plaats daarvan.

bootstrapbool, default = True

of bootstrap-samples worden gebruikt bij het bouwen van bomen. Indien onwaar, wordt de hele dataset gebruikt om elke boom te bouwen.

oob_scorebool, default = False

of voorbeelden uit de zak gebruikt moeten worden om de R^2 op ongeziene gegevens te schatten.

n_jobsint, default = None

het aantal taken dat parallel moet worden uitgevoerd. 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 or None, default = None

bepaalt zowel de willekeur van het bootstrappen van de steekproeven die worden gebruikt bij het bouwen van bomen (als bootstrap=True) als de sampling van de functies die moeten worden overwogen bij het zoeken naar de beste splitsing op elk knooppunt(als max_features < n_features).Zie glossarium voor details.

verboseint, default = 0

bepaalt de verbositeit bij het passen en voorspellen.

warm_startbool, default = False

indien ingesteld op True, hergebruik de oplossing van de vorige aanroep om te passen en voeg meer schatters toe aan het ensemble, anders past het gewoon in een heel nieuw forest. Zie de Woordenlijst.

ccp_alphanon-negatieve float, default = 0.0

complexiteit parameter gebruikt voor minimale kosten-complexiteit snoeien. De grootste kostencomplexiteit die kleiner is danccp_alpha zal worden gekozen. Standaard wordt er niet gesnoeid. Schijnbare kosten-complexiteit snoeien voor details.

nieuw in versie 0.22.

max_samplesint or float, default = None

als bootstrap True is, het aantal samples dat wordt getrokken uit Xto train elke base estimator.

  • indien geen (standaard), teken dan X.shape monsters.

  • indien int, teken danmax_samples monsters.

  • indien float, teken danmax_samples * X.shape monsters. Daarom moetmax_samples in het interval (0, 1)liggen.

nieuw in versie 0.22.

attributen base_estimator_DecisionTreeRegressor

De child estimator template die wordt gebruikt om de verzameling van fittedsub-estimators aan te maken.

schatters_list of DecisionTreeRegressor

het verzamelen van gemonteerde sub schatters.

feature_importances_ndarray of shape (n_features,)

De impurity-based feature importances.

n_features_int

het aantal functies wanneer fit wordt uitgevoerd.

n_outputs_int

het aantal uitgangen wanneer fit wordt uitgevoerd.

oob_score_float

Score van de trainingsdataset verkregen aan de hand van een out-of-bag schatting.Dit kenmerk bestaat alleen als oob_score Waar is.

oob_prediction_ndarray of shape (n_samples,)

voorspelling berekend met out-of-bag schatting op de trainingsset.Dit kenmerk bestaat alleen als oob_score Waar is.

zie ook

DecisionTreeRegressorExtraTreesRegressor

opmerkingen

de standaardwaarden voor de parameters die de grootte van de bomen bepalen(bijv. max_depthmin_samples_leaf, enz.) leiden tot volgroeide en niet-ingeperkte bomen die in sommige datasets mogelijk zeer groot kunnen zijn. Om het geheugenverbruik te verminderen, moeten de complexiteit en de grootte van de bomen worden gecontroleerd door deze parameterwaarden in te stellen.

de eigenschappen worden altijd willekeurig gepermuteerd bij elke splitsing. Daarom kan de best gevonden splitsing variëren, zelfs met dezelfde trainingsgegevens,max_features=n_features en bootstrap=False, als de verbetering van het criterium identiek is voor verschillende splitsingen die worden opgesomd tijdens het onderzoek van de beste splitsing. Om tijdens de montage deterministisch gedrag te verkrijgen, moet random_state worden vastgesteld.

De standaardwaarde max_features="auto" gebruikt n_featuresin plaats van n_features / 3. De laatste werd oorspronkelijk voorgesteld in, terwijl de eerste werd meer recent empirisch gerechtvaardigd in .

1

  1. Breiman, “Random Forests”, Machine Learning, 45(1), 5-32, 2001.

2

P. Geurts, D. Ernst., en L. Wehenkel, “Extremely randomizedtrees”, Machine Learning, 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)¶

pas bomen in het forest toe op X, geef bladindices terug.

Parameters X{array-achtige, schaarse matrix} van vorm (n_samples, n_features)

De input samples. Intern zal zijn dtype worden geconverteerd naardtype=np.float32. Als een schaarse matrix wordt gegeven, zal deze worden omgezet in een schaars csr_matrix.

geeft X_leavesndarray van vorm (n_samples, n_estimators)

voor elk datapunt x in X en voor elke boom in het forest,geeft u de index van het blad x eindigt in.

decision_path(X)¶

geef het beslissingspad in het forest terug.

nieuw in versie 0.18.

Parameters X{array-achtige, schaarse matrix} van vorm (n_samples, n_features)

De input samples. Intern zal zijn dtype worden geconverteerd naardtype=np.float32. Als een schaarse matrix wordt gegeven, zal deze worden omgezet in een schaars csr_matrix.

geeft indicatorsparse matrix van vorm (n_samples, n_nodes)

geeft een knooppuntindicatormatrix terug waar niet-nulelementen aangeven dat de monsters door de knooppunten gaan. De matrix is van CSRformat.

n_nodes_ptrndarray of shape (n_estimators + 1,)

de kolommen van indicator: n_nodes_ptr] geeft de indicatorwaarde voor de i-de schatter.

eigenschap feature_importances_

De op onzuiverheid gebaseerde eigenschap importeert.

hoe hoger, hoe belangrijker de functie.Het belang van een eigenschap wordt berekend als de (genormaliseerde)totale vermindering van het criterium dat door die eigenschap wordt gebracht. Het is ook bekend als de Gini belang.

waarschuwing: impurity-based feature importants can misleidend forhigh cardinality features (many unique values). Ziesklearn.inspection.permutation_importance als alternatief.

geeft feature_ importances_ndarray of shape (n_features,)

de waarden van deze array som op 1, Tenzij alle bomen enkele nodetrees zijn die alleen uit de root node bestaan, in welk geval het een array van nullen zal zijn.

fit(X, y, sample_weight=None)¶

Bouw een bos van bomen uit de trainingsset (X, y).

Parameters X{array-achtige, schaarse matrix} van vorm (n_samples, n_features)

de training input samples. Intern zal het dtype worden geconverteerd naar dtype=np.float32. Als een schaarse matrix wordt gegeven, zal deze worden omgezet in een schaars csc_matrix.

yarray-achtige vorm (n_samples,) of (n_samples, n_outputs)

De doelwaarden (klassenlabels in classificatie, reële getallen inregressie).

sample_weightarray-achtige vorm (n_samples,), default=None

monstergewichten. Zo niet, dan worden de monsters gelijkelijk gewogen. Splitsingendie kindknooppunten met netto nul of negatief gewicht zouden creëren, worden gemarkeerd tijdens het zoeken naar een splitsing in elk knooppunt. In het geval vanclassificatie worden splitsingen ook genegeerd als ze zouden resulteren in een enkele klasse die een negatief gewicht draagt in een van de onderliggende knooppunten.

geeft selfobject get_params(deep=True)¶

parameters ophalen voor deze schatter.

Parameters deepbool, default = True

indien True, geeft de parameters voor deze schatter terug en bevat subobjecten die schatters zijn.

geeft paramsdict

parameternamen toegewezen aan hun waarden.

predict(X)¶

voorspel regressiedoel voor X.

de voorspelde regressiedoelstelling van een inputsteekproef wordt berekend als de voorspelde regressiedoelstellingen van de bomen in het bos.

Parameters X{array-achtige, schaarse matrix} van vorm (n_samples, n_features)

De input samples. Intern zal zijn dtype worden geconverteerd naardtype=np.float32. Als een schaarse matrix wordt gegeven, zal deze worden omgezet in een schaars csr_matrix.

geeft yndarray van vorm (n_samples,) of (n_samples, n_outputs)

de voorspelde waarden.

score(X, y, sample_weight=None)¶

Geef de determinatiecoëfficiënt \(r^2\) van de voorkeur terug.

De coëfficiënt \(r^2\) wordt gedefinieerd als \((1 – \frac{u}{v})\), waarbij \(u\) de resterende som van kwadraten ((y_true - y_pred)** 2).sum() is en \(v\) de totale som van kwadraten ((y_true -y_true.mean()) ** 2).sum()is. De best mogelijke score is 1.0 en het kan negatief zijn (omdat het model willekeurig slechter kan zijn). Een constant model dat altijd de verwachte waarde van yvoorspelt,zonder rekening te houden met de invoerfuncties, zou een \(r^2\) score van0.0 krijgen.

Parameters Xarray-achtige vorm (n_samples, n_features)

testmonsters. Voor sommige schatters kan dit een precomputedkernel-matrix zijn of een lijst van generieke objecten met shape(n_samples, n_samples_fitted), waarbij n_samples_fittedhet aantal monsters is dat in de fitting voor de schatter wordt gebruikt.

yarray-achtige vorm (n_samples,) or (n_samples, n_outputs)

True values for X.

sample_weightarray-achtige vorm (n_samples,), default=None

monstergewichten.

geeft scorefloat

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

Notes

De\ (r^2\) – score die wordt gebruikt bij het aanroepen van score op een regressor gebruiktmultioutput='uniform_average' vanaf versie 0.23 om consistent te blijven met de standaardwaarde van r2_score.Dit beïnvloedt descore methode van alle multi-outputregressoren (behalveMultiOutputRegressor).

set_params(**params)¶

Stel de parameters van deze schatter in.

de methode werkt zowel op eenvoudige schatters als op geneste objecten(zoals Pipeline). Deze laatste hebben verschillende parameters van de vorm <component>__<parameter> zodat het mogelijk is om elk onderdeel van een geneste object bij te werken.

Parameters * * paramsdict

Estimator parameters.

geeft selfestimator instance

Estimator instance terug.

voorbeelden met sklearn.ensemble.RandomForestRegressor¶