一、随机森林:
随机森林:多颗决策树构建而成,每一颗树都是决策树。在分类器构造中引入随机性来创建多样化的分类器集。
多颗决策树一起运算 ---------- 》 集成算法随机森林,极限森林。
随机性体现:
1、抽样的随机性
2、分裂条件随机(选最好的裂分条件)。
随机性的目的:减少森林估计量的方差
过拟合:
欠拟合:
单个决策树通常表现出较高的方差并且倾向于过渡拟合,随机森林中注入的随机性产生决策树,其预测误差有些解耦,通过取这些预测的平均值,可以消除一些误差,随机森林通过组合不同的树木来减少变化,有时会以略微增加偏差为代价。在实践中,方差减小通常很明显,因此产生了总体上更好的模型。
二、代码演练
import numpy as np
# 绘制图
import matplotlib.pyplot as plt
%matplotlip inline
# 随机森林算法
from sklearn.ensemble import RandomForestClassifier
# 获取数据集
from sklearn import datasets
import pandas as pd
# 随机切分数据集
from sklearn.model_selection import train_test_split
# 加载数据
wine = datasets.load_wine()
X = wine['data']
y = wine['target']
# 随机切分数据
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
# 算法选择
clf = RandomForestClassifier(n_estimators=100)
# 训练数据
clf.fit(X_train,y_train)
# 预测数据
y_ = clf.predict(X_test)
# 计算准确率
from sklearn.metrics import accuracy_score
accuracy_score(y_test,y_)