Я пытаюсь выполнить логистическую регрессию для небольшого набора данных, где каждый экземпляр представлен одной категориальной (мужской, женский) переменной и одной непрерывной переменной (частота между [0,1]) и зависимой переменной (метка)либо 0, либо 1. Следовательно, задача - это задача двоичной классификации.Ниже я привожу 5-6 примеров:
import pandas as pd
df = pd.read_table('dataset.csv',sep=',')
df.head()
Gender Frequency Label
0 Male 0.10 0
1 Female 0.23 1
2 Female 0.35 1
3 Female 0.21 0
4 Male 0.15 1
Мой вопрос: при выполнении логистической регрессии с логистической регрессией Scikit, должен ли я по-разному кодировать свои постоянные и категориальные переменные?Нужна ли какая-либо из этих переменных специальная кодировка?Или следующий правильный способ сделать это?
from sklearn.cross_validation import train_test_split
X = df[['Gender','Frequency']] # Features
y = df.Label # Target variable
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=0)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
# fit the model with data
logreg.fit(X_train,y_train)
#
y_pred=logreg.predict(X_test)
Когда я это делаю, понимает ли функция регрессии, что Пол является категориальной переменной, а Частота - непрерывной переменной?
РЕДАКТИРОВАТЬ : Конечно, мне нужно конвертировать строки в значения с плавающей точкой.(Например, «Мужской» -> 0, «Женский» -> 1) Я спрашиваю: «Нужно ли мне что-то, кроме этого? Я спрашиваю об этом, потому что я увидел нечто подобное здесь , но потокне был заключен, поэтому я не мог быть уверен в правильности ответов.