2019-08-02【机器学习】有监督学习之分类 SVC算法 实例(上证指数跌涨预测)
样本:
代码:有几处与教程不同,自行修改
import pandas as pd
import numpy as np
from sklearn import svm
from sklearn import model_selection #此处与教程不同,模块更改 #1.读取数据,此处不添加 index_col=0 因为会没有最左边的0,1,2,3那一列,导致后续ix换col索引出现问题
data = pd.read_csv('D:\python_source\Machine_study\mooc_data\classification\stock/000777.csv', encoding='gbk', parse_dates=[0])
data.sort_index(0, ascending=True, inplace=True) #按索引列(第一列,日期)升排序 #2.数据预处理
#选取5列数据作为特征:收盘价,最高价,最低价,开盘价,成交量
dayfeature = 150 #选取150天的数据量
featurenum = 5 * dayfeature
'''
data.shape[0] - day.feature意思为要用150天数据做训练,对于条目为200条的数据,只有50条数据
是有前150天的数据来训练的,使用训练集的大小就是200-150,对于每一条数据,它阿特征是前150天的所有特征数据,即150*5,
+1是将当天的开盘价引入作为一条特征数据
'''
x = np.zeros((data.shape[0] - dayfeature, featurenum + 1)) #记录150天的5个特征值
y = np.zeros((data.shape[0]-dayfeature)) #记录涨或者跌 for i in range(0, data.shape[0]-dayfeature):
#将数据中的收盘价,最高价1,开盘价,成交量存入 x数组中
x[i, 0:featurenum] = np.array(data[i:i+dayfeature]\
[[u'收盘价', u'最高价', u'最低价',u'开盘价', u'成交'
u'量']]).reshape((1, featurenum))
x[i, featurenum] = data.loc[i+dayfeature]['开盘价'] #最后一列记录当日开盘价 此处ix已被弃用
#1代表涨,0代表跌
for i in range(0, data.shape[0]-dayfeature):
if data.loc[i+dayfeature]['收盘价']>=data.loc[i+dayfeature]['开盘价']:
y[i] = 1
else:
y[i] = 0 #3.创建SVM并进行交叉验证
clf = svm.SVC(kernel='rbf', gamma='scale') #调用函数,参数默认为rbf,其他:linear,poly,sigmoid
result = []
for i in range(5):
x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y, test_size=0.2)
#x和y的验证集和测试集,切分80-20%的测试集
clf.fit(x_train, y_train)
#训练数据进行训练
result.append(np.mean(y_test == clf.predict((x_test))))
#预测数据和测试集的验证数据进行比对
print("svm classifier accuacy:")
print(result)
结果:
2019-08-02【机器学习】有监督学习之分类 SVC算法 实例(上证指数跌涨预测)的更多相关文章
- 吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- 2019.08.02 云从科技C++后台开发
公司坐标:重庆 岗位:C++后台开发 面试时长:45分钟 主要问题记录: (1)手写代码 冒泡算法的实现: /** * 冒泡排序:C++ * * @author skywang * @ ...
- 【纪中集训】2019.08.02【NOIP提高组】模拟 A 组TJ
\(\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}}\) T1 一道可以暴力撵标算的题-- Descripti ...
- 2019-07-25【机器学习】无监督学习之聚类 K-Means算法实例 (1999年中国居民消费城市分类)
样本 北京,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64天津,2459.77,495.47,697.33,302.87,284.1 ...
- 机器学习--最邻近规则分类KNN算法
理论学习: 3. 算法详述 3.1 步骤: 为了判断未知实例的类别,以所有已知类别的实例作为参照 选择参数K 计算未知实例与所有已知实例的距离 选 ...
- 2019-07-31【机器学习】无监督学习之聚类 K-Means算法实例 (图像分割)
样本: 代码: import numpy as np import PIL.Image as image from sklearn.cluster import KMeans def loadData ...
- 2019-07-31【机器学习】无监督学习之降维PCA算法实例 (鸢尾花)
样本 代码: import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets i ...
- 【Todo】【转载】Spark学习 & 机器学习(实战部分)-监督学习、分类与回归
理论原理部分可以看这一篇:http://www.cnblogs.com/charlesblc/p/6109551.html 这里是实战部分.参考了 http://www.cnblogs.com/shi ...
- 02机器学习实战之K近邻算法
第2章 k-近邻算法 KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法是一种基本分类与回归方法,我们这里只讨论分类问题中的 k-近邻算法. 一句话总结:近朱者赤近墨者黑! k ...
随机推荐
- requests模块使用二
1.cookies和session 1.1.什么是cookie和session? cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据. session(会话)起来本含义是指有始有 ...
- Flutter 实现不同样式(有样式) 的TextField (可自定义),类似微博#话题#、@用户,(给TextField加TextSpan)
描述 先上效果图 在项目中,有 @ 和 话题功能,需要在编辑时即可回显,但是官方原生的TextField不支持对部分文字定义不同的样式,所以封装了一个. 注意:这不是富文本插件,不支持在输入框中显示图 ...
- P5020 货币系统 题解
原题链接 简要题意: 求一个长度最小的货币系统与给出的货币系统等价.求这个货币系统的长度.等价的定义详见题目,不再赘述. 本文可能用到一些集合论,请放心食用. 算法一 \(n=2\) 时,只需判断两个 ...
- 【笔记3-31】Python语言基础-字典dict
创建字典 dict1 = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'} dict2 = dict(k1='v1', k2='v2', k3='v3' ...
- List<Object>转List<T>
今天遇到一个麻烦,公司有个项目用了一个封装dao的模板,他妈的不管是查一条数据的方法,还是查一个集合数据的方法,全都返回Object或List<Object> 由于对象是Object根本不 ...
- 树莓派3B+之Raspbian系统的安装
概述 因为之前一段时间在研究物联网的原因,所以对树莓派这个东西早就有所耳闻.在我的印象里,树莓派几乎无所不能,它可以用来学编程. 搞物联网. 做服务器,甚至还能用它来进行渗透测试.终于,没禁的住诱惑, ...
- 自签SSL证书
0.介绍 自己开发的使用了SSL协议的软件,通常没必要从证书签发机构那里来获取证书,自签证书成了必要的选择.自签证书还可以用来实现客户端登录认证. 1.创建CA 创建CA的私钥 openssl gen ...
- iOS 页面流畅技巧(1)
一.屏幕显示图像原理 首先明确两个概念:水平同步信号.垂直同步信号. CRT 的电子枪按照上图中的方式,从上到下一行一行的扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次的扫描. ...
- [noip模拟]小猫爬山<迭代深搜>
[题目描述]: Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). Freda和rai ...
- SQL 实战(五)
一. 将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01.CREATE TABLE IF NOT EXISTS titles_test ( ...