Python Dataframe:每次运行随机森林回归器时均方根误差分数不同

2024-01-11

我目前使用以下代码运行随机森林模型。我将 random_state 设置为 100。

from sklearn.cross_validation import train_test_split

X_train_RIA_INST_PWM, X_test_RIA_INST_PWM, y_train_RIA_INST_PWM, y_test_RIA_INST_PWM = train_test_split(X_RIA_INST_PWM, Y_RIA_INST_PWM, test_size=0.3, random_state = 100)



# Random Forest Regressor for RIA_INST_PWM accounts  

import numpy as np
from sklearn.ensemble import RandomForestRegressor

regressor_RIA_INST_PWM = RandomForestRegressor(n_estimators=100, min_samples_split = 10)
regressor_RIA_INST_PWM.fit(X_RIA_INST_PWM, Y_RIA_INST_PWM)

print ("R^2 for training set:"),
print (regressor_RIA_INST_PWM.score(X_train_RIA_INST_PWM, y_train_RIA_INST_PWM))

print ('-'*50)

print ("R^2 for test set:"),
print (regressor_RIA_INST_PWM.score(X_test_RIA_INST_PWM, y_test_RIA_INST_PWM))

然后我使用以下代码来计算预测值。

def predict_AUM(df, features, regressor):

    # Reset index for later merge of predicted target values with Account IDs
    df.reset_index();

    # Set predictor variables 
    X_Predict = df[features]

    # Clean inputs 
    X_Predict = X_Predict.replace([np.inf, -np.inf], np.nan)
    X_Predict = X_Predict.fillna(0)

    # Predict Current_AUM
    Y_AUM_Snapshot_1yr_Predict = regressor.predict(X_Predict)
    df['PREDICTED_SPAN'] = Y_AUM_Snapshot_1yr_Predict

    return df 

df_EVENT5_20 = predict_AUM(df_EVENT5_19, dfzip_features_AUM_RIA_INST_PWM, regressor_RIA_INST_PWM)

最后,我计算结果的 RMSE:

from sklearn.metrics import mean_squared_error
from math import sqrt

rmse = sqrt(mean_squared_error(df_EVENT5_20['SPAN_DAYS'], df_EVENT5_20['PREDICTED_SPAN']))
rmse

每次我运行我的代码......我的 RMSE 都会改变。它从 7.75 变化到 16.4 为什么会发生这种情况?每次运行代码时如何才能获得相同的 RMSE?此外,如何针对 RMSE 优化模型?


您仅播种了 train_test_split,这确保了训练集和测试集的数据随机分配是可重复的。

顾名思义RandomForestRegressor 还包含算法中依赖于随机数的部分(例如,数据的特定不同部分或用于训练单个决策树的不同特征)。如果你想要可重复的结果,你也需要播种。为此,您需要使用 random_state 来初始化它,如下所示:

