sklearn.ensemble.RandomForestRegressor¶
classe sklearn.ensemble.
RandomForestRegressor
(n_estimators=100, *, criterio=’mse’, max_depth=None, 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)¶
Un random forest regressore.
Una foresta casuale è un meta stimatore che si adatta a un numero di alberi di classificazione su vari sottocampioni del set di dati e utilizza la media per migliorare l’accuratezza predittiva e il controllo del montaggio eccessivo.La dimensione del sottocampione è controllata con il parametromax_samples
se bootstrap=True
(predefinito), altrimenti l’intero set di dati viene utilizzato per costruireogni albero.
Per saperne di più nella Guida per l’utente.
Parametri n_estimatorsint, default=100
Il numero di alberi nella foresta.
Cambiato nella versione 0.22: Il valore predefinito di n_estimators
è cambiato da 10 a 100in 0.22.
criterio {“mse”,”mae”}, default=” mse “
La funzione per misurare la qualità di una divisione. I criteri supportati sono ” mse “per l’errore quadrato medio, che è uguale a variancereduction come criterio di selezione delle funzionalità e” mae” per l’errore meanabsolute.
Nuovo nella versione 0.18: criterio di errore assoluto medio (MAE).
max_depthint, default=None
La profondità massima dell’albero. Se nessuno, i nodi vengono espansi fino a quando tutte le foglie sono pure o fino a quando tutte le foglie contengono meno di campioni di min_samples_split.
min_samples_splitint o float, default=2
Il numero minimo di campioni necessari per dividere un nodo interno:
-
Se int, considera
min_samples_split
come numero minimo. -
Se float, allora
min_samples_split
è una frazione eceil(min_samples_split * n_samples)
sono il numero minimo di campioni per ogni divisione.
Modificato nella versione 0.18: aggiunti valori float per le frazioni.
min_samples_leafint o float, default=1
Il numero minimo di campioni necessari per essere in un nodo foglia.Un punto diviso a qualsiasi profondità sarà considerato solo se lascia almenomin_samples_leaf
campioni di allenamento in ciascuno dei rami sinistro e destro. Questo può avere l’effetto di lisciare il modello,specialmente nella regressione.
-
Se int, considera
min_samples_leaf
come numero minimo. -
Se float, allora
min_samples_leaf
è una frazione eceil(min_samples_leaf * n_samples)
sono il numero minimo di campioni per ogni nodo.
Modificato nella versione 0.18: aggiunti valori float per le frazioni.
min_weight_fraction_leaffloat, default=0.0
La frazione ponderata minima della somma totale dei pesi (di tutti i campioni di input) necessari per essere in un nodo foglia. I campioni hanno un peso uguale quando sample_weight non è fornito.
max_features{“auto”, “sqrt”, “log2″}, int o float, default=”auto”
Il numero di caratteristiche da considerare quando si cerca la migliore divisione:
-
Se int, quindi prendere in considerazione
max_features
caratteristiche ad ogni divisione. -
Se float, allora
max_features
è una frazione eround(max_features * n_features)
le caratteristiche sono considerate in ciascunosplit. -
Se “auto”, quindi
max_features=n_features
. -
Se “sqrt”, quindi
max_features=sqrt(n_features)
. -
Se “log2”, quindi
max_features=log2(n_features)
. -
Se nessuno, allora
max_features=n_features
.
Nota: la ricerca di una divisione non si ferma fino a quando non viene trovata almeno una partizione valid dei campioni del nodo, anche se richiede di ispezionare in modo efficace più dimax_features
caratteristiche.
max_leaf_nodesint, default=None
Coltiva alberi conmax_leaf_nodes
nel modo migliore.I nodi migliori sono definiti come riduzione relativa dell’impurità.Se nessuno quindi numero illimitato di nodi foglia.
min_impurity_decreasefloat, default=0.0
Un nodo verrà diviso se questa divisione induce una diminuzione dell’impuritygreater maggiore o uguale a questo valore.
ponderato di impurità diminuire l’equazione è la seguente:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
dove N
è il numero totale di campioni, N_t
è il numero ofsamples al nodo corrente, N_t_L
è il numero di campioni in theleft bambino, e N_t_R
è il numero di campioni in il diritto del bambino.
N
N_t
N_t_R
e N_t_L
si riferiscono tutti alla somma ponderata,se sample_weight
è passato.
Nuovo nella versione 0.19.
min_impurity_splitfloat, default=None
Soglia per l’arresto precoce nella crescita degli alberi. Un nodo si divideràse la sua impurità è sopra la soglia, altrimenti è una foglia.
Deprecato dalla versione 0.19:min_impurity_split
è stato deprecato a favore di min_impurity_decrease
in 0.19. Il valore predefinito dimin_impurity_split
è cambiato da 1e-7 a 0 in 0.23 e verrà rimosso in 1.0 (ridenominazione di 0.25).Utilizzare invece min_impurity_decrease
.
bootstrapbool, default=True
Se i campioni di bootstrap vengono utilizzati quando si costruiscono alberi. Se False, thewhole dataset viene utilizzato per costruire ogni albero.
oob_scorebool, default=False
indica se utilizzare campioni fuori borsa per stimare R^2 su dati invisibili.
n_jobsint, default=None
Il numero di lavori da eseguire in parallelo. 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
Controlla sia la casualità del bootstrap dei campioni utilizzati quando si costruiscono alberi (ifbootstrap=True
) sia il campionamento delle caratteristiche da considerare quando si cerca la migliore divisione in ciascun nodo(ifmax_features < n_features
).Vedi Glossario per i dettagli.
verboseint, default=0
Controlla la verbosità durante il montaggio e la previsione.
warm_startbool, default=False
Quando impostato suTrue
, riutilizzare la soluzione della chiamata precedente per fitand aggiungere più stimatori per l’insieme, altrimenti, basta montare un interonuova foresta. Vedi il Glossario.
ccp_alphanon-float negativo, default = 0.0
Parametro di complessità utilizzato per la potatura di costo-complessità minima. Verrà scelto il Subtree con la maggiore complessità di costo inferiore accp_alpha
. Per impostazione predefinita, non viene eseguita alcuna potatura. SeeMinimal Costo-Complessità Potatura per i dettagli.
Nuovo nella versione 0.22.
max_samplesint o float, default=None
Se bootstrap è True, il numero di campioni da disegnare da Xper addestrare ogni stimatore di base.
-
Se Nessuno (predefinito), quindi disegnare
X.shape
campioni. -
Se int, quindi disegnare
max_samples
campioni. -
Se float, quindi disegnare
max_samples * X.shape
campioni. Quindi,max_samples
dovrebbe essere nell’intervallo(0, 1)
.
Nuovo nella versione 0.22.
Attributi base_estimator_DecisionTreeRegressor
Il modello di stimatore figlio utilizzato per creare la raccolta di stimatori fittedsub.
estimators_list of DecisionTreeRegressor
La raccolta di sotto-stimatori montati.
feature_importances_
ndarray di forma (n_features,)
Le importazioni di funzionalità basate sull’impurità.
n_features_int
Il numero di funzioni quando viene eseguitofit
.
n_outputs_int
Il numero di uscite quando viene eseguito fit
.
oob_score_float
Punteggio del set di dati di allenamento ottenuto utilizzando una stima out-of-bag.Questo attributo esiste solo quando oob_score
è True.
oob_prediction_ndarray di forma (n_samples,)
Previsione calcolata con stima out-of-bag sul set di allenamento.Questo attributo esiste solo quando oob_score
è True.
si Veda anche
DecisionTreeRegressor
ExtraTreesRegressor
Note
i valori predefiniti per I parametri che controllano la dimensione degli alberi(ad esempio max_depth
min_samples_leaf
, etc.) portare a alberi completamente cresciuti e non perforati che possono potenzialmente essere molto grandi su alcuni set di dati. Per ridurre il consumo di memoria, la complessità e la dimensione degli alberi dovrebbero essere controllati impostando tali valori di parametro.
Le funzionalità sono sempre permutate in modo casuale ad ogni divisione. Pertanto, la migliore divisione trovata può variare, anche con gli stessi dati di allenamento,max_features=n_features
ebootstrap=False
, se il miglioramento del criterio è identico per diverse divisioni enumerate durante la ricerca della migliore divisione. Per ottenere un comportamento deterministico durante il montaggio,random_state
deve essere corretto.
Il valore predefinito max_features="auto"
utilizza n_features
anziché n_features / 3
. Quest ” ultimo è stato originariamente suggerito in, mentre il primo è stato più recentemente giustificato empiricamente in .
1
-
Breiman, “Foreste casuali”, Apprendimento automatico, 45(1), 5-32, 2001.
2
P. Geurts, D. Ernst., e L. Wehenkel, “Extremely randomizedtrees”, Apprendimento automatico, 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)¶
Applica gli alberi nella foresta a X, restituisci gli indici delle foglie.
Parametri X {array-like, sparse matrix} di forma (n_samples, n_features)
I campioni di input. Internamente, il suo dtype verrà convertito in dtype=np.float32
. Se viene fornita una matrice sparsa, sarà convertita in una sparsa csr_matrix
.
Restituisce X_leavesndarray di forma (n_samples, n_estimators)
Per ogni datapoint x in X e per ogni albero nella foresta, restituire l’indice della foglia x finisce in.
decision_path
(X)¶
Restituisce il percorso decisionale nella foresta.
Nuovo nella versione 0.18.
Parametri X{array-like, sparse matrix} di forma (n_samples, n_features)
I campioni di input. Internamente, il suo dtype verrà convertito in dtype=np.float32
. Se viene fornita una matrice sparsa, sarà convertita in una sparsa csr_matrix
.
Restituisce indicatorsparse matrix of shape (n_samples, n_nodes)
Restituisce una matrice di indicatori di nodo in cui elementi diversi da zero indicano che i campioni attraversano i nodi. La matrice è di CSRformat.
n_nodes_ptrndarray di forma (n_estimators + 1,)
Le colonne da indicator:n_nodes_ptr]fornisce il valore dell’indicatore per lo stimatore i-esimo.
proprietàfeature_importances_
¶
Le importazioni di funzionalità basate sull’impurità.
Più alto è, più importante è la funzione.L’importanza di una caratteristica è calcolata come la riduzione totale (normalizzata)del criterio portato da quella caratteristica. È alsoknown come l’importanza di Gini.
Attenzione: le importazioni di funzionalità basate sull’impurità possono essere fuorvianti per le caratteristiche di alta cardinalità (molti valori univoci). Vedere sklearn.inspection.permutation_importance
come alternativa.
Restituisce feature_importances_ndarray di shape (n_features,)
I valori di questo array sommano a 1, a meno che tutti gli alberi non siano singoli nodetrees costituiti solo dal nodo radice, nel qual caso sarà anarray di zeri.
fit
(X, y, sample_weight=None)¶
Costruisci una foresta di alberi dal set di allenamento (X, y).
Parametri X {array-like, sparse matrix} di forma (n_samples, n_features)
I campioni di input di formazione. Internamente, il suo dtype verrà convertito in dtype=np.float32
. Se viene fornita una matrice sparsa, sarà convertita in una sparsa csc_matrix
.
yarray-like di forma (n_samples,) o (n_samples, n_outputs)
I valori target (etichette di classe in classificazione, numeri reali inregression).
sample_weightarray-like di forma (n_samples,), default=None
Pesi campione. Se nessuno, i campioni sono ugualmente ponderati. Splitsthat creerebbe nodi figlio con zero netto o peso negativo areignored durante la ricerca di una divisione in ogni nodo. Nel caso ofclassification, le divisioni vengono ignorate anche se si tradurrebbero in una classe anysingle con un peso negativo in entrambi i nodi figlio.
Restituisce selfobjectget_params
(deep=True)¶
Ottieni parametri per questo stimatore.
Parametri deepbool, default = True
Se True, restituirà i parametri per questo stimatore e contiene sottooggetti che sono stimatori.
Restituisce paramsdict
Nomi dei parametri mappati ai loro valori.
predict
(X)¶
Predire il target di regressione per X.
Il target di regressione previsto di un campione di input viene calcolato come target di regressione previsto degli alberi nella foresta.
Parametri X {array-like, sparse matrix} di forma (n_samples, n_features)
I campioni di input. Internamente, il suo dtype verrà convertito in dtype=np.float32
. Se viene fornita una matrice sparsa, sarà convertita in una sparsa csr_matrix
.
Restituisce yndarray di forma (n_samples,) o (n_samples, n_outputs)
I valori previsti.
score
(X, y, sample_weight=None)¶
Restituisce il coefficiente di determinazione \(R^2\) della predizione.
Il coefficiente \(R^2\) è definito come \((1 – \frac{u}{v})\),dove \(u\) è la somma residua dei quadrati e \(v\) è la somma totale dei quadrati((y_true -y_true.mean()) ** 2).sum()
. Il miglior punteggio possibile è 1.0 e può essere negativo (perché il modello può essere arbitrariamente peggiore). Un modello costante che predice sempre il valore atteso di y
, ignorando le funzionalità di input, otterrebbe un punteggio \(R^2\) di0.0.
Parametri Xarray-like di forma (n_samples, n_features)
Campioni di prova. Per alcuni stimatori questa può essere una matrice precomputedkernel o un elenco di oggetti generici invece con shape(n_samples, n_samples_fitted)
, dove n_samples_fitted
è il numero di campioni utilizzati nel fitting per lo stimatore.
yarray-like di forma (n_samples,) o (n_samples, n_outputs)
Valori veri per X
.
sample_weightarray-like di forma (n_samples,), default=None
Pesi campione.
Restituisce scorefloat
\(R^2\) di self.predict(X)
wrt. y
.
Note
Il punteggio \(R^2\) utilizzato quando si chiamascore
su un regressore utilizzamultioutput='uniform_average'
dalla versione 0.23 per mantenere il valore predefinito dir2_score
.Questo influenza il metodoscore
di tutti i multioutputregressori (ad eccezione diMultiOutputRegressor
).
set_params
(**params)¶
Imposta i parametri di questo stimatore.
Il metodo funziona su stimatori semplici e su oggetti nidificati(comePipeline
). Questi ultimi hanno parametri del modulo <component>__<parameter>
in modo che sia possibile aggiornare ogni componente di un oggetto nidificato.
Parametri * * paramsdict
Parametri dello stimatore.
Restituisce selfestimator instance
Estimator instance.