当前位置:首页 » 价格知识 » 随机森林回归预测股票价格

随机森林回归预测股票价格

发布时间: 2021-11-09 15:34:43

A. r使用随机森林实现所属类别的概率吗

用R做随机森林,先用训练集建模,之后用测试集进行预测,为什么总是显示?代码如下sub<-sample(1:nrow(dx),round(nrow(partd)/4))x1.rf<-randomForest(X1T~.,data=dx,importance=T,subset=-sub)pre1<-predict(x1.rf,data=dx,subset=sub)另外,随机森林的结果里给出的confusionmatrix是什么意思?和预测错误

B. 求问随机森林算法的简单实现过程

随机森林(Random forest)指的是利用多棵树对样本进行训练并预测的一种分类器。 并且其输出的类别是由个别树输出的类别的众数而定。在机器学习中有一个地位很重要的包scikit-learn可实现随机森林算法。


原理:(随机森林的分类预测和回归预测sklearn.ensemble.RandomForestRegressor方法)
(1)给定训练集S,测试集T,特征维数F。确定参数:使用到的CART的数量t,每棵树的深度d,每个节点使用到的特征数量f,终止条件:节点上最少样本数s,节点上最少的信息增益m,对于第1-t棵树,i=1-t:
(2)从S中有放回的抽取大小和S一样的训练集S(i),作为根节点的样本,从根节点开始训练
(3)如果当前节点上达到终止条件,则设置当前节点为叶子节点,如果是分类问题,该叶子节点的预测输出为当前节点样本集合中数量最多的那一类c(j),概率p为c(j)占当前样本集的比例;如果是回归问题,预测输出为当前节点样本集各个样本值的平均值。然后继续训练其他节点。如果当前节点没有达到终止条件,则从F维特征中无放回的随机选取f维特征。利用这f维特征,寻找分类效果最好的一维特征k及其阈值th,当前节点上样本第k维特征小于th的样本被划分到左节点,其余的被划分到右节点。继续训练其他节点。
(4)重复(2)(3)直到所有节点都训练过了或者被标记为叶子节点。
(5)重复(2),(3),(4)直到所有CART都被训练过。
随机森林的简单实现过程如下:
一、 开发环境、编译环境:
PyCharm Community Edition 2016.2.3
Python2.7.10
二、 所用库及安装方法:
pandas[python自带]
sklearn:命令行pip install sklearn;如果没有安装pip,先使用easy_install pip安装pip;如果在MAC上没有权限,使用sudo pip install sklearn;
三、 代码介绍
1. 使用pandas读取本地excel的训练集和测试集,将属性集赋给X_train和Y_train;将要预测的集合赋给X_test和Y_test;
2. 使用DictVectorizer对数据进行规范化、标准化
3. 生成RandomForestRegressor对象,并将训练集传入fit方法中进行训练
4. 调用predict函数进行预测,并将结果存入y_predict变量中;
5. 使用mean_squared_error、score方法输出MSE、NMSE值对拟合度、稳定度进行分析;输出feature_importance,对影响最终结果的属性进行分析;
6. 详细代码见附录
四、 附录
# coding:utf-8
import pandas as pd
data_train = pd.read_excel('/Users/xiaoliu/Desktop/data_train.xlsx')
X_train = data_train[['CPI', 'GDP', 'PPI', 'AJR', 'BJFJ', 'FBDR', 'PCFD', 'PCFDED', 'BDR']]
y_train = data_train['FJ']

data_test = pd.read_excel('/Users/xiaoliu/Desktop/data_test.xlsx')
X_test = data_test[['CPI', 'GDP', 'PPI', 'AJR', 'BJFJ', 'FBDR', 'PCFD', 'PCFDED', 'BDR']]
y_test = data_test['FJ']

from sklearn.feature_extraction import DictVectorizer

vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='records'))
X_test = vec.transform(X_test.to_dict(orient='records'))

from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor()
rf.fit(X_train,y_train)
y_predict = rf.predict(X_test)
print 'predict value:',y_predict

from sklearn.metrics import mean_squared_error
print 'MSE:', mean_squared_error(y_test, y_predict)
print 'NMES:',rf.score(X_test, y_test)
print rf.feature_importances_

C. 随机森林可以和logistic回归混合建模吗

#####海藻数量预测模型,预处理(缺失值)、建模(多元线性回归与决策性)、性能评估(10折交叉验证),组合方法优化模型
library(rpart)
library(DMwR)
#####回归模型决策树
algae<-algae[-manyNAs(algae),]
rt.a1<-rpart(a1~.,data=algae[,1:12])
#####多元线性回归模型
clean.algae<-knnImputation(algae,k=10)
lm.a1<-lm(a1~.,data=clean.algae[,1:12])
final.lm<-step(lm.a1)
#####模型预测值
lm.prediction.a1<-predict(final.lm,clean.algae)
rt.prediction.a1<-predict(rt.a1,algae)
#####模型的评价与选择部分
###这部分难点
#####目标模型函数

D. 为何随机森林的机器学习统计模型预测法官投票准确率胜过专家

因为随机森林的机器学习统计模型进行了大量的数据分析,该模型先学习了1816年到2015年最高法院案例特征与裁决结果之间的关联,然后按年份研究每个案例的特征并预测裁决结果,最后被“投喂”关于该年份裁决结果实际信息的算法升级了预测策略,并继续进行下一年的预测。

