更新于 2026年7月11日

随机森林#

随机森林 (Random Forest) 是一种强大的监督式机器学习算法,属于集成学习(Ensemble Learning)中的 Bagging(装袋法)类别。它通过构建多棵决策树并将它们的预测结果合并来完成分类或回归任务,能有效减少单棵树容易出现的过度拟合(Overfitting)问题。

示例代码#

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split

def load_data():
    data = load_iris()
    x, y = data.data, data.target
    x_train, x_test, y_train, y_test \
        = train_test_split(x, y, test_size=0.3,random_state=1)
    ss = StandardScaler()
    x_train = ss.fit_transform(x_train)
    x_test = ss.transform(x_test)
    return x_train, x_test, y_train, y_test

if __name__ == '__main__':
    x_train, x_test, y_train, y_test = load_data()
    model = RandomForestClassifier(n_estimators=2, max_features=3,
                                   random_state=2)
    model.fit(x_train, y_train)
    print(model.score(x_test, y_test))

运行结果#

0.9555555555555556
阅读 --

9.2 随机森林

在本节中,我们首先介绍了随机森林的基本原理,然后介绍了sklearn中随机森林模块RandomForestClassifier的基本用法及其中常见参数的作用,最后详细介绍了如何通过随机森林来对特征进行重要性评估,包括具体的计算及示例代码等。