iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【Python】随机森林预测
  • 142
分享到

【Python】随机森林预测

python随机森林机器学习 2023-09-09 05:09:34 142人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

文章目录 前言一、为什么要使用RF1.优点:2.缺点: 二、使用步骤1.引入库2.读入数据3.缺失值数据处理4.哑变量数据的处理5.特征变量6.建模7.验证集结果输出对比8.决策树9.模型

文章目录


前言

建立多个决策树并将他们融合起来得到一个更加准确和稳定的模型,是bagging 思想和随机选择特征的结合。随机森林构造了多个决策树,当需要对某个样本进行预测时,统计森林中的每棵树对该样本的预测结果,然后通过投票法从这些预测结果中选出最后的结果。
随机主要体现在以下两个方面:

1. 随机取特征
2. 随机取样本,让森林中的每棵树既有相似性又有差异性


一、为什么要使用RF

1.优点:

  1. 准确率高运行起来高效(树之间可以并行训练)

  2. 不用降维也可以处理高维特征

  3. 给出了度量特征重要性的方法

  4. 建树过程中内部使用无偏估计

  5. 有很好的处理缺失值的算法

  6. 对于类别不平衡数据能够平衡误差

  7. 能够度量样本之间的相似性,并基于这种相似性对于样本进行聚类和筛选异常值

  8. 提出了一种衡量特征交互性的经验方法(数据中存在冗余特征时能很好的处理)

  9. 可以被扩展到无监督学习

  10. 易于检测模型准确性(如ROC曲线)

以上优点基于总结和个人看法

2.缺点:

  1. 黑盒,不可解释性强,多个随机导致了非常好的效果
  2. 在某些噪声较大的分类和回归问题上会过拟合
  3. 模型会非常大,越准确意味着越多的数
  4. 所生成的决策树量较多,分析较为麻烦

二、使用步骤

1.引入库

代码如下(示例):

import numpy as npimport pandas as pdfrom matplotlib import pyplot as pltfrom sklearn.decomposition import PCAfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.model_selection import train_test_splitimport seaborn as snsfrom six import StringIOfrom Ipython.display import Imagefrom sklearn.pipeline import Pipelinefrom sklearn.preprocessing import StandardScalerfrom sklearn.tree import export_graphvizimport pydotplusimport os

2.读入数据

代码如下(示例):

data_train = pd.read_excel("data_train.xlsx")# data_train.describe().to_excel('data_train_describe.xlsx')# 数据描述性分析print(data_train.describe())# 数据完整性、数据类型查看print(data_train.info())

运用统计学方法对数据进行整理和描述性分析


3.缺失值数据处理

# 数据缺失值个数total = data_train.isnull().sum().sort_values(ascending=False)# 缺失值数据比例percent = (data_train.isnull().sum() / data_train.isnull().count()).sort_values(ascending=False)print(total)print(percent)

上一幅代码是对缺失值数据的统计,下一幅代码是对缺失值数据的填充。

# 缺失值填充data_train['x1'] = data_train['x1'].fillna(0)print(data_train.isnull().sum().max())

4.哑变量数据的处理

# 哑变量处理data_train.loc[data_train['x10'] == '类别1', 'x10'] = 1data_train.loc[data_train['x10'] == '类别2', 'x10'] = 2a = pd.get_dummies(data_train['x10'], prefix="x10")frames = [data_train, a]data_train = pd.concat(frames, axis=1)data_train = data_train.drop(columns=['x10'])data_train.to_excel('data_train_yucl.xlsx')

5.特征变量

# 特征变量x1和标签变量y关系的散点图var = 'x1'data = pd.concat([data_train['y'], data_train[var]], axis=1)data.plot.scatter(x=var, y='y')plt.show()# 特征变量x5和标签变量y关系的散点图var0 = 'x5'data0 = pd.concat([data_train['y'], data_train[var0]], axis=1)data0.plot.scatter(x=var0, y='y')plt.show()
# 特征数据和标签数据拆分X = data_train.drop(columns=['y'])y = data_train['y']

