Неизвестный тип этикетки: «непрерывный» в модели SVM для прогнозирования цены акций - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь написать код для SVM. Моя цель - предсказать цену акций S & P за неделю. Я использовал недельные цены акций Apple для y_train, а мои x_train - это рыночные цены и два французских фактора Fama.

В конце кода, с которым я сталкиваюсь:

Неизвестный тип этикетки: «непрерывный».

Понятия не имею, в чем проблема. Вы можете помочь? Вот мой код:

import pandas as pd
import numpy as np
import sklearn
from sklearn import svm
from sklearn import metrics

data = pd.read_csv('combine_weekly.csv',sep=',')

data= data[['return_app','return_sp','SMB','HML']]

predict='return_app'

x= np.array(data.drop([predict],1))
y= np.array(data[predict])

x_train, x_test, y_train, y_test = 
sklearn.model_selection.train_test_split(x,y,test_size=0.2)

clf = svm.SVC(kernel= 'linear', C= 4)
clf.fit(x_train, y_train).     <<<<< >>>*** here I get the error ***


y_pred = clf.predict(x_test )
acc= metrics.accuracy_score(y_test, y_pred)
print(acc)

1 Ответ

0 голосов
/ 24 апреля 2020

Ваши метки - это непрерывные числа (например, 1, 2, 3.5, 4.2, 5.6 и т. Д. c), которые можно рассматривать как проблему регрессии. Хотя вы используете svm.SV C, который является классификатором (где мы получаем классы в виде меток, таких как «фрукты», «овощи» и т. Д. c, а не вещественные числа, как в вашем случае) и не регрессор. Вы можете выбрать LinearRegression, XGBRegressor и др. c. для этой проблемы

...