Прогноз SVM (SV C против SVR) - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь предсказать значения в моем наборе данных с помощью SKlearn SVM. На веб-сайте Sklearn у меня есть несколько моделей:

Мой набор данных имеет полную цифру c (как и набор данных Iris), без меток.

Я пытался применить модель таким образом:

svclassifier = SVC(kernel='linear')

и вычисление очень длинное (около 19 часов)

Я пытался изменить модель в

svclassifier = SVR()

и вычисления очень легкие (около 2 минут)

Я также проверил RMSE, с моими исходными значениями и прогнозируемым значением, и разница настолько близка, в SV C около 6, а для SVR 5,9 ( кажется лучше в этом).

Как вы можете найти подходящую модель для набора? В чем разница между двумя моделями, которые я использовал?

РЕДАКТИРОВАТЬ: Это мой тип набора данных

valueHR values  WkHR    WkCal   WkSteps sec sugar   cal carbs   fat fiber   protein sodium
823 77  0   0   0   0   0   90  0   0   0   0   0   0
824 75  49  0   0   0   0   90  0   0   0   0   0   0

, и я разделил df таким образом

X = data.drop('sugar', axis=1)
y = data['sugar']

и я применил тест и обучил для X и y

После этого я применяю SVM для прогнозирования значений сахара.

РЕДАКТИРОВАТЬ 2: data.unique ()

data['sugar'].unique()

array([ 90,  86,  82,  79,  78,  76,  84,  88,  92,  81,  93,  96,  95,
        94,  87,  99,  97,  89, 104, 109, 113, 116, 108,  98,  80,  72,
        73,  74,  83, 112, 107, 103,  91, 100, 102, 101, 105, 117, 110,
       106, 125, 133, 115, 111, 114,  85, 121, 119, 126, 122, 127, 132,
       136, 131, 123, 120, 118, 124, 130, 128, 129, 140, 138, 139, 145,
       154, 148, 134], dtype=int64)

Чтобы было ясно, я не хочу классифицировать, я просто хочу предсказать. В наборе данных есть данные об одном и том же человеке, поэтому у меня больше людей нет (как в случае с набором данных Iris были разные виды).

1 Ответ

1 голос
/ 25 марта 2020

Первое, на что нужно обратить внимание, это то, являются ли данные в линейном или нелинейном формате.

Предсказать лучшую модель для новичка довольно сложно, поскольку необходимо проанализировать формат данных (линейный, нелинейный).

Однако мы можем использовать метрики для проверки точности результатов.

Используйте приведенный ниже код для проверки точности моделей, которые вы используете в наборе данных.

из sklearn.metrics import precision_score

precision_score (y_test, предсказанный_y_test)

...