Ich bin neu in Python und versucht, eine einfache lineare Regression zu berechnen. Mein Modell hat eine abhängige Variable und eine unabhängige Variable. Ich verwende linear_model.LinearRegression() aus dem Paket sklearn. Ich habe einen R-Quadrat-Wert von .16 Dann habe ich import statsmodels.api als sm mod = sm.OLS (Y_train, X_train) und ich habe ein R-Quadrat von 0,61. unten ist der Code beginnend mit Daten von großen AbfrageUnterschied zwischen statsmodel OLS und scikit lineare Regression; verschiedene Modelle geben unterschiedliche r Quadrat
****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()
Ich bin sehr neu dazu. Versuchen zu verstehen, welches lineare Regressionspaket ich verwenden soll?
Sie müssen uns zeigen, was Sie tatsächlich getan haben, oder wie könnte jemand sagen, was Sie falsch gemacht haben? –
Willkommen bei StackOverflow. Bitte lesen und befolgen Sie die Buchungsrichtlinien in der Hilfe. [Minimales, vollständiges, überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) gilt hier. Wir können Ihnen nicht effektiv helfen, bis Sie Ihren MCVE-Code veröffentlicht und das Problem genau beschrieben haben. – Prune
@ juanpa.arrivillaga Ich habe die Frage bearbeitet, um den Code hinzuzufügen. – SAM244776