regressor_RIA_INST_PWM = RandomForestRegressor(
                           n_estimators=100, 
                           min_samples_split = 10, 
                           random_state=100
                         )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Dataframe:每次运行随机森林回归器时均方根误差分数不同 的相关文章

  • 使用 Flask-restful RequestParser 进行嵌套验证

    使用烧瓶宁静 http flask restful readthedocs org 微框架 我在构建一个RequestParser这将验证嵌套资源 假设预期的 JSON 资源格式为 a list obj1 1 obj2 2 obj3 3 o
  • 理解Python中的元类和继承[重复]

    这个问题在这里已经有答案了 我对元类有一些困惑 具有继承性 class AttributeInitType object def init self kwargs for name value in kwargs items setattr
  • 数据操作 startdate enddate python pandas

    我有一个促销描述数据集 其中包含有关正在运行的各种促销活动及其开始日期 结束日期的信息 promo item start date end date Buy1 get 1 A 2015 01 08 2015 01 12 Buy1 get 1
  • Enthought Python 中的线程 FFT

    Numpy SciPy 中的快速傅立叶变换 FFT 不是线程化的 Enthought Python 附带 Intel MKL 数值库 该库能够进行线程 FFT 如何获得这些例程 以下代码适用于 Windows 7 Ultimate 64 位
  • 是否可以将名为“None”的值添加到枚举类型?

    我可以将名为 None 的值添加到枚举中吗 例如 from enum import Enum class Color Enum None 0 represent no color at all red 1 green 2 blue 3 co
  • 将带有非字符串关键字的 dict 传递给 kwargs 中的函数

    我使用具有签名功能的库f args kwargs 我需要在 kwargs 参数中传递 python dict 但 dict 不包含关键字中的字符串 f 1 2 3 4 Traceback most recent call last File
  • 将图像转换为二进制流

    我的应用程序有两个方面 一方面我使用 C 来使用 Pleora 的 EBUS SDK 从相机读取帧 当第一次接收到该流时 在将缓冲区转换为图像之前 我能够一次读取 16 位流 以便对每个像素执行一些计算 即每个像素都存在一个 16 位数据块
  • 无法将 python 数据框中的列类型从 object 转换为 str

    我已经下载了一个csv文件 然后将其读取到python dataframe 现在所有4列都有对象类型 我想将它们转换为str类型 现在dtypes的结果如下 Name object Position Title object Departm
  • 导入错误:无法导入名称 urandom

    我正在构建一个新的 Linux 环境 并在 Python 上看到以下错误 python c import random Traceback most recent call last File
  • 从文件中读取单词并放入列表中

    本质上 我有一个巨大的文件 所有文件包含每行多个单词 每个单词用空格分隔 有点像这样 WORD WORD WORD WORD ANOTHER WORD SCRABBLE BLAH YES NO 我想要做的是将文件中的所有单词放入一个巨大的列
  • __subclasses__ 没有显示任何内容

    我正在实现一个从适当的子类返回对象的函数 如果我搬家SubClass from base py 没有出现子类 subclasses 它们必须在同一个文件中吗 也许我从来没有直接导入subclass py对Python隐藏子类 我能做些什么
  • 可变和不可变类变量如何初始化?

    运行下面的示例代码 class S i 0 a def init self self i 1 self a append 1 s1 S print s1 i s1 a s2 S print s2 i s2 a 输出将是 1 1 1 1 1
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • 使用 pythons strftime 显示日期,例如“5 月 5 日”? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 日期顺序输出 https stackoverflow com questions 739241 python date ordinal output 在Python中 time strf
  • pip:证书失败,但curl 有效

    我们在客户端安装了根证书 https 连接适用于curl 但如果我们尝试使用pip 它失败 Could not fetch URL https installserver 40443 pypi simple pep8 There was a
  • 如何克服 numpy.unique 的 MemoryError

    我正在使用 Numpy 版本 1 11 1 并且必须处理一个二维数组 my arr shape 25000 25000 所有值都是整数 我需要一个唯一的数组值列表 使用时lst np unique my arr 我正进入 状态 Traceb
  • 使用 boto3 将 csv 文件保存到 s3

    我正在尝试写入 CSV 文件并将其保存到 s3 中的特定文件夹 存在 这是我的代码 from io import BytesIO import pandas as pd import boto3 s3 boto3 resource s3 d
  • 使用 PuLP 进行线性优化,变量附加条件

    我必须用 Pull 解决 Python 中的整数线性优化问题 我解决了基本问题 现在我必须添加额外的约束 有人可以帮助我用逻辑指示器添加条件吗 逻辑限制是 如果 A gt 20 则 B gt 5 这是我的代码 from pulp impor
  • 矩阵求逆 (3,3) python - 硬编码与 numpy.linalg.inv

    对于大量矩阵 我需要计算定义为的距离度量 尽管我确实知道强烈建议不要使用矩阵求逆 但我没有找到解决方法 因此 我尝试通过对矩阵求逆进行硬编码来提高性能 因为所有矩阵的大小均为 3 3 我预计这至少会是一个微小的改进 但事实并非如此 为什么
  • 每行中最后一次出现 True 的索引

    我有一个二维数组 a False False False False False True True True True True True True True True True True True True True True True

