随机森林通过对训练数据随机抽样生成多个决策树,每个决策树都是根据随机选择的特征子集进行构建。在决策树的构建过程中,随机森林采用了自助采样(Bootstrap Sampling)和特征随机选择(Feature Randomness)的策略,使得每个决策树都具有一定的差异性。
在进行预测时,随机森林通过对每棵决策树的预测结果进行投票或平均来得到最终的预测结果。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_classification from sklearn.ensemble import RandomForestClassifier # 生成随机数据集 X, y = make_classification(n_samples=100, n_features=2, n_informative=2, n_redundant=0, n_clusters_per_class=1, random_state=42) # 创建随机森林分类器 clf = RandomForestClassifier(n_estimators=100, random_state=42) # 在数据集上训练分类器 clf.fit(X, y) # 绘制决策边界 plt.figure(figsize=(8, 6)) # 生成网格点 xx, yy = np.meshgrid(np.linspace(-4, 4, 100), np.linspace(-4, 4, 100)) Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) # 将预测结果可视化 Z = Z.reshape(xx.shape) plt.contourf(xx, yy, Z, alpha=0.8, cmap= 'RdYlBu' ) # 绘制数据点 plt.scatter(X[:, 0], X[:, 1], c=y, cmap= 'RdYlBu' , edgecolor= 'k' ) plt.xlabel( 'Feature 1' ) plt.ylabel( 'Feature 2' ) plt.title( 'Random Forest Classifier Decision Boundary' ) plt.show() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!