मेरे पास अलग-अलग पुस्तकालयों से दो अलग-अलग तरीकों के बारे में सवाल है जो एक ही काम कर रहे हैं। मैं रैखिक प्रतिगमन मॉडल बनाने की कोशिश कर रहा हूं।
यहां वह कोड है जो मैं ओएलएस के साथ स्टैटमोडेल लाइब्रेरी का उपयोग कर रहा हूं:
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
यह GFT + Wiki / GT R-squared 0.981434611923 प्रिंट करता है
और दूसरा है लाइब्रेरी जानें लीनियर मॉडल विधि:
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)
यह जीएफटी + विकी / जीटी आर-स्क्वेर्ड प्रिंट आउट : 0.8543
तो मेरा प्रश्न है कि दोनों विधि हमारे R ^ 2 परिणाम को प्रिंट करती है, लेकिन एक प्रिंट 0.98 है और दूसरा 0.85 है।
मेरी समझ से, OLS प्रशिक्षण डेटासेट के साथ काम करता है। तो मेरे सवाल,
- क्या कोई ऐसा तरीका है जो OLS के साथ परीक्षण डेटा सेट के साथ काम करता है?
- क्या ट्रांसिंग डेटा सेट स्कोर हमें कोई अर्थ देता है (ओएलएस में हमने टेस्ट डेटा सेट का उपयोग नहीं किया है)? मेरे पिछले ज्ञान से हमें परीक्षण डेटा के साथ काम करना होगा।
- OLS और scikit रैखिक रिग्रेशन में क्या अंतर है। मॉडल के स्कोर की गणना के लिए हम किसका उपयोग करते हैं?
किसी भी मदद के लिए धन्यवाद।