2015-04-23 1 views
3

Я хочу использовать машину вектор поддержки, чтобы решить проблему регрессии, чтобы предсказать доход учителей, основанный на нескольких функциях, представляющих собой смесь категоричных и непрерывных. Например, у меня есть [белый, азиатский, испаноязычный, черный], год обучения и годы образования.Использование SVR Scikit-Learn, как вы комбинируете категориальные и непрерывные функции при прогнозировании цели?

Для категоричного, я использовал модуль предварительной обработки sci-kit и расписал 4 гонки. В этом случае он будет выглядеть как [1,0,0,0] для белого учителя, и, следовательно, у меня есть массив из {[1,0,0,0], [0,1,0,0] , ... [0,0,1,0], [1,0,0,0]}, представляющие расы каждого учителя, закодированного для SVR. Я могу выполнить регрессию только с гонки против дохода, т.е .:

clf= SVR(C=1.0) 
clf.fit(racearray, income) 

Я также могу выполнить регрессию, используя количественные особенности. Тем не менее, я не знаю, как объединить функции вместе, т.е.

continousarray(zip(yearsteaching,yearseduction)) 
clf.fit((racearray, continousarray), income) 

ответ

2

Вы можете использовать scikit учиться OneHotEncoder-х. Если данные находятся в Numpy массиве "racearray" и столбцы

[contionus_feature1, contious_feature2, категоричен, continous_feature3]

ваш код должен выглядеть (иметь в виду, что Numpy перечисление начинается с 0)

from sklearn.preprocessing import OneHotEncoder 
enc = OneHotEncoder(categorical_features=[2]) 
race_encoded = enc.fit_transform(racearay) 

вы затем можете посмотреть ваш race_encode массив, как обычно, и использовать его в качестве СВР

clf= SVR(C=1.0) 
clf.fit(race_encoded, income) 
+0

Спасибо человеку. Считаете ли вы, что можете рассказать о том, как я буду смешивать два типа функций? Из того, что я читаю, у меня должен быть вектор всех входов, т. Е. [Contionus_feature1, contious_feature2, категориальный, continous_feature3]. Тогда я бы кодировал эту функцию, указав, что моя категориальная находится в столбце 3, и использовать эту закодированную матрицу как «смешанный» конечный входной вектор для SVR? –

+0

@ Zooey Lee Я отправил ответ в поле ответа – lanenok

+0

Спасибо огромное! –

Смежные вопросы