随机推荐

  • 什么是 GWT 字节缓存文件?

    作为背景 今天我的 GWT 托管模式运行速度神秘地减慢到几乎无法工作的程度 每当我暂停应用程序时 相关线程 主线程 代码服务器等 都会等待某些文件 I O 本机方法 挠头一阵子后 我尝试清理一下我的硬盘 然后我刚刚在我的用户中发现Temp文
  • 在 Mac OS 上安装 Rails 失败并出现多个错误

    我尝试在 Mac OS v10 10 4 系统上安装 Rails 但运行时失败brew install rbenv ruby build 错误是 Error Permission denied usr local etc openssl W
  • PRNG 需要线程安全吗?

    只要并发调用不会导致 seg v 或返回相同的值 就有什么理由可以防止竞争条件和数据损坏PRNGs http en wikipedia org wiki Pseudorandom number generator当这些错误的主要影响是不可预
  • 如何在不删除约束的情况下从表中删除

    我有一个问题 我需要在不删除或暂停约束的情况下删除信息 问题是否允许放弃约束很简单 但是我可以将值从 NULL 更改为 NOT NULL DELETE FROM SUPPLIER WHERE COUNTRY USA 然而 另一个表 PROD
  • 方向改变时片段 Backstack 不会恢复

    我有一个FragmentActivity 当用户浏览应用程序时 我将当前片段替换为用户选择的片段 并将事务添加到后台堆栈 一切正常 用户可以通过按后退按钮返回到之前的片段 当设备方向改变时就会出现问题 假设用户看到的第一个片段是 A 然后他
  • 使用最小起订量模拟静态类

    我正在 NUnit 的帮助下编写单元测试用例 并且有一些静态类需要模拟来运行测试用例 所以我们可以在以下帮助下模拟静态类吗MOQ模拟框架 如果有人有想法 请提出建议 有两种方法可以实现这一点 正如 PSGuy 所说 您可以创建一个代码可以依
  • Google Delegates 讨论日历框架/EventKit

    我一直假设 Google 代表可以通过 iCal 和 calendar app 查看 但我们开发人员无法通过日历框架或 EventKit 看到 这有改变吗 我也有这个问题 日历出现两次 取消选择代表 过了一会儿 一切都消失了 显然这是谷歌方
  • 如何检测服务器是否正在使用 SPDY

    有什么方法可以检测远程网站是否支持 SPDY 以及它是什么版本 我可以从命令行使用一些东西 比如 bash 脚本 尝试使用curl发送自定义用户代理标头 但无法获得任何对我有帮助的响应标头 这个想法是能够为任何域获取 SPDY true f
  • c# text/winForm 覆盖视频游戏,如 xfire、PIX、steam、fraps 等

    我知道有很多关于这个主题的帖子 但是几个月来我一直在寻找解决方案 我在谷歌上查了大约 300 个关于这个的帖子 我发现的唯一好的东西是一个 C 程序 它在 League 的窗口上绘制了一个彩色矩形 我对directx不是很熟悉 我的程序是用
  • 在 Python 中训练后,神经网络没有给出预期的输出

    我的神经网络在 Python 训练后没有给出预期的输出 代码有错误吗 有什么方法可以减少均方误差 MSE 吗 我尝试重复训练 运行程序 网络 但它没有学习 而是给出相同的 MSE 和输出 这是我使用的数据 https drive googl
  • 阻止内核处理绑定到原始套接字的 TCP 段

    根据http linux die net man 7 raw http linux die net man 7 raw raw socket socket AF INET SOCK RAW int protocol 是创建原始套接字的方法
  • MySQL 触发器将列设置为 max + 1 不起作用

    我在编写一个触发器来将一组用户 ID 的排名列设置为最大排名值加 1 时遇到困难 也许代码比我的描述更有帮助 CREATE TABLE saved listing saved listing id int 10 NOT NULL auto
  • 如何使用 Response 对象在 Symfony 2 中强制下载 .csv 文件?

    我正在使用 Symfony 2 制作一个 下载 控制器 其唯一目的是发送标头 以便我可以强制下载 csv 文件 但它无法正常工作 response new Response response gt headers gt set Conten
  • WindowsFormsHost 始终位于 WPF 元素的最顶层

    如何设置 windowsformshost 的 z index 它们并不总是位于 WPF 元素的顶部 根据 MSDN WindowsFormsHost 元素的布局注意事项 http msdn microsoft com en us libr
  • UICollectionView 在 unhighlightAllItems 上崩溃

    我收到了几份与 iOS 7 中的 UICollectionView 相关的崩溃报告 我无法始终如一地重新创建此崩溃 Exception Type SIGSEGV Exception Codes SEGV ACCERR at 0x91c439
  • 如何在调用 startInstrumentation 后优雅地等待测试用例完成

    我有一组应用程序 每个应用程序都有相关的测试用例工具 我正在从另一个 启动器 应用程序 作为服务实现 以编程方式启动仪器 使用startInstrumentation 如本例所示 https stackoverflow com a 9815
  • 同一个表的不同列的计数总和

    下表称为表 x y 1 2 1 5 5 2 5 1 我想要sql查询得到以下结果 id count total 1 3 2 2 5 3 笔记 我能够单独计算每个 id 的行数 但无法获得同一 id 的总和 所以我想在单个查询中组合或获取以下
  • 转换为 Dalvik 格式失败,错误 1 ​​解决方案? [复制]

    这个问题在这里已经有答案了 我正在为 Android 编写一个应用程序 在我向程序添加选项卡布局后 出现错误 转换为 Dalvik 格式失败 错误 1 我尝试清理该项目并查看该网站上问题的所有其他解决方案 有人还找到了这个错误的一些晦涩的解
  • 如何在哈希中找到键以映射到与条件匹配的元素?

    我有一个将整数映射到数组的哈希 例如 1 gt abc 2 gt ccc ddd 如何从哈希中获取包含至少 2 个元素的数组的所有键 1 gt abc 2 gt ccc ddd select a a length gt 1 keys gt
  • Python Dataframe:每次运行随机森林回归器时均方根误差分数不同

    我目前使用以下代码运行随机森林模型 我将 random state 设置为 100 from sklearn cross validation import train test split X train RIA INST PWM X t