Logistic regression को इम्प्लीमेंट करना
यह पहले वाले अभ्यास जैसा ही है जहाँ आपने scipy.optimize.minimize का उपयोग करके linear regression को "from scratch" इम्प्लीमेंट किया था. लेकिन इस बार हम logistic loss को minimize करेंगे और scikit-learn की LogisticRegression से तुलना करेंगे (हमने regularization बंद करने के लिए C को बहुत बड़े मान पर सेट किया है; इस पर विस्तार से Chapter 3 में!).
पिछले अभ्यास का log_loss() फंक्शन आपके environment में पहले से परिभाषित है, और sklearn का breast cancer prediction डेटासेट (पहले 10 फीचर, standardized) X और y वैरिएबल में लोड है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Linear Classifiers
अभ्यास निर्देश
range()में प्रशिक्षण उदाहरणों की संख्या इनपुट करें.- logistic regression के लिए loss फंक्शन भरें.
- sklearn की
LogisticRegressionसे coefficients की तुलना करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# The logistic loss, summed over training examples
def my_loss(w):
s = 0
for i in range(____):
raw_model_output = w@X[i]
s = s + ____(raw_model_output * y[i])
return s
# Returns the w that makes my_loss(w) smallest
w_fit = minimize(my_loss, X[0]).x
print(w_fit)
# Compare with scikit-learn's LogisticRegression
lr = LogisticRegression(fit_intercept=False, C=1000000).fit(X,y)
print(lr.coef_)