用K近邻(KNN)机器学习算法进行股票走势预测-Python

本文介绍了如何运用K近邻(KNN)算法进行股票走势预测,通过Python实现KNN的步骤,包括数据处理、模型建立、预测和评估。在案例中,使用SPY数据进行预测,通过混淆矩阵、ROC曲线下面积等指标评估模型性能,发现模型预测准确率和AUC值并不理想,提示需要进行超参数调优和策略优化。
摘要由CSDN通过智能技术生成

什么是K近邻(KNN)

K近邻(KNN,K-Nearest Neighbors)是最简单的机器学习算法之一,可用于回归和分类。KNN是一种“惰性”学习算法,从技术上讲,它不训练模型来进行预测。K近邻的逻辑是,假设有一个观测值,这个观测值被预测属于离它k个最近观测值中所占比例最大的那一个类。KNN方法是直接尝试使用实际数据来近似条件期望。

对于回归,预测值是K个邻居的均值,估计量(estimator)为
f ^ ( x ) = A v e r a g e [ y i ∣ x i ∈ N k ( x ) ] \hat{f}(x) = Average[y_i | x_i \in N_k(x)] f^(x)=Average[yixiNk(x)]
N k ( x ) N_k(x) Nk(x)是x的 包含k个 最靠近的 观测值的 邻域。

对于分类,所预测的标签是具有“多票者胜”性质的类,即,哪个类在相邻类中最具代表性。这相当于在k个最近的邻居中进行多数投票。对于每一类j = 1,…, K,然后我们计算条件概率
Pr ⁡ ( G = j ∣ X = x 0 ) = 1 k ∑ i ∈ N k ( x ) I ( y i = j ) \Pr(G = j | X = x_0) = \frac1{k} \sum_{i\in N_k(x)} I(y_i = j) Pr(G=jX=x0)=k1iNk(x)I(yi=j)
把观察值归类给条件概率最高的那一类。这里的 I ( y i = j ) I(y_i = j) I(yi=j)是指示函数,如果

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值