sklearn .komplet.RandomForestRegressor¶
class sklearn.ensemble.
RandomForestRegressor
(n_estimators=100, *, criterion=’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)¶
losowy regresor lasu.
losowy las jest meta estymatorem, który pasuje do wielu drzew decyzyjnych klasyfikacji na różnych podpróbkach zbioru danych i wykorzystuje uśrednianie w celu poprawy dokładności predykcyjnej i kontroli nad dopasowaniem.Rozmiar podpróbki jest kontrolowany za pomocąmax_samples
parametr jeślibootstrap=True
(domyślnie), w przeciwnym razie cały zestaw danych jest używany do budowania drzewa.
Czytaj więcej w Podręczniku użytkownika.
parametry n_estimatorsint, default=100
Liczba drzew w lesie.
zmieniony w wersji 0.22: Domyślna wartość n_estimators
została zmieniona z 10 na 100W 0.22.
kryterium{„mse”, „mae”}, default=”MSE”
funkcja do pomiaru jakości podziału. Obsługiwane kryteria są „mse „dla średniego błędu kwadratowego, który jest równy variancereduction jako kryterium wyboru funkcji, i” mae ” dla średniego błędu całkowitego.
nowość w wersji 0.18: kryterium Mean Absolute Error (Mae).
max_depthint, default=None
maksymalna głębokość drzewa. Jeśli None, to węzły są rozwijane, dopóki wszystkie liście nie będą czyste lub dopóki wszystkie liście nie będą zawierać mniej niżmin_samples_split samples.
min_samples_splitint lub float, default=2
minimalna liczba próbek wymagana do podziału węzła wewnętrznego:
-
Jeśli int, należy rozważyć
min_samples_split
jako minimalną liczbę. -
Jeśli float, to
min_samples_split
jest ułamkiem, aceil(min_samples_split * n_samples)
są minimalną liczbą próbek dla każdego podziału.
zmieniono w wersji 0.18: Dodano wartości float dla ułamków.
min_samples_leafint lub float, domyślnie=1
minimalna liczba próbek wymagana do znalezienia się w węźle liści.Punkt podziału na dowolnej głębokości będzie brany pod uwagę tylko wtedy, gdy pozostawi co najmniej min_samples_leaf
próbki treningowe w każdej z lewej i prawej gałęzi. Może to mieć wpływ na wygładzenie modelu, zwłaszcza w regresji.
-
If int, then consider
min_samples_leaf
as the minimum number. -
Jeśli float, to
min_samples_leaf
jest ułamkiem, aceil(min_samples_leaf * n_samples)
są minimalną liczbą próbek dla każdego węzła.
zmieniono w wersji 0.18: Dodano wartości float dla ułamków.
min_weight_fraction_leaffloat, default=0.0
minimalny ważony ułamek sumy wszystkich wag (wszystkich próbek wejściowych), który musi znajdować się w węźle liści. Próbki mają taką samą wagę, gdy sample_weight nie jest podany.
max_features{„auto”, „sqrt”, „log2″}, int lub float, default=”auto”
Liczba funkcji, które należy wziąć pod uwagę, szukając najlepszego podziału:
-
Jeśli int, rozważ
max_features
cechy przy każdym podziale. -
Jeśli float, to
max_features
jest ułamkiem, around(max_features * n_features)
funkcje są brane pod uwagę w każdym kroku. -
jeśli „auto”, to
max_features=n_features
. -
Jeśli „sqrt”, to
max_features=sqrt(n_features)
. -
Jeśli „log2”, to
max_features=log2(n_features)
. -
Jeśli Brak, to
max_features=n_features
.
Uwaga: wyszukiwanie podziału nie kończy się, dopóki nie zostanie znaleziona przynajmniej jedna partycja próbek węzłów, nawet jeśli wymaga to skutecznego sprawdzania więcej niż max_features
właściwości.
max_leaf_nodesint, default=None
rosną drzewa zmax_leaf_nodes
w najlepszy pierwszy sposób.Najlepsze węzły definiuje się jako względną redukcję zanieczyszczeń.Jeśli Brak, to Nieograniczona liczba węzłów liści.
min_impurity_decreasefloat, default=0.0
węzeł zostanie podzielony, jeśli ten podział spowoduje zmniejszenie impuritygreater niż lub równe tej wartości.
równanie zmniejszenia ważonego zanieczyszczenia jest następujące:
N_t / N * (impurity - N_t_R / N_t * right_impurity - N_t_L / N_t * left_impurity)
gdzieN
to całkowita liczba próbek,N_t
to liczba próbek w aktualny węzeł,N_t_L
jest liczbą próbek w potomku theft, aN_t_R
jest liczbą próbek w prawym potomku.
N
N_t
N_t_R
IN_t_L
wszystkie odnoszą się do sumy ważonej,jeślisample_weight
is passed.
nowy w wersji 0.19.
min_impurity_splitfloat, default=None
próg wczesnego zatrzymania w rozwoju drzewa. Węzeł podzieli jego nieczystość znajduje się powyżej progu, w przeciwnym razie jest to liść.
przestarzały od wersji 0.19:min_impurity_split
został przestarzały na rzeczmin_impurity_decrease
w 0.19. Domyślna wartość min_impurity_split
zmieniła się z 1e-7 na 0 w 0.23 i zostanie usunięta w 1.0 (zmiana nazwy 0.25).Zamiast tego użyj min_impurity_decrease
.
bootstrapbool, default=True
Czy próbki bootstrap są używane podczas budowania drzew. Jeśli False, cały zbiór danych jest używany do budowania każdego drzewa.
oob_scorebool, default=False
czy użyć gotowych próbek do oszacowania R^2 na niewidocznych danych.
n_jobsint, default=None
liczba zadań do wykonania równolegle. 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
kontroluje zarówno losowość rozruchu próbek używanych przy budowaniu drzew (jeślibootstrap=True
), jak i próbkowanie funkcji do rozważenia przy poszukiwaniu najlepszego podziału w każdym węźle(jeślimax_features < n_features
).Szczegóły w słowniczku.
verboseint, default=0
kontroluje słowność podczas dopasowywania i przewidywania.
warm_startbool, default=False
Po ustawieniu naTrue
, ponownie użyj rozwiązania poprzedniego wywołania, aby fitand dodać więcej estymatorów do zespołu, w przeciwnym razie po prostu dopasuj cały Nowy Las. Zobacz Słowniczek.
ccp_alphanon-negative float, default=0.0
parametr złożoności używany do przycinania minimalnego kosztu-złożoności. Zostanie wybrana grupa o największej złożoności kosztowej mniejszej niżccp_alpha
. Domyślnie przycinanie nie jest wykonywane. SeeMinimal koszt-złożoność przycinania szczegółów.
nowy w wersji 0.22.
max_samplesint lub float, default=None
Jeśli bootstrap jest prawdziwy, liczba próbek do pobrania z XTO trenuje każdy Estymator bazowy.
-
Jeśli brak (domyślnie), narysuj próbki
X.shape
. -
If int, then draw
max_samples
samples. -
If float, then draw
max_samples * X.shape
samples. Tak więcmax_samples
powinien znajdować się w przedziale(0, 1)
.
nowość w wersji 0.22.
atrybuty base_estimator_DecisionTreeRegressor
potomny szablon estymatora używany do tworzenia kolekcji fittedsub-estymatorów.
estymatory_list Decyzjireeregressor
zbiór dopasowanych sub-estymatorów.
feature_importances_
ndarray of shape (n_features,)
importowanie funkcji opartych na zanieczyszczeniach.
n_features_int
Liczba funkcji podczas wykonywaniafit
.
n_outputs_int
Liczba wyjść podczas wykonywaniafit
.
Oob_score_float
wynik zestawu danych treningowych uzyskany przy użyciu oszacowania out-of-bag.Ten atrybut istnieje tylko wtedy, gdyoob_score
jest prawdziwe.
Oob_prediction_ndarray of shape (n_samples,)
Przewidywanie obliczone z oszacowaniem out-of-bag na zestawie treningowym.Ten atrybut istnieje tylko wtedy, gdyoob_score
jest prawdziwe.
Zobacz również
DecisionTreeRegressor
ExtraTreesRegressor
uwagi
domyślne wartości parametrów sterujących wielkością drzew(np.max_depth
min_samples_leaf
itd.) prowadzą do w pełni wyrosłych i niepruszonych drzew, które w niektórych zestawach danych mogą być potencjalnie bardzo duże. Aby zmniejszyć zużycie pamięci, złożoność i rozmiar drzew należy kontrolować, ustawiając te wartości parametrów.
funkcje są zawsze losowo permutowane przy każdym podziale. W związku z tym najlepiej znaleziony podział może się różnić,nawet przy tych samych danych treningowych,max_features=n_features
I bootstrap=False
, jeśli poprawa kryterium jest identyczna dla kilku podziałów wymienionych podczas wyszukiwania najlepszego podziału. Aby uzyskać deterministyczne zachowanie podczas pracy,random_state
musi zostać naprawione.
domyślna wartośćmax_features="auto"
używan_features
zamiastn_features / 3
. To drugie zostało pierwotnie zasugerowane w, podczas gdy to pierwsze zostało niedawno uzasadnione empirycznie w .
1
-
Breiman, „Random Forests”, Machine Learning, 45(1), 5-32, 2001.
2
P. Geurts, D. Ernst., oraz 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)¶
Zastosuj drzewa w lesie do X, zwróć indeksy liści.
parametry X{array-like, sparse matrix} of shape (n_sample, n_features)
the input samples. Wewnętrznie jego typ D zostanie skonwertowany na dtype=np.float32
. Jeśli dostarczona jest rzadka macierz, zostanie ona przekształcona w rzadką csr_matrix
.
zwraca x_leavesndarray of shape (n_samples, n_estimators)
dla każdego datapoint x W X i dla każdego drzewa w lesie,zwraca indeks liścia, w którym kończy się X.
decision_path
(X)¶
zwraca ścieżkę decyzyjną w lesie.
nowy w wersji 0.18.
parametry X{array-like, sparse matrix} kształtu (n_samples, n_features)
próbki wejściowe. Wewnętrznie jego typ D zostanie skonwertowany na dtype=np.float32
. Jeśli dostarczona jest rzadka macierz, zostanie ona przekształcona w rzadką csr_matrix
.
zwraca indicatorsparse macierz kształtu (n_samples, n_nodes)
zwraca macierz wskaźnika węzła, w której niezerowe elementy wskazują, że próbki przechodzą przez węzły. Macierz jest z CSRformat.
n_nodes_ptrndarray kształtu (n_estimators + 1,)
kolumny ze wskaźnika:n_nodes_ptr]podaje wartość wskaźnika dla i-tego estymatora.
właściwośćfeature_importances_
¶
importowanie funkcji opartych na zanieczyszczeniach.
im wyższa, tym ważniejsza cecha.Znaczenie funkcji jest obliczane jako (znormalizowane)całkowite zmniejszenie kryterium przyniesionego przez tę cechę. Jest to również znane jako znaczenie Giniego.
Ostrzeżenie: importy funkcji oparte na zanieczyszczeniach mogą być mylące dla cech o wysokiej cardinalności (wiele unikalnych wartości). Zobaczsklearn.inspection.permutation_importance
jako alternatywę.
zwraca feature_importances_ndarray of shape (n_features,)
wartości tej tablicy sumują się do 1, chyba że wszystkie drzewa są pojedynczymi węzłami składającymi się tylko z węzła głównego, w którym to przypadku będzie to Array zer.
fit
(X, y, sample_weight=None)¶
Zbuduj las drzew z zestawu treningowego (X, y).
parametry X{array-like, sparse matrix} of shape (n_sample, n_features)
próbki wejściowe treningu. Wewnętrznie jego typ D zostanie skonwertowany do dtype=np.float32
. Jeśli dostarczona jest niewielka macierz, zostanie ona przekształcona w rzadką csc_matrix
.
yarray-podobne do kształtu (n_samples,) lub (n_samples, n_outputs)
wartości docelowe (etykiety klas w klasyfikacji, liczby rzeczywiste w klasyfikacji).
sample_weightarray-podobny do kształtu (n_samples,), default = None
wagi próbki . Jeśli nie, próbki są jednakowo ważone. Splits that would create child nodes with net zero or negative weight are signored while searching for a split in each nodes. W przypadku klasyfikacji, podziały są również ignorowane, jeśli spowodowałyby, że jedna klasa miałaby ujemną wagę w którymś z węzłów potomnych.
zwraca selfobjectget_params
(deep=True)¶
pobiera parametry dla tego estymatora.
parametry deepbool, default=True
Jeśli True, zwróci parametry dla tego estymatora i objekty podrzędne, które są estymatorami.
zwraca paramsdict
nazwy parametrów odwzorowane na ich wartości.
predict
(X)¶
przewidywany cel regresji próbki wejściowej jest obliczany jako przewidywane cele regresji drzew w lesie.
parametry X{array-like, sparse matrix} of shape (n_sample, n_features)
the input samples. Wewnętrznie jego typ D zostanie skonwertowany na dtype=np.float32
. Jeśli dostarczona jest rzadka macierz, zostanie ona przekształcona w rzadką csr_matrix
.
zwraca yndarray kształtu (n_samples,) lub (n_samples, n_outputs)
przewidywanych wartości.
score
(X, y, sample_weight=None)¶
Zwraca współczynnik determinacji \(R^2\) predykcji.
współczynnik \(R^2\) jest zdefiniowany jako \((1 – \frac{u}{v})\),gdzie \(u\) jest sumą resztkową kwadratów((y_true - y_pred)** 2).sum()
I \(v\) jest sumą całkowitą kwadratów((y_true -y_true.mean()) ** 2).sum()
. Najlepszy możliwy wynik to 1,0 i może być ujemny (ponieważ model może być arbitralnie gorszy). Stały model,który zawsze przewiduje oczekiwaną wartość y
, pomijając funkcje wejściowe, otrzymałby wynik \(R^2\) równy 0,0.
parametry Xarray-like kształtu (n_samples, n_features)
próbki testowe. Dla niektórych estymatorów może to być prekomputowana macierz kernela lub lista ogólnych obiektów o kształcie(n_samples, n_samples_fitted)
, gdzie n_samples_fitted
to liczba próbek użytych do dopasowania do estymatora.
yarray-like of shape (n_samples,) or (n_samples, n_outputs)
True values forX
.
sample_weightarray-podobny do kształtu (n_samples,), default = None
wagi próbki .
zwraca wynik
\(R^2\) z self.predict(X)
wrt. y
.
uwagi
wynik \(R^2\) używany podczas wywoływaniascore
na regresorze używa multioutput='uniform_average'
od wersji 0.23, aby zachować zgodność z domyślną wartością r2_score
.Wpływa to nascore
metodę wszystkich multioutputregressors (z wyjątkiemMultiOutputRegressor
).
set_params
(**params)¶
ustaw parametry tego estymatora.
metoda działa zarówno na prostych estymatorach, jak i na obiektach zagnieżdżonych(takich jak Pipeline
). Te ostatnie mająparametry postaci <component>__<parameter>
, dzięki czemu możliwe jest aktualizowanie każdego komponentu zagnieżdżonego obiektu.
parametry * * parametersdict
parametry estymatora.
zwraca instancję selfestimatora
instancję estymatora.