特征数据的分析是为了更好的找出变量的重要程度。feature selection 的本质就是对一个给定特征子集的优良性通过一个特定的评价标准(evaluation criterion)进行衡量.通过特征选择,原始特征集合中的冗余(redundant)特征和不相关(irrelevant)特征被除去。而有用特征得以保留。这样模型相同,数据相同,而特征变量的选取不同,将会对结果带来巨大的影响,这也说明了在不同环境下,选取不同的特征变量进行分析的重要性。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.建模

#  建模forest = RandomForestRegressor(    n_estimators=100,    random_state=1,    n_jobs=-1)forest.fit(X_train, Y_train)score = forest.score(X_validation, Y_validation)print('随机森林模型得分: ', score)y_validation_pred = forest.predict(X_validation)

通过调用RandomForestRegressor,我们可以进行建模,当然这也是最基础的建模。

7.验证集结果输出对比

# 验证集结果输出与比对plt.figure()plt.plot(np.arange(1000), Y_validation[:1000], "Go-", label="True value")plt.plot(np.arange(1000), y_validation_pred[:1000], "ro-", label="Predict value")plt.title("True value And Predict value")plt.legend()plt.show()

在这里插入图片描述

8.决策树

# 生成决策树# dot_data = StringIO()with open('./wine.dot','w',encoding='utf-8') as f:    f=export_graphviz(pipe.named_steps['regressor'].estimators_[0], out_file=f)# graph = pydotplus.graph_from_dot_data(dot_data.getvalue())# graph.write_png('tree.png')# Image(graph.create_png())

9.模型特征重要性

col = list(X_train.columns.values)importances = forest.feature_importances_x_columns = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10_类别1', 'x10_类别2']# print("重要性:", importances)# 返回数组从大到小的索引

在这里插入图片描述

总结

通过随机森林模型的预测,可以发现所预测数据和真实的数据很接近,并且得分较高。

来源地址:https://blog.csdn.net/m0_65157892/article/details/129502566

--结束END--

本文标题: 【Python】随机森林预测

