随机森林分类应用在预测外汇涨跌上,我做的模型为啥精度这么奇怪,求大神给解释下

刚开始接触金融量化投资这块。导师让做一个随机森林的模型,数据是老师给的大概6000条的外汇交易数据(包含开盘、收盘,最高,最低价),利用这4个特征算出来另外11个特征,并且根据开盘和收盘价给数据打好了一列标签也就是Y。
(交易日期 开盘价 最高价 最低价 收盘价 MACD MACDsignal MACDhist MA10_talib RSI k d j upper middle lower div label)这些是所有的列名,相当于输入特征有15个,输出为y(label),y是判断1或者0或者-1;

随机森林部分代码如下:

from sklearn.ensemble import RandomForestClassifier
X_train,X_test,Y_train,Y_test= train_test_split(x,y,test_size=0.3,random_state=1)
rf = RandomForestClassifier(n_estimators=100, max_depth=20,bootstrap=True,random_state=1)#基分类器
rf.fit(X_train, Y_train)
print('Training set score:{:.3f}'.format(rf.score(X_train,Y_train)))
print('Test set score:{:.3f}'.format(rf.score(X_test,Y_test)))

输出结果如下:Training set score:1.000
Test set score:0.998

这结果搞得我有点怕。。。。。求大神给讲讲

0

1个回答

