Articles

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, tomin_samples_splitjest ułamkiem, a ceil(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, tomin_samples_leafjest ułamkiem, a ceil(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, tomax_featuresjest ułamkiem, a round(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.

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

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ż

DecisionTreeRegressorExtraTreesRegressor

uwagi

domyślne wartości parametrów sterujących wielkością drzew(np.max_depthmin_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_featureszamiastn_features / 3. To drugie zostało pierwotnie zasugerowane w, podczas gdy to pierwsze zostało niedawno uzasadnione empirycznie w .

1

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

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

przykłady z użyciem sklepu.komplet.RandomForestRegressor