首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SVR对所有功能都提供了相同的预测。

SVR对所有功能都提供了相同的预测。
EN

Data Science用户
提问于 2019-03-03 03:40:51
回答 1查看 1.9K关注 0票数 3

我正在创建一个基本的应用程序来预测日n+1股票的“收盘价”,给出了使用Python和Scikit-learn的股票n的特性。

我的dataframe中的一个示例行看起来如下(2000行)

代码语言:javascript
运行
AI代码解释
复制
       Open     Close    High     Low      Volume     
0      537.40   537.10   541.55   530.47   52877.98  

类似于这段视频,他使用的是“日期”和“公开价格”。在本例中,日期是功能,开放价格是目标。

在我的示例中,我的数据集中没有“日期”值,而是希望使用Open、High、Low数据作为特性,因为我认为这样会使其更准确

我定义了我的特征和目标

代码语言:javascript
运行
AI代码解释
复制
features = df.loc[:,df.columns != 'Closing']
targets = df.loc[:,df.columns  == 'Closing']

它将返回如下特性的df:

代码语言:javascript
运行
AI代码解释
复制
       Open      High      Low      Vol from  
29     670.02    685.11    661.09   92227.36

目标:

代码语言:javascript
运行
AI代码解释
复制
       Close
29     674.57

然而,我意识到数据需要放在一个numpy数组中,所以我现在得到了如下所示的特性和目标

代码语言:javascript
运行
AI代码解释
复制
features = df.loc[:,df.columns != 'Closing'].values
targets = df.loc[:,df.columns  == 'Closing'].values

所以现在我的特征是这样的

代码语言:javascript
运行
AI代码解释
复制
[6.70020000e+02 6.85110000e+02 6.61090000e+02 9.22273600e+04
  6.23944806e+07]
 [7.78102000e+03 8.10087000e+03 7.67541000e+03 6.86188500e+04
  5.41391322e+08]

我的目标是这样的

代码语言:javascript
运行
AI代码解释
复制
[  674.57]
[ 8042.64]

然后,我使用

代码语言:javascript
运行
AI代码解释
复制
X_training, X_testing, y_training, y_testing = train_test_split(features, targets, test_size=0.8)

我尝试遵循Scikit-Learn文档,这导致了以下结果

代码语言:javascript
运行
AI代码解释
复制
svr_rbf = svm.SVR(kernel='rbf', C=100.0, gamma=0.0004, epsilon= 0.01 )
svr_rbf.fit(X_training, y_training)
predictions = svr_rbf.predict(X_testing)
print(predictions)

我假设这将预测给定测试特性的Y值,然后我可以根据实际的y_testing值绘制Y值,以查看它们有多相似。但是,对于每个X_testing特性,预测结果都打印出相同的值。

