随机森林算法介绍:
随机森林(Random Forest)是一种集成学习方法,通过构建多个决策树并综合它们的预测结果来完成分类或回归任务。随机森林在每棵决策树的训练过程中引入了随机性,包括对数据和特征的随机采样,以降低过拟合风险并提高模型的泛化能力。
随机森林的基本思想包括:
- 从原始数据集中随机抽取部分样本(有放回抽样)形成新的训练集。
- 针对每个训练集构建一个决策树,并在每个节点上随机选择一部分特征进行分裂。
- 对于分类问题,通过投票方式或平均值来确定最终预测结果;对于回归问题,通过平均值来确定最终预测结果。
随机森林通常表现出色的泛化能力、鲁棒性和对高维数据的适应能力,广泛用于分类、回归、特征选择等任务。
随机森林代码例程:
以下是一个使用 Python 和 Scikit-learn 模块实现简单随机森林分类的代码示例:
# 导入必要的库
import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 准备数据
iris = datasets.load_iris()
X = iris.data # 特征变量
y = iris.target # 目标变量
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建随机森林分类模型对象
model = RandomForestClassifier(n_estimators=100, random_state=42)
# 使用训练集训练模型
model.fit(X_train, y_train)
# 进行预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)
以上代码演示了如何使用随机森林分类模型对鸢尾花数据集进行训练和预测。