Python 및 기계 학습에 새로운 아주 새로운.python 로지스틱 회귀 - patsy 디자인 매트릭스 및 범주 데이터
로지스틱 회귀 모델을 작성하려고합니다. 저는 R에서 람다를 얻기 위해 일했으며 십자가 유효성 검사를 사용하여 최고의 모델을 찾았으며 지금은 파이썬으로 옮깁니다.
여기서는 디자인 행렬을 생성하고 스파 스 (sparse)로 만들었습니다. 그런 다음 로지스틱 회귀 분석을 실행했습니다. 그것은 작동하는 것 같습니다.
내 용어는 item_number가 더미 변수가 된 방법을 아는 범주라고 말했기 때문에 제 질문은 무엇입니까? 그리고 어떤 계수가 각 범주 이름과 함께 있는지 어떻게 알 수 있습니까?
from patsy import dmatrices
from sklearn.linear_model import LogisticRegression
from sklearn import preprocessing
def train_model (data, frm, Rlambda):
y, X = dmatrices(frm , data, return_type="matrix")
y = np.ravel(y)
scaler = sklearn.preprocessing.MaxAbsScaler(copy=False)
X_trans = scaler.fit_transform(X)
model = LogisticRegression(penalty ='l2', C=1/Rlambda)
model = model.fit(X_trans, y)
frm = 'purchase ~ price + C(item_number)'
Rlambda = 0.01
model, train_score = train_model(data1,frm,Rlambda)
디버그 해 주셔서 감사합니다. 좋아, 그래서 그들이 들어가는 것과 똑같이 나옵니다. 그러나 범주 형 데이터를 전달할 때 이후 범주 중 하나가 더미 변수가되어 사라지지 않아야합니까? – tosh1611
'item_number'가 1에서 5까지의 값을 취하고'C (item_number)'다음에 4 개의 더미 (0, 1을 가짐)를 얻는다 고 가정하십시오. 계수와 인형 이름의 조화에 대해 정말로 신경 쓰는 경우에는 먼저 데이터 세트에 레이블을 지정해야하며 행렬이 아닌 데이터 프레임을 반환하고 대신 return_type = 'dataframe''을 설정하십시오. 변수 이름을 찾으려면 x.head(), x.columns 등을 사용하십시오. – Nicholas