应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

使用Python对股票参数进行特征重要性分析

  前言
  特征重要性分析,顾名思义就是要看看这一批参数里面,各个参数对模型预测结果的贡献度分别是多少,对于每一个预测结果来说,哪些参数的贡献度是最大的,哪些参数是无关紧要的。在本文中,我们以预测股票涨跌为例,简要介绍使用Python来对股票预测模型的参数进行特征重要性分析的方法,希望对大家能有所帮助。导入依赖包importsysimportnumpyasnpimportcsvimportpandasaspdfromsklearn。modelselectionimporttraintestsplitfromsklearn。ensembleimportRandomForestRegressorfromsklearn。inspectionimportpermutationimportanceimportshapfrommatplotlibimportpyplotaspltprint(pythonversion:{}。format(sys。version))
  这里我使用的Python版本是:3。9。5(tagsv3。9。5:0a7dcbd,May32021,17:27:52)准备好模型训练所需的数据
  要对预测模型的参数进行重要性分析,首先我们得有关于这些参数的数据(如:MACD,MACDDIF,MACDDEA,DMADIF,PLRC12,PLRC6,Price1M,Price3M,EMA5,EMAC10等等)。这些参数我已经事先准备好了,这里我们只需从文件中读取即可。
  使用下面的代码将数据从文件中读取出来:CSVFILEPATH。backupstocksdatatest。csvdatapd。readcsv(CSVFILEPATH)row0list(data。loc〔0〕)rownumdata。iloc〔:,0〕。sizeprint(datalen:{}。format(len(row0)))print(rownum:{}。format(rownum))ylist〔〕用于存放标签数据xlist〔〕用于存放特征数据foriinrange(rownum):rowdatalistlist(data。loc〔i〕)ylist。append(int(rowdatalist〔0〕))xlist。append(rowdatalist〔1:〕)将数据类型由list转换为arrayxarraynp。array(xlist)yarraynp。array(ylist)print(xarrayshape:{}。format(xarray。shape))print(yarrayshape:{}。format(yarray。shape))print(ColumnName)print(list(data。columns))print(Finished)
  从代码运行的输出结果中可以看到,我们这一批数据总共有19个参数以及6884个样本:
  划分训练集和测试集
  使用如下代码将整个数据划分为两个部分:测试集和训练集。训练集用于模型训练,测试集用于模型验证和测试。testsize0。2设置测试集的样本数量为全部样呗的20randomstate12设置随机种子为12shuffleTrue打乱样本数据的顺序xtrain,xtest,ytrain,ytesttraintestsplit(xarray,yarray,testsize0。2,randomstate12,shuffleTrue)print(xtrainshape:{}。format(xtrain。shape))print(ytrainshape:{}。format(ytrain。shape))print(xtestshape:{}。format(xtest。shape))print(ytestshape:{}。format(ytest。shape))print(Finished)
  从代码的运行输出结果可以看到,这里我们划分的训练集样本数量为5507个,测试集的样本数量为1377个。
  用随机森林回归算法对模型进行训练nestimators:森林中决策树的数量rfRandomForestRegressor(nestimators100)rf。fit(xtrain,ytrain)print(Finished)
  模型训练好了之后,我们可以使用如下代码使用模型对测试集中的数据进行预测:predictvaluerf。predict(xtest)foridx,valueinenumerate(predictvalue):print(〔predict〕:idx{},label{},predict{}。format(idx,ytest〔idx〕,value))print(Finished)调用模型解释包shap对参数进行特征重要性分析我们记录在文件中的数据的特征参数名称columnsnamelist〔ChangePercent,MACD,MACDDIF,MACDDEA,DMADIF,PLRC12,PLRC6,Price1M,Price3M,EMA5,EMAC10,EMAC12,EMAC20,EMAC26,MAC5,MAC10,MAC20,MAC60,MAC120〕explainershap。TreeExplainer(rf)shapvaluesexplainer。shapvalues(xtest)shap。summaryplot(shapvalues,xtest,featurenamescolumnsnamelist)print(Finished)
  运行上面的代码,我们就可以看到各个参数对模型预测结果的贡献度了,红色代表正向贡献,蓝色代表负向贡献,参数的贡献度从上往下是由大到小,具体情况如下图所示:
  对单个预测结果的特征贡献度进行可视化显示shap。initjs()shap。forceplot(explainer。expectedvalue,shapvalues〔0,:〕,xtest〔0,:〕,featurenamescolumnsnamelist)shap。initjs()shap。forceplot(explainer。expectedvalue,shapvalues〔4,:〕,xtest〔4,:〕,featurenamescolumnsnamelist)
  对测试集全部样本预测结果的特征重要性进行可视化shap。initjs()shap。forceplot(explainer。expectedvalue,shapvalues,xtest,featurenamescolumnsnamelist)
  结语
  以上就是使用Python对股票涨跌预测模型的参数进行重要性分析的方法了,如果感觉还不错的话,可以帮忙给个赞哦,感谢各位支持。需要注意的是,模型预测的准确性和模型以及数据都有关系,要谨慎使用。