我觉得出现这个结果的原因可能有两个:
1.数据质量比较好,这些数据可能都是前人整理清洗过的数据,用来做基础练习用的;
2.第二个问题我觉得是值得你注意的,在数据集划分阶段你只做了一次70%/30%的随机抽样,实验结果的偶然性和误差肯定较大,模型泛化能力可能较差。现在大家在做机器学习model selection的时候是常常会用K-fold交叉验证的方法,具体原理你可以去百度,这样结果更具说服力。
你可以在你的基础上加上这些代码,简单看一下,score平均都很高的话说明就是第一种情况:
from sklearn.model_selection import cross_val_score
scores = cross_val_score(rf, x, y, cv=10) #10折交叉验证
print(scores)

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
随机森林分类做出精确度是100%
呃,一定是哪里错了。各位大侠有空帮忙看看,这是不太可能的结果啊。我把码贴下面了啊。ndata_test_target = pd.read_csv(r"C:\Database\Titanic_Machine Learning from Disaster\gender_submission.csv")ndata_test_m = pd.merge(data_test, data_test_target...
随机森林二分类建模
由于对r相对比较熟悉,先用的r处理数据,但是跑模型太慢,因此用py跑的模型。用了逻辑回归和随机森林,显然后者要好很多,因为维度一千多个,而且逻辑回归要涉及到更详细的特征处理,第一部分是r代码,第二部分是pyn一 r codenrm(list=ls())nlibrary(caret)ntrain_xntrain_yntrainnnnrepnfor (i in 1:6){n  r
利用随机森林算法实现Bank风险预测
源码分享及数据集分享:https://github.com/luo948521848/BigDatasnn在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 “Random Forests” 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提...
gcForest算法理解
介绍gcForest(multi-Grained Cascade forest 多粒度级联森林)是周志华最新提出的新的决策树集成方法。这种方法生成一个深度树集成方法(deep forest ensemble method),使用级联结构让gcForest学习。 ngcForest模型把训练分成两个阶段:Multi-Grained Scanning和Cascade Forest。Multi-Grain
分类模型的再考以及随机森林的应用
结合上一篇的分类模型的预测表现,我们探讨了“蜂蜜水问题”对分类模型的影响。并且应用了随机森林进行对数据的分类预测。
ML13: 随机森林预测
from __future__ import unicode_literalsnimport csvnimport numpy as npnimport sklearn.utils as sunimport sklearn.ensemble as senimport sklearn.metrics as smnimport matplotlib.pyplot as mpnwith open('.....
数据分析(三)实战——分类模型(随机森林与 AdaBoost )
数据分析(三)实战——分类模型(随机森林与 AdaBoost )基本信息数据预处理观察数据集特点数据集划分特征选择异常值检测离散化标准化模型训练分类器选择评估指标选择训练过程默认参数训练结果参数调整最优训练结果结语rnrn前言:根据个人的学习经历,最无奈的就是前面学习了一大堆的零碎知识点,却压根不知道怎么去使用,更不清楚前面所学的哪个知识点可以在哪里派上用场。所以这第三篇文章笔者打算先拿一个简单的案例...
分类&回归算法-随机森林
随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。 n算法思想解释: n在上述中,这些决策树好比是臭皮匠,森林就是臭皮匠的聚集之地。在分类中,倘若臭皮匠大
使用SVM预测大盘涨跌的简单策略
本策略是为了验证SVM对于大盘涨跌的预测是否有效,相比于纯随机策略,是否有明显的提高。nnSVM模型用06~14年的数据训练,16年1月~12月的数据用来回测,这样是为了避免因为在模型中投入了现阶段的数据导致的过拟合。nnnn第一次运算准确率为.66,不过个人认为这个准确率不一定能复现,所以做了Accuracy with sets这张图来看数据量和准确率的变化趋势。nnnAccu
Spark随机森林算法对数据分类(一)——计算准确率和召回率
1.召回率和正确率计算对于一个KK元的分类结果,我们可以得到一个K∗KK*K的混淆矩阵,得到的举证结果如下图所示。 n从上图所示的结果中不同的元素表示的含义如下: nmijm_{ij} :表示实际分类属于类ii,在预测过程中被预测到分类jj对于所有的mijm_{ij}可以概括为四种方式不同类型的数据:TPTP(真正):真正的分类结果属于ii预测的结果也属于ii,此时对于 mijm_{ij} 而言i=
随机森林(原理/样例实现/参数调优)
决策树n决策树与随机森林都属于机器学习中监督学习的范畴,主要用于分类问题。 n决策树算法有这几种:ID3、C4.5、CART,基于决策树的算法有bagging、随机森林、GBDT等。 n决策树是一种利用树形结构进行决策的算法,对于样本数据根据已知条件或叫特征进行分叉,最终建立一棵树,树的叶子结节标识最终决策。新来的数据便可以根据这棵树进行判断。随机森林是一种通过多棵决策树进行优化决策的算法。n案例:
使用AdaBoost预测预测大盘涨跌
继使用SVM预测大盘涨跌, 使用决策树预测大盘涨跌后的第三个预测大盘涨跌的模型。包括调参的过程以及模型稳健性验证。rnrnrnrnrnrnrn经过调参之后,预测准确率可以达到平均90%,上下波动范围约10%。rnrnrn看到预测的准确率还不错,我提取出了特征的权重值,来思考决策树为什么预测准确率还不错。然后做了策略不加预测大盘和加上预测大盘的对比。可以发现,一般的策略(例如纯随机,小于4购买)在加
R语言︱机器学习模型评估方案(以随机森林算法为例)
笔者寄语:本文中大多内容来自《数据挖掘之道》,本文为读书笔记。在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率。需要完整的评价模型的方式。n常见的应用在监督学习算法中的是计算平均绝对误差(MAE)、平均平方差(MSE)、标准平均方差(NMSE)和均值等,这些指标计算简单、容易理解;而稍微复杂的情况下,更多地考虑的是一些高大上的指标,
【火炉炼AI】机器学习012-用随机森林构建汽车评估模型及模型的优化提升方法
【火炉炼AI】机器学习012-用随机森林构建汽车评估模型及模型的优化提升方法nn【本文所使用的Python库和版本号】: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2nn nn在前面的文章中(【火炉炼AI】机器学习007-用随机森林构建共享单车需求预测模型 )已经介绍了用随机森林方法构建共享单车需求预测模型,在代码实现层面上来讲...
随机森林模型的泛化能力为什么好
决策树是广泛应用的一种分类算法,它是一种树状分类器,在每个内部节点选择最优的分裂属性进行分类,每个叶节点是具有同一个类别的数据。当输入待分类样本时,决策树确定一条由根节点到叶节点的唯一路径,该路径的叶节点的类别就是待分类样本的所属类别。决策树是一种简单且快速的非参数分类方法,一般情况下,还具有很好的准确率,然而当数据复杂或者存在噪声时,决策树容易出现过拟合问题,使得分类精度下降。nn   随机
【火炉炼AI】机器学习011-分类模型的评估:准确率,精确率,召回率,F1值
【火炉炼AI】机器学习011-分类模型的评估:准确率,精确率,召回率,F1值nn【本文所使用的Python库和版本号】: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2nn nn在前面的(【火炉炼AI】机器学习004-岭回归器的构建和模型评估)中,讲解了回归模型的评估方法,主要有均方误差MSE, 解释方差分,R方得分等指标。nn同...
深度学习模型 CNN+LSTM 预测收盘价
n—— 本篇文章 by HeartBeartingnn上一篇浏览量很大,感谢各位的关注!n能够在这里分享一些实验,一起领略 数据科学之美,也很开心。n以后,这个实验的模型会不断深化。n之后,也会分享一些 论文里 基于深度学习的时间序列预测模型。n数据由JQData本地量化金融数据支持n上一篇做了2个实验,预测黄金期货主力合约的收盘价。n实验2:n使⽤历史前5个时刻的 open close high...
随机森林模型的原理
随机森林模型是集成模型的一种,它是由众多决策树集成得到的。nn背景nn当我们使用决策树模型的时候,会很容易发现它是易于过拟合的,对于决策树的过拟合有很多处理方法,譬如各种剪枝技术,而集成技术同样能够处理这一问题。我们通过集成技术生成各种不同的决策树,并综合考虑它们的预测结果,这样能够减少过拟合的出现机率。所以我认为训练随机森林模型的关键就在于如何产生不同形态的决策树。nn nnBootstrap采...
python在Scikit-learn中用决策树和随机森林预测NBA获胜者
在本文中,我们将以Scikit-learn的决策树和随机森林预测NBA获胜者。美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认为是首屈一指的男子职业篮球联赛在世界上。它有30个团队(美国29个,加拿大1个)。nnn在 常规赛期间,每支球队打82场比赛,每场41场。一支球队每年会有四次面对对手(16场比赛)。每个小组在其四次(24场比赛)中的其他两个小组中的六个小组中进行比赛,...
用通俗易懂的方式剖析随机森林
用通俗易懂的方式剖析随机森林nn0.引言nn随机森林是现在比较流行的一个算法。对于回归和分类问题有很好的效果。大家有可能有过这样的经历,辛辛苦苦搭好神经网络,最后预测的准确率还不如随机森林。既然随机森林这么好用,那它的内在的机理到底是什么呢?接下来将会用通俗易懂的方式讲一讲随机森林。nn1.什么是随机森林nn随机森林分解开来就是“随机”和“森林”。“随机”的含义我们之后讲,我们先说“森林”,森林是...
随机森林回归应用中遇到的问题
随机森林算法的应用本人在做kaggle的house prices题目时用到了随机森林回归的算法,遇到了一些问题,现在记录下来。n随机森立对于线性相关的特征是否有影响?n特征简化后效果会变好,为什么?n随机森林算法原理见http://www.zilhua.com/629.html。一、线性相关性n 随机森林对多元共线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作
利用CNN对股票“图片”进行涨跌分类——一次尝试【附源码】
首先解释一下标题: nCNN:卷积神经网络(Convolutional Neural Network), 在图像处理方面有出色表现,不是被川普怒怼的那个新闻网站; n股票涨跌:大家都懂的,呵呵; n股票图片:既然使用CNN,那么如果输入数据是股票某个周期的K线图片就太好了。当然,本文中使用的图片并不是在看盘软件上一张一张截下来的,而是利用OHLC数据“画”出来的; n尝试:这个词委婉一点说就是“一...
基于随机森林的化合物活性二分类模型
 nn nnn#导入依赖包nimport pandas as pdnimport numpy as npnfrom rdkit import Chem, DataStructsnfrom rdkit.Chem import AllChemnfrom rdkit.ML.Descriptors import MoleculeDescriptorsnfrom rdkit.Chem import Desc...
基于SVM和随机森林叶片的分类
python语言对叶片的特征进行提取,基于SVM算法和随即森林进行分类
随机森林预测算法的实现
本文拟采用随机森林实现空气质量的预测。nn实现环境:python3.5nn所需包:pandas 、numpy、matplotlib、csv等。引入包如下:nnimport pandas as pdnimport numpy as npnnimport matplotlib.pyplot as pltnimport matplotlibnimport csvnimport randomnfrom s...
IBM SPSS Modeler随机森林算法介绍
在之前的文章《Bagging 或Boosting让你的模型更加优化》中,我们介绍了可以通过Bagging或Boosting技术,使得模型更加稳定和准确率更高,那么今天要介绍的随机森林算法,本身的算法逻辑已经使用了Bagging技术,来构建多棵树,最终实现构建“森林”的目的。
分类准确度
分类的准确度:accuracy加载sklearn中手写数字这样一个库digits = datasets.load_digits()我们可以print(digits.DESCR)查看相关信息这个数据库有5620个数据每个数据有64个属性或者特征64个特征是8*8图像每个类别是10个之一 0-9不过我们的数据集并没有5620个这么多只有1797个这个y的顺序是混乱的首先我们要对原始数据集train_t...
机器学习API建模、预测结果可视化(以随机森林为例)
机器学习API建模、预测结果可视化(以随机森林为例)n1. 建模步骤n1) 通过Scikit-Learn导入适当的评估器类,选择模型类。n2) 用合适的数值对模型类进行实例化,配置模型超参数。n3) 整理数据,获取特征矩阵和目标数组。n4) 调用模型实例的fit()方法对数据进行拟合。n5) 对新数据应用模型:nⅠ. 在监督学习模型中:通常使用predict()方法预测新数据的标签。nⅡ.在非监督...
算法-基于MACD的Adaboost股价涨跌预测模型
MACD是一个指标,具体用法是MACD>0看涨,反之看跌,果真是这样的吗?由于所有的技术指标都基于对历史数据的统计,指标的滞后性也就难免,有时候MACD明明大于0,股价仍然跌,有时候macd小于0,股价仍然涨。 本文基于Adaboost算法提出了一种基于macd的线性阀值分类器作为若分类器,通过在限定的解空间内寻找使得错误率最小的阀值和偏置,这样做避免了训练若分类器的复杂性,经验证,这种方法有效。
R语言使用随机森林方法对数据分类
说明随机森林是另一类可用的集成学习方法,该算法在训练过程中将产生多棵决策树,每棵决策树会根据输入数据集产生相应的预测输出,算法采用投票机制选择类别众数做为预测结果。
利用SVM和逻辑回归股票涨跌简单预测
import numpy as npnimport pandas as pdnfrom sklearn import svmnfrom sklearn import cross_validationnnnnnnnnnnimport tushare as tsnfrom sklearn.linear_model import LogisticRegressionnnnnnnnnnndata=ts.g...
随机森林等机器学习方法的分类和回归问题评价以及哑变量的设置
一、 关于随机森林的回归问题中,比较了原始数据和ilr数据结合所有环境变量和根据importance函数挑选出的重要性较高的部分环境变量,做30次取平均值后得到的表格(以sand为例),并比较了几个评价指标:RandomForest and GLM regression INDEX RandomForest_ilr_all RandomForest_ilr_part RandomForest...
超简单随机森林介绍:如何建立,如何使用,如何衡量好坏以及如何处理数据缺失
这篇博客和上一篇博客一样,也是我看视频的笔记,以下所有图片和例子来自于以下两个视频:nnhttps://www.youtube.com/watch?v=J4Wdy0Wc_xQ&index=2&list=PLyeGvkJQKy7nDT5kH9S99_p51DcDRQEIR&t=0snnhttps://www.youtube.com/watch?v=nyxTdL_4Q-Q&am...
Tensorflow基本模型之随机森林
随机森林简介n随机森林是一种集成学习方法。训练时每个树分类器从样本集里面随机有放回的抽取一部分进行训练。预测时将要分类的样本带入一个个树分类器,然后以少数服从多数的原则,表决出这个样本的最终分类类型。[^4]n设有N个样本,M个变量(维度)个数,该算法具体流程如下:nn确定一个值m,它用来表示每个树分类器选取多少个变量;n从数据集中有放回的抽取 k 个样本集,用它们创建 k 个树分类器。另外还伴随...
R语言分类算法之随机森林(Random Forest)
1.原理分析: n 随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策树组成的随机森林,新数据的分类结果按照决策树投票多少形成的分数而定. n 通俗的理解为由许多棵决策树组成的森林,而每个样本需要经过每棵树进行预测,然后根据所有决策树的预测结果最后来确定整个随机森林的预测结果.随机
检验方法、混淆矩阵、模型评估
两种混淆矩阵,查全查准率F_beta值,ROC&AUC,独立性检验:卡方检验、秩和检验。 两种假设。 第一类第二类错误。
RandomForest:随机森林预测生物标记biomarker——分类
nn随机森林简介nR randomForest包n安装与加载n分类Classificationn分类结果主坐轴分析n随机选取2/3预测,1/3验证n无监督分类n分层抽样nnnReferencen猜你喜欢n写在后面nnnnnnnnn随机森林简介nn如果读者接触过决策树(Decision Tree)的话,那么会很容易理解什么是随机森林。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元...
随机森林代码-matlab
随机森林代码-matlab,亲测有效,这是今年的内部包含一份英文文档解说
时间序列型的数据做预测
最近在公司有做一个  快递中转中心<--->另一个快递操作中心  操作量预测的项目,有一些方法和感想总结一下nn一、问题背景nn1、主要目的是为了预测T+7日内快递某操作中心到其他操作中心的发件量,即中心的操作量nn2、T+1日的预测精度高对实际工作帮助较大nn二、主要思路nn1、做仿真系统,把实际影响的因素都考虑进去,读快递网点实时的收件数据,然后和快递中心的人、车等影响因素相匹配,...
使用决策树预测大盘指数
在和坛友们经过友好讨论以后,我认为时间对于预测大盘来说确实是一个不可忽视的信息,粗暴地交叉验证获得的准确率,以及依靠这个准确率进行的调参,很容易过拟合。rnrnrn以及,我之前发现一个问题,如果单纯地把30天后的涨跌算作大盘指数涨跌,很容易让模型拟合噪音,于是我设定了10%的阈值,高于这个阈值的时候才认为大盘在涨,低于这个阈值的时候才认为大盘在跌。当然,更好的办法是使用mean in 30 day
文章热词 颜色模型 机器学习教程 Objective-C培训 交互设计视频教程 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java随机森林学习模型 价格预测机器学习模型