• 欢迎访问小杰博客网站
  • 欢迎访问小杰博客网站哦

【机器学习sklearn】基于sklearn的股票预测

python 小杰 3年前 (2020-12-30) 857次浏览 已收录 0个评论

最近了解学习数据统计,了解到了python的sklearn这个库,集成了很多机器学习的模型,感觉很强大,官网
下面通过一个简单的预测的例子来上手sklearn这个库。
根据pythonprogramming上的例子改写。本次实验使用anaconda的集成环境,故不需要下载所需的包,但需要使用conda命令更新sklearn至官网教程所使用的版本(之前因为版本问题纠结了好久)。如果没有使用anaconda,需要先下载scipy,numpy等库作为支持,这里使用python自带的pip install命令即可方便下载。
导入相应的库

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

首先从互联网上获取我们所需要的yahoo的股票数据:

  • 1
  • 2
  • 3
  • 4
  • 5

构建我们的数据集

  • 1
  • 2
  • 3
  • 4
  • 5

对空数据进行处理,同时对Close的股票value进行预测,forecast_out表示往后预测的天数

  • 1
  • 2
  • 3
  • 4

重新构建X和y,X为[‘Close’, ‘HL_PCT’, ‘PCT_change’, ‘Volume’],y为[‘label’]表示forecast_out天后的股票值,使用preprocessing.scale对数据集进行scaling。
X_lately 表示后forecast_out天 的数据集,既对应的y值为NAN

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

选择数据集80%作为训练集,20%作为测试集
使用sklearn提供的Linear Regression函数进行建模,最后使用测试集进行测试,计算相应的精确度

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

forecast_set是我们通过训练集训练出的模型和我们的最近的数据进行的预测
把我们的预测集放入之前的DataFrame,最后绘图得到股票走势图

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

红线表示原始数据,蓝线表示预测的股票走势
红线表示原始数据,蓝线表示预测的股票走势

具体代码,见Titanssword的github


小杰博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【机器学习sklearn】基于sklearn的股票预测
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址