Notas de estudo florestal aleatório

introdução

A floresta aleatória é um algoritmo de aprendizado conjunto que seleciona o melhor método de modelo modelando vários métodos de classificação.

Algoritmo de aprendizado integrado: Os resultados de modelagem de vários estimadores são integrados e um resultado abrangente é obtido após a sumarização, de modo a obter melhor desempenho de regressão ou classificação do que um único modelo.

Algoritmos comuns de aprendizado de conjunto incluem Random Forest, Gradient Boosting Tree (GBDT) e Xgboost.

Tipos de algoritmos integrados

Bagging: construa vários modelos, preveja independentemente uns dos outros e execute cálculo médio ou votação majoritária nos resultados da previsão para determinar o resultado do estimador de conjunto. Um exemplo típico é a floresta aleatória.

Boosting: Primeiro, use um modelo para fazer previsões e, em seguida, para amostras com resultados de previsão errados, um peso maior será dado no próximo modelo de previsão para fazer previsões. A ideia central é fortalecer continuamente vários modelos com efeitos de avaliação fracos para formar um modelo poderoso. Os modelos representativos são Adaboost e Gradient Boosted Trees.

Biblioteca de Algoritmos Integrados

tipo Função
ensemble.AdaBoostClassifier classificação AdaBoost
ensemble.AdaBoostRegressor AdaBoost retorna
conjunto.BaggingClassifier classificador de ensacamento
ensemble.BaggingRegressor regressor ensacado
ensemble.ExtraTreesClassifier Classificação de árvores extras
ensemble.ExtraTreesRegressor Regressão de árvores extras
ensemble.GradientBoostingClassifier Classificação de aumento de gradiente
ensemble.GradientBoostingRegressor regressão de aumento de gradiente
conjunto.IsolationForest floresta de isolamento
conjunto.RandomForestClassifier Classificação em Random Forest
conjunto.RandomForestRegressor regressão florestal aleatória
ensemble.RandomForestEmbedding Conjunto completo de árvores aleatórias
ensemble.VotingForestClassifier Classificadores de regra de voto suave/maioria para estimadores impróprios

Processo de modelagem RandomForest

1. Instancie e crie um objeto de modelo de avaliação

2. Treine o modelo por meio da interface do modelo

3. Extraia as informações necessárias por meio da interface do modelo

from sklearn.ensemble import RandomForestClassifier 

rfc = RandomForestClassifier
rfc = rfc.fit(X_train, y_train)
result = rfc.score(x_test,y_test)

protótipo de função

class.sklearn.ensemble.RandomForestClassifier(n_estinators='10',criterion='gini',max_depth=Nenhum,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0,0,max_features='auto',max_leaf_nodes=Nenhum,min_impurity_decrease=0,0, min_impurity_split=Nenhum,bootstrap=Verdadeiro,oob_score=Falso,n_jobs=Nenhum,random_state=Nenhum,verbose=0,warm_start=Falso,class_weight=Nenhum)

Introdução de parâmetros

A maioria deles é igual à Árvore de Decisão.

parâmetro
n_estimadores

O número de árvores na floresta, geralmente quanto maior o número, melhor o efeito, mas o tempo de cálculo também aumentará.

Quando o número de árvores excede um valor crítico, o efeito do algoritmo não melhora significativamente. 

max_features

O tamanho do subconjunto aleatório de recursos considerados ao dividir um nó.

Quanto menor o valor, mais a variância é reduzida, mas o viés também é aumentado. Como regra geral, usar  max_features = None (sempre considerar todos os recursos) para problemas de regressão e usar  max_features = "sqrt" (considerar  sqrt(n_features) recursos aleatoriamente, onde  n_features é o número de recursos) para problemas de classificação é um bom padrão.

profundidade máxima

min_samples_split

max_depth = Nonemin_samples_split = 2 Combinando  com 
bootstrap Em florestas aleatórias, a amostragem bootstrap é usada por padrão ( bootstrap = True), enquanto a estratégia padrão para árvores extras é usar todo o conjunto de dados ( bootstrap = False). Ao usar o método de amostragem bootstrap para amostrar, a precisão da generalização pode ser estimada a partir das amostras restantes ou fora do saco, e a configuração  oob_score = True pode ser alcançada.

おすすめ

転載: blog.csdn.net/xzhu4571/article/details/125329176