로지스틱 회귀를 사용하여 다양한 sklearn 코드를 작성하여 값을 예측했습니다. 내가 vals
의 값을 예측하려는로지스틱 회귀를 사용하여 매개 변수 값 예측
https://gist.github.com/anonymous/563591e0395e8d988277d3ce63d7438f
date hr_of_day vals
01/05/2014 9 929
01/05/2014 10 942
01/05/2014 11 968
01/05/2014 12 856
01/05/2014 13 835
01/05/2014 14 885
01/05/2014 15 945
01/05/2014 16 924
01/05/2014 17 914
01/05/2014 18 744
01/05/2014 19 377
01/05/2014 20 219
01/05/2014 21 106
난 그냥
인 분류를 검증하기 위해 훈련 데이터에서 처음 8 개 항목을 선택한 - 같은
교육 데이터 보인다 , 데이터를 테스트 할 때 나는 0
으로 입력했습니다. 그 맞습니까?
date hr_of_day vals
2014-05-01 0 0
2014-05-01 1 0
2014-05-01 2 0
2014-05-01 3 0
2014-05-01 4 0
2014-05-01 5 0
2014-05-01 6 0
2014-05-01 7 0
내 모델 코드가 올바르게 작동합니다. 하지만 내 결과는 어둡다. 나는 결과에서 vals
의 가치를 기대하고 있었다. 그보다는 모든 요소 값이 0.00030676
인 큰 행렬을 얻고 있습니다.
누군가가 세부 정보를 제공하거나이 결과로 더 잘 게임 할 수 있도록 도와 주시면 감사하겠습니다.
import pandas as pd
from sklearn import datasets
from sklearn import metrics
from sklearn.linear_model import LogisticRegression
from datetime import datetime, date, timedelta
Train = pd.read_csv("data_scientist_assignment.tsv", sep='\t', parse_dates=['date'])
Train['timestamp'] = Train.date.values.astype(pd.np.int64)
x1=["timestamp", "hr_of_day"]
test=pd.read_csv("test.tsv", sep='\t', parse_dates=['date'])
test['timestamp'] = test.date.values.astype(pd.np.int64)
print(Train.columns)
print(test.columns)
model = LogisticRegression()
model.fit(Train[x1], Train["vals"])
print(model)
print model.score(Train[x1], Train["vals"])
print model.predict_proba(test[x1])
결과는 다음과 같습니다
In [92]: print(model)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
penalty='l2', random_state=None, solver='liblinear', tol=0.0001,
verbose=0, warm_start=False)
In [93]: print model.score(Train[x1], Train["vals"])
0.00520833333333
In [94]:
In [94]: print model.predict_proba(test[x1])
[[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]
[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]
[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]
...,
[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]
[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]
[ 0.00030676 0.00030676 0.00030676 ..., 0.00030889 0.00030885
0.00030902]]
입니다 너 이해하지 못해? "나는 이해하지 못한다"는 질문을하지 않습니다. – Julien
@JulienBernu : 질문을 편집했습니다. 결과적으로 실제 결과에서'vals'의 값을 예측해야합니다. 그러면 모든 값을'0.00030676'으로 설정 한 큰 행렬을 얻게됩니다 – user123
predict_proba를 사용하고 있습니다. 이것이 예상 확률을 얻는 이유입니다. 대신 model.predict()를 사용해보십시오. –