【发布时间】:2019-11-16 03:18:18
【问题描述】:
我想在 R 中与 SVM 一起预测股票价格和新闻情绪得分,以查看新闻是否对股票价格及其预测产生影响。我读到支持向量机(svm)是解决这个问题的一种很好的机器学习方法。我有一栏代表股票和新闻的日期,一栏代表当天的股价,四栏代表基于不同词汇的情绪得分。我想先用其中一个词典进行测试,如果模型有效,再尝试另一个。数据集包括在下面。我找到了一些使用 python 的示例,但找不到 R 的内容。我喜欢使用 e1071 package 中的 svm() 函数
我将数据分成训练集和测试集:
sample <- sample(nrow(sentGI),nrow(sentGI)*0.70)
df.trainGI = sentGI[sample,]
df.testGI = sentGI[-sample,]
我已经尝试过这个 SVM 代码,但我的错误预测率为 100
plot(df.trainGI$GSPC.Close, df.trainGI$SentimentGI, pch = 19, col = c("red", "blue"))
svm_model_GI <- svm(SentimentGI.Class ~ ., df.trainGI)
print(svm_model_GI)
plot(svm_model_GI, df.trainGI)
svm_pred_GI <- predict(svm_model_GI, newdata = df.testGI, type="response")
rmse <- sqrt(mean((svm_pred_GI - df.testGI$GSPC.Close)^2))
rmse
我在这里做错了什么?希望有人能帮助我!
【问题讨论】:
标签: r machine-learning svm prediction sentiment-analysis