用计算机算法预测法官行为并不稀奇。2011年,西班牙学者在一项研究中,使用1953年到2004年任意8名法官的投票,来预测同一案件中第9名法官的投票,准确率为83%;2004年,美国学者使用1994年以来一直在法院工作的9名法官的判决,来预测2002年案件的判决结果,准确率为75%。

而伊利诺伊大学理工学院法学教授丹尼尔·卡茨的团队利用最高法院数据库,为每个投票标注了16个特征,包括法官任期、诉讼发起法庭、口头辩论是否被听到等,创建了最先进的算法。对1816年到2015年美国最高法院的判决进行预测,准确率高于70%,较知识渊博的法律专家(预测准确率为66%)更胜一筹。结果显示,对于28000项判决结果及24万张法官投票,新模型算法预测的正确率分别为70.2%和71.9%。相关研究文章发表在《公共科学图书馆·综合》(PLOS ONE)上。

E. 随机森林能做一元自回归吗

这个发贴机是加了自动化插件的

F. 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关还是负相关

20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时得知特征x与预测量y之间是正相关20 随机森林回归进行特征重要性排序时,如何同时

G. 我用Python进行随机森林回归,训练好模型后用来预测,预测值却为一个定值,请问这是什么原因导致的

随机森林是以决策树为基础的一种更高级的算法。随机森林可用于回归也可以用于分类。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。最后对这些预测进行集成,因此优于任何一个单分类的做出预测,是一种优秀的机器学习模型。

之所以你没能学习到有效的模型,可能是你的数据中的因子与预测指标的关联强度不够,因此学习到的是常数模型,也有可能是数据的处理流程或者模型的使用方法不对。网页链接这个网址上的课程完整讲解了随机森林算法的使用,希望对你有帮助

H. 数学建模预测收盘价格用什么模型

二次指数平滑可以弄,但是最好还是用马尔可夫过程比较好,当实际情况会更加复杂,你再加上条件概率和随机森林的话这个模型就完美了,如果能用神经网络来优化随机森林,那么真是大工程了,虽然我也没有用神经网络来优化过

I. 随机森林为什么不会过度拟合

来源:知乎

谢宇杰

大型机软件工程师
不是不会过拟合,而是在满足一定的条件下不容易过拟合。特征参数要足够多,特征参数之间相关性尽量低。
知乎用户

Breiman的这句话完全错误,根本没有不过拟合的学习方法!
对于随机森林来说: 在有躁音的情况下(注意,现实世界应用中躁音不能忽略),树太少很容易过拟合,增加树可以减小过拟合,但没有办法完全消除过拟合,无论你怎么增加树都不行。

------------------
随机森林
决策树主要流行的算法有ID3算法,C4.5算法、CART算法,主要花费时间在建决策树和剪枝过程中,但一旦建成决策树,由于他是树形结构能够直观的显示出模型,而且在后期的分类过程中也比较容易分类,但决策树有一些不好的地方,比如容易过拟合。为了减少决策树的不足,近年来又提出了许多模型组和+决策树的算法,这些算法都是生成N棵决策树,虽然这N棵树都很简单,但是它们综合起来就很强大了,有点类似与adaboost算法。
随机森林主要思想是先对原始样本随机选出N 个训练子集用于随机生成N颗决策树,针对每个样本集在构建决策树的选择最优属性进行划分时是随机选择m个属性,而不是像常用的决策树将所有的属性参与选择,再由这些决策树构成一个森林,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类。
随机森林算法三个步骤:
(1)为每棵决策树抽样产生训练集
随机森林算法采用Bagging抽样技术从原始训练集中产生N 个训练子集(假设要随机生成N颗决策树),每个训练子集的大小约为原始训练集的三分之二,每次抽样均为随机且放回抽样,这样使得训练子集中的样本存在一定的重复,这样做的目的是为了在训练的时候,每一棵树的输入样本都不是全部的样本,使森林中的决策树不至于产生局部最优解。
(2)构建决策树
为每一个训练子集分别建立一棵决策树,生成N棵决策树从而形成森林,每棵决策树不需要剪枝处理。
由于随机森林在进行节点分裂时,随机地选择某m个属性(一般是随机抽取指定logM +1个随机特征变量,m<<M)参与比较,而不是像决策树将所有的属性都参与属性指标的计算。为了使每棵决策树之间的相关性减少,同时提升每棵决策树的分类精度,从而达到节点分裂的随机性。
(3)森林的形成
随机森林算法最终的输出结果根据随机构建的N棵决策子树将对某测试样本进行分类,将每棵子树的结果汇总,在所得到的结果中哪个类别较多就认为该样本是那个类别。
由于上面两个随机采样(从原始训练集中随机产生N个训练子集用于随机生成N颗决策树和在针对每个样本集构建决策树过程中随机地选择m个属性)的过程保证了随机性,所以不会出现过拟合over-fitting。随机森林中的每一棵数分类的能力都很弱,但是多棵树组合起来就变的NB,因为每棵树都精通某一方面的分类,多棵树组成一个精通不同领域的决策专家。
随机森林优缺点
优点:
1、随机森林可以处理高维数据,并确定变量的重要性,是一个不错的降维方法;
2、对数据缺失,随机森林也能较好地保持精确性;
3、当存在分类不平衡的情况时,随机森林能够提供平衡数据集误差的有效方法;
缺点:
1、随机森林算法可以解决回归问题,但是由于不能输出一个连续型值和作出超越训练集数据范围的预测,导致在对某些噪声的数据进行建模时出现过度拟合;
2、随机森林算法类似于黑盒子,由于几乎无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试。