Я пытаюсь выполнить некоторые алгоритмы выбора функций в наборе данных для взрослых UCI, и у меня возникает проблема с выбором функции Univaraite. Я делаю однократную кодировку для всех категориальных данных, чтобы изменить их на числовые, но это дает мне много результатов.Уменьшение разрешенности набора с одним горячим кодированием
Как я могу избежать этого? Что я должен сделать, чтобы сделать этот код лучше?
# Encode
adult['Gender'] = adult['sex'].map({'Female': 0, 'Male': 1}).astype(int)
adult = adult.drop(['sex'], axis=1)
adult['Earnings'] = adult['income'].map({'<=50K': 0, '>50K': 1}).astype(int)
adult = adult.drop(['income'], axis=1)
#OneHot Encode
adult = pd.get_dummies(adult, columns=["race"])
target = adult["Earnings"]
data = adult.drop(["Earnings"], axis=1)
selector = SelectKBest(f_classif, k=5)
selector.fit_transform(data, target)
for n,s in zip(data.head(0), selector.scores_):
print "F Score ", s,"for feature ", n
EDIT:
Частичные результаты текущего кода:
F Оценка 26.1375747945 для особенность race_Amer-индийско-эскимосов
F оценка 3.91592196913 для функция race_Asian-Pac-Islander
F Оценка 237.173133254 для функции race_Black
F Оценка 31.117798305 для характеристики race_Other
F Оценка 218.117092671 для характеристики race_White
Ожидаемые результаты:
F Score «f_score» для функции «гонки»
Делая один горячий кодирования функция в выше разделяется на множество суб-функций, где я хотел бы обобщить это просто гонки (см. ожидаемые результаты), если это возможно.
Пожалуйста, сократите код до минимально необходимого и включите данные образца и желаемые результаты. Общие рекомендации по заданию вопросов: http://stackoverflow.com/help/mcve Спецификация Pandas: http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples – JohnE
@Username Могу ли я предложите изменить название этого вопроса, более подробно описывая актуальную проблему. Может быть, по строкам «Сокращение количества категорически закодированных функций для выбора функции?» или «Уменьшение разрешенности набора с одним горячим кодированием». – josh
@JohnE и josh, Спасибо за ваши комментарии! Я внес некоторые изменения в вопрос – Username