Aynı işi yapan farklı kütüphanelerden iki farklı yöntem hakkında bir sorum var. Doğrusal regresyon modeli yapmaya çalışıyorum.
OLS ile istatistik modeli kitaplığını kullandığım kod:
X_train, X_test, y_train, y_test = cross_validation.train_test_split(x, y, test_size=0.3, random_state=1)
x_train = sm.add_constant(X_train)
model = sm.OLS(y_train, x_train)
results = model.fit()
print "GFT + Wiki / GT R-squared", results.rsquared
Bu çıktı GFT + Wiki / GT R kare 0.981434611923
ve ikincisi scikit kütüphane öğrenme Doğrusal model yöntemi:
model = LinearRegression()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print 'GFT + Wiki / GT R-squared: %.4f' % model.score(X_test, y_test)
Bu çıktı GFT + Wiki / GT R kare: 0.8543
Benim sorum her iki yöntem de R ^ 2 sonucumuzu yazdırıyor ama biri 0.98 çıktı, diğeri 0.85 çıktı.
Anladığım kadarıyla, OLS eğitim veri kümesiyle çalışır. Sorularım,
- OLS ile test verileriyle çalışmanın bir yolu var mı?
- Eğitim veri seti puanı bize herhangi bir anlam ifade ediyor mu (OLS'ta test veri seti kullanmadık)? Geçmişteki bilgilerime dayanarak test verileriyle çalışmak zorundayız.
- OLS ve scikit doğrusal regresyon arasındaki fark nedir? Modelin puanını hesaplamak için hangisini kullanıyoruz?
Herhangi bir yardım için teşekkürler.