-1
저는 python을 처음 사용하고 간단한 선형 회귀를 계산하려고합니다. 내 모델에는 하나의 종속 변수와 하나의 독립 변수가 있습니다. sklearn 패키지에서 linear_model.LinearRegression()을 사용하고 있습니다. 저는 R square 값이 .16 입니다. 그런 다음 sm> mod.sm. (Y_train, X_train) 으로 statsmodels.api를 가져오고 R square 0.61을 받았습니다. 아래는 대용량 쿼리에서 데이터를 가져 오는 코드입니다.통계 모델 OLS와 scikit 선형 회귀 분석의 차이점; 다른 모델은 서로 다른 r square를 제공합니다.
****Code for linear regression****
train_data_df = pd.read_gbq(query,project_id)
train_data_df.head()
X_train = train_data_df.revisit_next_day_rate[:, np.newaxis]
Y_train = train_data_df.demand_1yr_per_new_member[:, np.newaxis]
#scikit-learn version to get prediction R2
model_sci = linear_model.LinearRegression()
model_sci.fit(X_train, Y_train)
print model_sci.intercept_
print ('Coefficients: \n', model_sci.coef_)
print("Residual sum of squares %.2f"
% np.mean((model_sci.predict(X_train) - Y_train ** 2)))
print ('Variance score: %.2f' %model_sci.score(X_train, Y_train))
Y_train_predict = model_sci.predict(X_train)
print ('R Square', r2_score(Y_train,Y_train_predict))
****for OLM****
print Y_train[:3]
print X_train[:3]
mod = sm.OLS(Y_train,X_train)
res = mod.fit()
print res.summary()
나는 매우 새로운 기능입니다. 어떤 회귀 분석 패키지를 사용해야하는지 이해하려고 노력하고 있습니까?
당신이 실제로 한 일을 보여줄 필요가 있습니까? 그렇지 않으면 어떻게 잘못했는지 말할 수 있습니까? –
StackOverflow에 오신 것을 환영합니다. 도움말 설명서의 게시 지침을 읽고 따르십시오. [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)가 여기에 적용됩니다. MCVE 코드를 게시하고 문제를 정확하게 설명하기 전까지는 효과적으로 도움을 드릴 수 없습니다. – Prune
@ juanpa.arrivillaga 코드를 추가 할 질문을 편집했습니다. – SAM244776