Почему мой SVR-фитинг работает вечно? - PullRequest
2 голосов
/ 02 ноября 2019

Привет всем и привет миру. Это мой первый вопрос о StackOverflow, и любая помощь будет полезна!

Я пытаюсь создать простую модель регрессии опорных векторов (SVR) для прогнозирования запасов с использованием локальных акций и использования sklearn.svm SVR.

train - это мой обучающий фрейм данных, в то время как у фрейма данных есть только дата и цена закрытия в качестве столбцов

GSCV() - это функция, которая возвращает оптимальные C и gamma, полученные изиспользуя GridSearchCV

        train["Date"]=pd.to_datetime(train["Date"])
        dates = pd.DataFrame.to_numpy(train["Date"]).reshape(-1,1)
        closing_prices = (pd.DataFrame.to_numpy(train[' Close'])).reshape(-1,1)

        c,g = GSCV('rbf',dates, closing_prices)
        svr_rbf = SVR('rbf', C=c, gamma = g, cache_size=20000)

        c,g = GSCV('linear',dates, closing_prices)
        svr_lin = SVR(kernel= 'linear', C= c, gamma = g,cache_size=20000)

        c,g = GSCV('poly',dates, closing_prices)
        svr_poly = SVR(kernel= 'poly', C= c, degree= 2, gamma = g,cache_size=20000)

        svr_rbf.fit(dates, closing_prices)
        svr_lin.fit(dates, closing_prices)
        svr_poly.fit(dates, closing_prices)

Я хотел бы отметить, что у меня есть два типа наборов данных: запасы с малой дисперсией и запасы с высокой дисперсией. При кормлении запасами с малой дисперсией модели немедленно прекращают работу, хотя с постоянным прогнозом повсюду. С другой стороны, большие отклонения вызывают мою проблему без прерывания.

В моем эксперименте необходимо создать модели, основанные на данных за 2,4,6,8,10 лет. Самое большее, у меня 2100+ точек данных, но даже с 400+ точками данных код, похоже, не заканчивается. Это слишком много для начала?

Я попытался 1. масштабировать данные с помощью StandardScaler 2. установить cache=20000 в надежде на ускорение

Спасибо всем и всемввод!

1 Ответ

0 голосов
/ 04 ноября 2019

Поскольку здесь нет бесконечного цикла или чего-то еще, код должен завершаться или выдавать ошибку в какой-то момент времени, поэтому первый вопрос: вы запустили его до конца?

Вы могли бы измерить свою оперативную память, чтобы понять, работает ли он на высоких вычислительных затратах.

В противном случае есть нить, которая может помочь: Как ускорить sklearn SVR?

...