这一期,我们将使用上一期处理好的数据特征和标签训练机器,然后预测交易策略。我们将分别使用 K近邻算法和集成学习两种方法分别完成模型的训练和预测。
FinTech History
Python 与金融数据|股票数据的获取与可视化
Python 与金融数据|数据的滑动平均值及多图可视化
Python 与金融数据|数据的重采样与蜡烛图(K线图)的绘制
Python 与金融数据|网页爬取上证50股票代码
Python 与金融数据|批量抓取并保存上证50的交易数据
Python 与金融数据|上证50的收盘价汇总
Python 与金融数据|绘制股票间的相关性图表
Python 与金融数据|为机器学习预处理数据
Python 与金融数据|生成机器学习的标签和特征
![f26de93ec44f6e3ab6f5ed7edc18f7f6.png](https://i-blog.csdnimg.cn/blog_migrate/009617a406b600bd0674999acf8cf1e2.png)
在 Python 中有很多种免费的机器学习库,其中之一是 sklearn,是针对 Python 的免费软件机器学习库。
sklearn 具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN等内置方法。
K近邻算法是机器学习中比较简单的算法之一,在 sklearn 工具包中提供可以直接调用的方法。
K近邻算法是一个分类算法,可以把待分类的数据看作空间或者平面的一些点,如果一个样本点附近的K个最近的样本点大多数都是属于同一个类别,那么,这个样本点就也是属于这个类别。
与之前一样,使用一个特定的函数 doML() 来实现本期的内容,因为要使用上一期处理好的特征数据和标签来完成机器学习方法的训练,所以执行上一期的函数获取处理完成后的数据:
def doML(ticker): X, y, dataFrame = extractFeaturesets(ticker)
接下来我们从所有的数据中划分出一部分来训练模型,另一部分的数据用来测试我们模型的准确性。
可以使用 train_test_split 这个方法来划分数据,这个方法来自于 sklearn 库,所以使用之前需要先导入这个方法:
from sklearn.model_selection import train_test_split
train_test_split 方法一般有三个参数,第一个参数为待划分的特征数据,第二个参数为待划分的标签数据,第三个参数为测试数据所占的比例,第三个参数的值是介于 0 和 1 之间:
XTrain, XTest, yTrain, yTest = train_test_split(X, y