代码语言:javascript
运行
AI代码解释
复制
[3763.84681818 3763.84681818 3763.84681818 3763.84681818 3763.84681818

我试过改变epsilon,c和gamma的值,但这似乎并没有改变这样一个事实,即预测总是给出相同的值

我知道预测股票价格可能不准确,但当我将模型应用于各种不同的测试数据时,我肯定做错了什么来获得相同的值。

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-03-03 04:56:05

有几个部分我认为改变会有帮助。

首先,一个通用的模型构建:我建议您在将数据放入模型之前进行缩放。

它可能不会直接解决在每个步骤中接收相同的预测值的问题,但您可能会注意到,您的预测位于输入值的某个范围内--因为您使用的是未缩放的卷,这将使模型变得很困难。它本质上必须同时在两个不同的尺度上工作,这是不能做得很好的。

查看一下标准标度技术,了解如何做到这一点。

接下来,一些要改变的事情的建议,特别是因为你在处理股票价格:

我通常会预测明天股票市场的价值,而不是你使用公开/高/低/成交量的相同数据的收盘价。对我来说,只有当你有高频(日内)数据时,这才有意义。考虑到这一点,您将需要将y值移动一步。有一个方法在Pandas DataFrames上提供帮助.,但是由于您没有date列,而且您只需要按一个时间步移动,您可以这样做:

代码语言:javascript
运行
AI代码解释
复制
features = df.loc[:-1, df.columns != 'Closing'].values    # leave out last step
targets = df.loc[1:, df.columns  == 'Closing'].values     # start one step later

然后,您甚至可以预测第二天的开盘价格,或者将closing数据保存在features数据中,因为这不会带来时间偏差。

一些需要更多设置的东西,将是查看您的数据洗牌。同样,因为您希望使用历史值来预测未来的值,所以您需要将相关的历史值放在一起。看看我对这个问题的另一个答案和图表,它解释了更多关于这个想法的内容。

编辑

您还应该缩放y_trainy_test,以便模型知道在此范围内进行预测。使用相同的StandardScaler实例执行此操作,以避免引入偏差。有一个看这个简短的教程。然后,您的预测将在相同的范围内(例如[-1, +1])。您也可以在该范围内计算错误。如果你真的想要的话,你可以把你的预测缩小到原来的范围,这样看起来就更现实了,但这并不是验证模型的真正必要。你可以简单地在缩放的空间里,根据地面的真实来绘制预测。

看看这个线程,它解释了为什么您应该在测试数据上使用相同的StandardScaler实例的原因。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/46575

复制
相关文章
【Unity3D】Unity 组件 ② ( 删除 Light 组件 | 添加 Light 组件 | 构造物体组件 | 添加网格过滤器组件 | 添加网格渲染器组件 )
选中 平行光源 物体 , 在右侧的 Inspector 检查器窗口 中 , 点击 Light 组件右上角的
韩曙亮
2023/03/30
7820
【Unity3D】Unity 组件 ② ( 删除 Light 组件 | 添加 Light 组件 | 构造物体组件 | 添加网格过滤器组件 | 添加网格渲染器组件 )
Flutter 中 GridView网格列表组件的使用
当数据量很大的时候用矩阵方式排列比较清晰,此时我们可以用网格列表组件 GridView 实现布局。
越陌度阡
2020/12/22
3.7K0
Flutter 中 GridView网格列表组件的使用
Flutter中GridView网格列表组件的使用
当数据量很大的时候用矩阵方式排列比较清晰,此时我们可以用网格列表组件 GridView 实现布局。
越陌度阡
2022/05/06
3.6K0
Flutter中GridView网格列表组件的使用
Sketch for mac(矢量绘图UI设计软件)93 最新中文版
Sketch93改进增加了 Sketch 中更好的整体体验——从将任何画板设置为文档缩略图到改进的智能网格体验。
啾咪啾咪
2022/09/14
1.6K0
使用CSS生成loading样式组件
使用CSS生成svg矢量图,可以随着CSS文件一起缓存,减少请求图片的次数。在React中可以使用svgr将svg转换为组件,支持按需加载等功能。
不作声
2021/03/05
1.1K0
使用CSS生成loading样式组件
css - Grid网格布局
.wrapper{ display: grid; grid-template-columns: 100px 100px 100px; grid-template-r
xing.org1^
2018/12/17
1.2K0
css - Grid网格布局
Css hover控制同级元素样式
1. 父子关系 .a:hover .b{color:red}; 2. 同级相邻元素 .a:hover + .b{color:red}; 3. 同级不相邻元素 .a:hover ~ .b{color:red}; ps: 1. 同级相邻或者不相邻都可以使用 ~; 2. 这里的同级指b标签必须在a的后面,若是前面,则不起效果,使用js控制。
用户1349575
2022/01/25
2.5K0
vue同级组件传值
侧边栏是aside组件,上面是toolbar组件,现在希望点击侧边栏每个路由都能在toolbar的当前位置处及时更新相应的值,大型应用通常使用vuex管理这部分功能,由于同级组件不能直接传值,需要一个中间件,我们可以先将数据传递给公共的父组件,然后父组件再将数据传递给需要的子组件。
4O4
2022/04/25
7200
vue同级组件传值
React 组件库 CSS 样式问题分析
首先分享一篇网易云音乐技术团队整理的一篇文章 React 组件库 CSS 样式方案分析
德顺
2022/12/10
2.5K0
React 组件库 CSS 样式问题分析
CSS 实现网格背景效果
本文将介绍如何使用 linear-gradient 、background-size 等属性来实现网格背景效果。
Cell
2023/09/03
8200
网格系统 CSS Grid Layout
听闻w3cplus大漠在第三届CSS Conf上的演讲主题是CSS Grid Layout,吓得我赶紧抛下红尘俗事闭门谢客苦心钻研,唯恐脚步太慢,遥望大漠一骑绝尘而扼腕叹息。
IMWeb前端团队
2019/12/04
2.5K0
网格系统 CSS Grid Layout
本文主要介绍了网格系统CSS Grid Layout,包括它的基本概念、属性、浏览器支持情况,以及如何使用CSS Grid Layout来实现网格布局。同时,还探讨了如何使用CSS Grid Layout来实现复杂的网格布局,包括如何定义网格容器的布局方式、如何使用grid-template-columns和grid-template-rows来定义网格的栏和行,以及如何设置grid-column和grid-row等属性来控制网格单元格的排列方式。最后,还介绍了一些实用的CSS Grid Layout属性,包括grid-gap、grid-row-gap和grid-column-gap等,以及如何使用这些属性来实现更加复杂的网格布局。
IMWeb前端团队
2017/12/29
3K0
网格系统 CSS Grid Layout
Typecho通用评论组件包含Css样式
一直以来我都不太喜欢写Typecho评论列表样式,那时候多说还没有死,就想着有没有大佬直接写好一套Typecho评论列表简单样式,然后别人就可以改改css和html结构就能diy自己的样式,不用考虑php啥的,于是乎昨天简单弄了下。
泽泽社长
2023/10/01
4470
ElementUI通过CSS修改组件样式
最近在做一个比赛项目,在前端设计(使用Vue.js)的时候用到了ElementUI组件。前端整体的背景是深色调,调用ElementUI各项组件时其样式并不能很好的契合主题,因此需要通过CSS修改其色调及样式,但是直接通过class定位组件,并添加!important关键字后依然不能改动。
花猪
2022/04/14
3K0
ElementUI通过CSS修改组件样式
vue项目封装组件_前端组件封装
在使用vue进行日常开发的时候,组件的封装是一个很常规的操作,也可以从npm仓库下载别人封装好的组件来使用,比如iview,element ui等…但每个项目的应用场景不同,所以我们有时也需要自己封装组件。而如果在开发中换了项目,那么就只能复制代码过去,略显麻烦,这个时候呢,可以将封装好的组件上传到npm仓库,需要使用时就可以直接通过npm指令下载,非常方便。
全栈程序员站长
2022/11/09
1.6K0
vue项目封装组件_前端组件封装
vue封装组件思路_前端封装组件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
9900
CSS 浮动布局和网格系统
浮动能将一个元素(通常是一张图片)拉到其容器的一侧,这样文档流就能够包围它。这种布局在报纸和杂志中很常见,因此 CSS 增加了浮动来实现这种效果。(CSS 是一种排版约定)
Cellinlab
2023/05/17
9370
CSS 浮动布局和网格系统
【7b2主题美化】网格样式文章鼠标悬浮弹出分类角标
角标颜色和站点主颜色相同 有子主题的复制进style.css即可 .post-1 a.post-list-cat-item { background: var(--b2color); color: #fff!important; padding: 4px; line-height: 12px; border-radius: 4px; } .post-list-meta-box { justify-content: space-between; margin:
小梦 over
2023/02/01
6990
MDUI CSS框架 -网格布局
MDUI 需要为页面内容和网格布局系统包裹一个 .mdui-container 容器。我们提供了两个此作用的类。
meowrain
2021/04/22
2.5K0
MDUI CSS框架 -网格布局
点击加载更多

相似问题

从组件内部将CSS样式应用于角组件

27

角定制th组件的样式封装

11

css网格+ react组件挑战

22

用样式化的同级组件样式.组件

15

数据网格中同级组件之间的数据共享

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档