本文链接: https://www.lsjlt.com/news/400994.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Python】随机森林预测
    文章目录 前言一、为什么要使用RF1.优点:2.缺点: 二、使用步骤1.引入库2.读入数据3.缺失值数据处理4.哑变量数据的处理5.特征变量6.建模7.验证集结果输出对比8.决策树9.模型...
    99+
    2023-09-09
    python 随机森林 机器学习
  • python实现对森林生物量进行随机森林回归预测
    使用随机森林回归预测森林生物量(python) 随机森林算法的基本思想是基于多颗决策树的集成学习过程,使用场景广泛,一般的分类回归问题都可以使用。我们以光学影像为例,来估测森林生物量。 建立回归关系需...
    99+
    2023-09-12
    python 随机森林 回归
  • 使用python中的随机森林进行数据回归预测
    当使用随机森林进行数据回归预测时,你可以遵循以下步骤: 导入必要的库: from sklearn.ensemble import RandomForestRegressorfrom sklearn.m...
    99+
    2023-09-28
    python 随机森林 回归
  • 基于随机森林算法的森林生物量反演【Matlab Python】
    一、意义以及技术路线   估算森林生物量的方法大致可归为以下两种 :一是传统估算方法,大多是采用抽样方法获取野外调查数据估算森林生物量,这种方法往往需要较多的人力物力来完成,并且获取的数据不具有空间连续性特征,无法反映环境因子对估算结果的影...
    99+
    2023-09-28
    随机森林 算法 机器学习 python matlab
  • Python随机森林模型是什么
    这篇“Python随机森林模型是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python随机森林模型是什么”文章吧。1...
    99+
    2023-07-02
  • 随机森林模型及案例(Python)
    目录 1 集成模型简介 1.1 Bagging算法简介 1.2 Boosting算法简介 2 随机森林模型基本原理 3 使用sklearn实现随机森林模型 4 案例:股票涨跌预测模型 4.1 股票衍生变量生成 4.1.1 获取股票基本数据 ...
    99+
    2023-09-01
    学习
  • python随机森林算法怎么实现
    要实现随机森林算法,可以使用sklearn库中的RandomForestClassifier类。下面是一个简单的例子:```pyth...
    99+
    2023-10-10
    python
  • Matlab利用随机森林(RF)算法实现回归预测详解
    目录1 分解代码1.1 最优叶子节点数与树数确定1.2 循环准备1.3 数据划分1.4 随机森林实现1.5 精度衡量1.6 变量重要程度排序1.7 保存模型2 完整代码本文分为两部分...
    99+
    2023-02-17
    Matlab随机森林 回归预测 Matlab 回归预测 Matlab随机森林
  • python怎么实现随机森林算法
    要实现随机森林算法,你可以使用scikit-learn库中的RandomForestClassifier类。下面是一个示例代码:``...
    99+
    2023-08-15
    python
  • 保姆级随机森林算法Python教学
    摘要         机器学习算法是数据挖掘、数据能力分析和数学建模必不可少的一部分,而随机森林算法和决策树算法是其中较为常用的两种算法,本文将会对随机森林算法的Python实现进行保姆级教学。 0 绪论         数据挖掘和数学建模...
    99+
    2023-09-27
    python 随机森林
  • Python如何实现孤立随机森林算法
    这篇文章主要介绍Python如何实现孤立随机森林算法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 简介孤立森林(isolation Forest)是一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划...
    99+
    2023-06-29
  • R语言如何实现随机森林
    这篇文章主要为大家展示了“R语言如何实现随机森林”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“R语言如何实现随机森林”这篇文章吧。随机森林算法介绍算法介绍:简单的说,随机森林就是用随机的方式建立...
    99+
    2023-06-20
  • python大数据之随机森林(回归与分类)
    随机森林在大数据运用中非常的常见,它在预测和回归上相比于SVM,多元线性回归,逻辑回归,多项式回归这些,有着比较好的鲁棒性。 随机森林是一个用随机方式建立的,包含多个决策树的分类器。其输出的类别是由各...
    99+
    2023-10-20
    python 大数据 随机森林
  • python人工智能算法之随机森林流程详解
    目录随机森林优缺点总结随机森林 (Random Forest)是一种基于决策树(前文有所讲解)的集成学习算法,它能够处理分类和回归两类问题。 随机森林的基本思想是通过随机选择样本和...
    99+
    2023-03-21
    python 人工智能算法随机森林 python 人工智能
  • 随机森林算法(Random Forest)原理分析及Python实现
    目录 一、基础概念1.监督式机器学习2. 回归和分类3. 决策树4. 随机森林 二、Random Forest 的构造1. 算法实现2.数据的随机选取3. 待选特征的随机选取 三、Ra...
    99+
    2023-09-27
    python 算法 随机森林
  • 大数据分析案例-基于随机森林算法构建返乡人群预测模型
    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.项目背景 2.项目简介 2.1研究目的...
    99+
    2023-08-31
    python 数据分析 大数据 数据挖掘
  • python人工智能算法之随机森林流程是什么
    本文小编为大家详细介绍“python人工智能算法之随机森林流程是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“python人工智能算法之随机森林流程是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。随机森...
    99+
    2023-07-05
  • Python实现孤立随机森林算法的示例代码
    目录1 简介2 孤立随机森林算法2.1 算法概述2.2 原理介绍2.3 算法步骤3 参数讲解4 Python代码实现 5 结果 1 简介 孤立森林(isolati...
    99+
    2024-04-02
  • python人工智能算法之随机森林怎么实现
    这篇文章主要介绍了python人工智能算法之随机森林怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python人工智能算法之随机森林怎么实现文章都会有所收获,下面我们一起来看看吧。随机森林(Random...
    99+
    2023-07-06
  • python机器学习基础决策树与随机森林概率论
    目录一、决策树原理概述1.决策树原理2.信息论①信息熵②决策树的分类依据③其他决策树使用的算法④决策树API二、决策树算法案例1.案例概述2.数据处理3.特征工程4.使用决策树进行预...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作