Articles

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, consideramin_samples_split come numero minimo.

  • Se float, alloramin_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, alloramin_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 considerazionemax_features caratteristiche ad ogni divisione.

  • Se float, alloramax_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.

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

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 disegnareX.shape campioni.

  • Se int, quindi disegnaremax_samples campioni.

  • Se float, quindi disegnaremax_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

DecisionTreeRegressorExtraTreesRegressor

Note

i valori predefiniti per I parametri che controllano la dimensione degli alberi(ad esempio max_depthmin_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_featuresanziché n_features / 3. Quest ” ultimo è stato originariamente suggerito in, mentre il primo è stato più recentemente giustificato empiricamente in .

1

  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(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)¶

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.

Esempi che utilizzano sklearn.ensemble.RandomForestRegressor¶