2013-09-24 12 views
17

मुझे यह जानने की ज़रूरत है कि लॉजिस्टिक रिग्रेशन गुणांक को इस तरह से कैसे वापस किया जाए ताकि मैं भविष्यवाणी की संभावनाएं उत्पन्न कर सकूं।विज्ञान सीखें: लॉजिस्टिक रिग्रेशन मॉडल गुणांक: स्पष्टीकरण

lr = LogisticRegression() 
lr.fit(training_data, binary_labels) 

# Generate probabities automatically 
predicted_probs = lr.predict_proba(binary_labels) 

मैं lr.coeff_ मान मान लिया था ठेठ रसद प्रतिगमन का पालन करेगा, ताकि मैं इस तरह की भविष्यवाणी की संभावनाओं लौट सकते हैं:

sigmoid(dot([val1, val2, offset], lr.coef_.T)) 

लेकिन

मेरे कोड इस तरह दिखता है यह उपयुक्त फॉर्मूलेशन नहीं है। क्या किसी के पास Sciitit LogisticRegression सीखने की अनुमानित संभावनाएं उत्पन्न करने के लिए उचित प्रारूप है? धन्यवाद!

उत्तर

15

दस्तावेजों (http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html), ऑफसेट गुणांक lr.coef_

coef_ सरणी द्वारा संग्रहीत नहीं है पर एक नज़र डालें, आकार = [n_classes -1, n_features] निर्णय में सुविधाओं के गुणांक समारोह। coef_ readonly संपत्ति raw_coef_ से व्युत्पन्न है जो liblinear के आंतरिक मेमोरी लेआउट का पालन करता है। intercept_ array, shape = [n_classes-1] इंटरसेप्ट (ए.के.ए. पूर्वाग्रह) ने निर्णय समारोह में जोड़ा। यह केवल तभी उपलब्ध होता है जब पैरामीटर अवरोध सही पर सेट होता है।

कोशिश:

sigmoid(dot([val1, val2], lr.coef_) + lr.intercept_) 
+0

#prgao, धन्यवाद, लेकिन अपने जवाब केवल मुझे बताता है कि कैसे संभावनाओं उत्पन्न करने के लिए नहीं। क्या आप जानते हैं कि उनकी गणना कैसे करें? धन्यवाद। – zbinsd

+2

सिग्मोइड (डॉट ([वैल 1, वैल 2], lr.coef_) + lr.intercept_) – prgao

+1

#prgao, ऐसा किया। अरे, मुझे लगा कि यह 'सिग्मोइड (डॉट ([वैल 1, वैल 2, 1], lr.coef_.T) काम करेगा,' ', लेकिन यह पता चला है, मुझे दो बार अवरोध शामिल करने की आवश्यकता है, जैसे: 'sigmoid (dot ([val1, val2, 1], lr.coef_.T) + lr.intercept_) '। इस पर ध्यान दिलाने के लिए धन्यवाद। – zbinsd

संबंधित मुद्दे