Прогноз акций + новостные настроения с SVM в R? - PullRequest
0 голосов
/ 05 июля 2019

Я хотел бы предсказать цену акций и оценку настроения новостей вместе с SVM в R, чтобы увидеть, влияют ли новости на цену акций и их прогноз.Я читал, что машины опорных векторов (SVM) являются хорошим подходом машинного обучения для этой проблемы.У меня есть один столбец, который представляет дату акций и новостей, один столбец представляет цены акций в этот день и 4 столбца, которые представляют оценки настроений, основанные на другой лексике.Я хотел бы проверить сначала с одной из этих лексик, и если модели работают, примеряя другую.Набор данных включен ниже.Я нашел несколько примеров с python, но не смог найти что-то для R. Мне нравится использовать функцию svm() из e1071 package

Я разбил данные на поезд и набор тестов:

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

Что я здесь не так делаю?Надеюсь, кто-нибудь может мне помочь!

Набор данных

1 Ответ

0 голосов
/ 08 июля 2019

Вы используете точность модели для оценки модели.Точность используется для задач классификации, но ваша переменная ответа непрерывна.Вы должны использовать RMSE.

pred <- predict(radial.svm, newdata=df.test, type='response')
rmse <- sqrt(mean((pred - df.test$GSPC.Close)^2))
rmse

Продолжение комментариев:

enter image description here

Первые графики GSPC. Закрыть по дате (слева)и второй сюжет SentimentGI против даты (справа).Обратите внимание, что цены на акции обычно растут с течением времени, тогда как настроение имеет наклон 0 в тот же период времени.Что это говорит тебе?

...