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 |
profundidade máxima min_samples_split |
max_depth = None min_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. |