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)
waarbijN
het 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.
N
N_t
N_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. 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
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 dan
max_samples
monsters. -
indien float, teken dan
max_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
DecisionTreeRegressor
ExtraTreesRegressor
opmerkingen
de standaardwaarden voor de parameters die de grootte van de bomen bepalen(bijv. max_depth
min_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_features
in plaats van n_features / 3
. De laatste werd oorspronkelijk voorgesteld in, terwijl de eerste werd meer recent empirisch gerechtvaardigd in .
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 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)¶
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 y
voorspelt,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_fitted
het 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.