我想看看R和支持向量机(e1071)有什么可能。但混乱矩阵的结果却是大而不显的。
为了测试目的,我使用了来自雅虎金融的雅虎股票数据集。
我的R命令集如下所示:
> library(e1071)
> yahooData <- read.csv(file="../StockData/yahoo/yahoo-full.csv")
> yahooData[1,]
Date Open High Low Close Volume Adj.Close
1 2014-01-17 40.12 40.44 39.47 40.01 19262500 40.01
> dim(yahooData)
[1] 4473 7
> yIndex <- 1:nrow(yahooData)
> yTestindex <- sample(yIndex, trunc(length(yIndex)/3))
> yTestset <- yahooData[yTestindex,]
> yTrainset <- yahooData[-yTestindex,]
> dim(yTestset)
[1] 1491 7
> dim(yTrainset)
[1] 2982 7
>
> # svm
> ySVMmodel <- svm(Close ~ ., data = yTrainset)
> ySVMpred <- predict(ySVMmodel, yTestset[,-5])我的支持向量机模型和预测概述如下:
> summary(ySVMmodel)
Call:
svm(formula = Close ~ ., data = yTrainset)
Parameters:
SVM-Type: eps-regression
SVM-Kernel: radial
cost: 1
gamma: 0.000223314
epsilon: 0.1
Number of Support Vectors: 493
> summary(ySVMpred)
Min. 1st Qu. Median Mean 3rd Qu. Max.
12.55 20.96 31.93 49.84 43.55 401.10 最后,我想得到一个混乱的矩阵来查看我的结果,但是这个矩阵太大了,我无法从中得到任何信息:
> table(pred = ySVMpred, true = yTestset[,5])除了混淆矩阵之外,还有另一种方法来查看预测值吗?或者用另一种方法缩小混乱矩阵以获得结果?
发布于 2014-01-21 17:48:40
混淆矩阵是用来评估分类结果的。实际上,您正在使用SVMs执行回归。适当的方法是研究可以研究的残余物(估计的减去实际的)。
根据我的经验,对于这类数据,最好的方法是绘制预测的时间序列和实际的时间序列。
https://stackoverflow.com/questions/21258888
复制相似问题