喜茶开放加盟奈雪收购乐乐茶,高端茶饮正在变天见智研究近年来,新茶饮赛道已经进入了白热化的阶段,不仅内卷严重,市场也被严重挤压。今年上半年在面临倒闭的餐饮店中,近22为奶茶店。此外,进入后疫情时代,人们的消费欲望和消费需求也……CBA春晚来了,易建联继续轮休,汉密尔顿确定出战,收视将创新北京时间12月14日,CBA第十三轮比赛继续进行。这一轮比赛中,最受关注的莫过于辽粤大战,这场比赛,央视将全程直播。本赛季,央视转播CBA的场次很少,而且有很多都是一些热……年度通胀率或达99!时隔36年捧起大力神杯,阿根廷经济能获益时隔36年捧起大力神杯,这对深陷通胀压力的阿根廷意味着什么?一项最新的研究显示,世界杯夺冠国可能会因世界杯效应收获额外的经济增长,不过这还取决于该国的经济现状等多重因素。而对于……北京女白领,43岁在当地做了面部提升,术后惊叹这是5年前的我先给大家看一下我的这位患者,从他的面部状态和精气神儿,你认为她的年纪应该在多少?这位患者时年43岁,图为在这我做了微创悬调提升后一周拍摄。很多人可能难以置信,微创整……法国赛雅思三局逆转获胜,陆光祖苦战进8强,国羽一姐惨遭翻盘北京时间10月28日,2022年世界羽联世界巡回赛法国公开赛结束第二轮争夺,中国队有多人闯入八强。陆光祖苦战三局获胜进入男单四分之一决赛,何冰娇和韩悦一同晋级,陈雨菲和王祉怡遗……华为双11诚意给足了,六颗镜头100W快充,已从3499元降对于现在喜欢华为手机的用户来讲,可以选择的机型虽然不多,但也不是没得选,这其中也不乏一些优质手机,有精力的可以试着抢购一下华为Mate50Pro,预算不足的也可以体验一下华为n……实拍坦克500PHEV在八月份的成都国际车展上,坦克500新能源版本,坦克500PHEV车型正式亮相。新车采用插电式混合动力系统,0100kmh加速时间6。6秒,WLTC综合油耗4。4L100km,……张春霞原创随笔作品寒花开已尽,菊蕊独盈枝花中偏爱菊文品名听风菊花乃花中四君之一,她不与春天的百花争艳,不比夏天的草木葱茏,待到百花凋零的秋天,她迎风展开美丽的笑颜。不畏严寒,藐视风霜,她骄人的傲骨令百花失……与善良作伴,以宽容为德有些伤口,时间久了就会慢慢长好;有些委屈,受过了想通了也就释然了;有些伤痛,忍过了疼久了也成习惯了然而却在很多孤独的瞬间,又重新涌上心头。其实,有些藏在心底的话,并不是故意要去……美国发现直径1km小行星,或将撞击地球,能否在空中将其击碎?在人类繁衍发展的地球中,除了自然灾难是人类最畏惧的,剩下的恐怕就是来自地球外天体的袭击,比如我们经常说到的小行星撞击地球事件。众所周知,在地球上恐龙灭绝就是小行星撞击地球导致的……开动脑筋拼创意快乐玩转机器人第十二届海南省青少年机器人竞赛VEX机器人工程挑战赛中,学生们在调试机器。(学校供图)为扎实推动双减工作做深做细做实,近年来,海口市滨海第九小学积极探索机器人编程教育,通……推动转型宁德时代将为丰田旗下大发提供动力电池〔爱卡汽车行业新闻原创〕近日,据相关媒体报道,宁德时代新能源科技股份有限公司与丰田旗下大发工业株式会社宣布签订战略合作谅解备忘录,双方将在电池供应及电池技术方面开展战略合……
1换1!曝湖人76人队地震级交易方案,威少西蒙斯或互换东家休赛期湖人队组成了威少、詹姆斯和戴维斯的超级三巨头,一跃成为西部纸面实力最豪华的球队,也被外界看好是今年夺冠的有力争夺者,然而新赛季开打后,湖人队的表现却很令人很失望,球队不仅……詹姆斯韦伯太空望远镜团队中的一位天文学家解释了第一台光机詹姆斯韦伯太空望远镜计划于2021年12月18日进入太空。天文学家希望通过它找到宇宙中最早形成的星系,将在其他行星周围寻找类似地球的大气层,并完成许多其他科学目标。Marcia……认出了霍建华和高圆圆,却没有认出邓超,当年这部剧真是卧虎藏龙进入新世纪以后,香港电影逐渐没落,曾经的鬼才导演王晶也鲜有精品问世,尤其是《澳门风云》系列更是将他推向了烂片导演的位置,然而其实在这之前,王晶还拍摄了一部十分经典的电视剧《天下……黄芪,到底补哪里的气?大多数人认为黄芪补气,却不去关注黄芪到底补哪里的气,是补肺气?还是肝胆之气?还是脾胃之气?是补表之气?还是补里之气呢?几乎没有人深究,只是盲目使用。其实,黄芪是有其独特的功效,……心绞痛是心梗前兆?医生3种情况可突发心梗!建议提前学1招护心提到心绞痛,很多人可能第一时间会想到冠心病,心绞痛确实是冠心病的症状之一,冠心病的全称叫做冠状动脉粥样硬化性心脏病,是所有冠心病类型的统称,而心绞痛也属于冠心病的一种,一般多分……72岁老戏骨石天去世!黄百鸣透露其癌症复发,林俊贤发长文悼念11月1日,根据港媒的报道,资深演员石天已经去世,终年72岁,消息一出,外界震惊不已。艺人林俊贤突然在个人社交账号上发长文悼念石天,他写道,惊悉石天会长离世,天妒英才,哲……今日文摘冬有冬的来意,雪有雪的秘密1。雪花飘落,世界都变得柔软了,窗外飞舞着雪花,像千百只蝴蝶似的扑向窗玻璃,在玻璃上调皮的撞一下,又翩翩起舞飞向一旁。2。冬天的雪很美,净化了世界,却净化不了人的心灵。冬……3099起!荣耀平板V7Pro5G版6128GB新配置开启预【CNMO新闻】荣耀平板V7Pro5G版上市后受到了不少消费者的追捧。10月27日,荣耀智慧生活官方宣布,荣耀平板V7Pro5G版6GB128GB版新配置开启预售,新品预售可享……语言发育迟缓一旦被发现就非常严重,怎么很少有人能早期干预?语言发育迟缓是学龄前儿童最常见的发育性问题之一,多见于24岁的孩子。作为语言矫正从业者,我们发现它是和构音障碍并驾齐驱的两大发育性问题。只是因为语言发育迟缓具有极高的隐蔽性,所……妈妈,他们不和我玩今天是个大晴天,妈妈带着小兔子去了家旁边的公园玩,公园里面有很多小朋友,小兔子高兴极了,跑到了滑梯旁边打算玩滑梯。玩了一会儿,有一个小朋友在玩滑梯的时候踢在了小兔子的衣服上,小……人到中年,习惯世事无常,看淡人走茶凉01hr古人有言:三十而立,四十而不惑,五十知天命大概,从三十岁到五十岁,是人生最难熬的日子,上有老下有小,身边不仅没有一个帮手,反而有一群累赘。年轻的时候,一人吃……胡明轩最新进展!允许签约阿迪允许参加CBA允许穿阿迪鞋比赛胡明轩签约阿迪的事情已经过去了很久,虽然在刚开始的时候,胡明轩代言阿迪达斯的事情让很多的球迷以及网友发起了一场声讨,但是如今胡明轩一直是处于沉默状态,而且杜锋也是保护着自己的球……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网