ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介、使用方法之详细攻略
ML之sklearn:sklearn.linear_mode中的LogisticRegression函數的簡介、使用方法之詳細攻略
?
?
?
目錄
sklearn.linear_mode中的LogisticRegression函數的簡介、使用方法
?
?
?
?
?
sklearn.linear_mode中的LogisticRegression函數的簡介、使用方法
?
| class LogisticRegression Found at: sklearn.linear_model._logisticclass LogisticRegression(BaseEstimator, LinearClassifierMixin,? SparseCoefMixin): ? ? """ ? ? Logistic Regression (aka logit, MaxEnt) classifier. ? ? In the multiclass case, the training algorithm uses the one-vs-rest (OvR) scheme if the 'multi_class' option is set to 'ovr', and uses the cross-entropy loss if the 'multi_class' option is set to 'multinomial'. (Currently the 'multinomial' option is supported only by the 'lbfgs',?'sag', 'saga' and 'newton-cg' solvers.) ? ?? ? ? This class implements regularized logistic regression using the?'liblinear' library, 'newton-cg', 'sag', 'saga' and 'lbfgs' solvers. **Note that regularization is applied by default**. It can handle both dense?and sparse input. Use C-ordered arrays or CSR matrices containing 64-bit?floats for optimal performance; any other input format will be?converted?(and copied). ? ?? ? ? The 'newton-cg', 'sag', and 'lbfgs' solvers support only L2?regularization with primal formulation, or no regularization. The 'liblinear' solver?supports both L1 and L2 regularization, with a dual formulation only?for?the L2 penalty. The Elastic-Net regularization is only supported by the 'saga' solver. ? ?? ? ? Read more in the :ref:`User Guide <logistic_regression>`. | ? ? 邏輯回歸(又名logit, MaxEnt)分類器。
|
| ? Parameters ? ? ---------- ? ? penalty : {'l1', 'l2', 'elasticnet', 'none'}, default='l2' ? ? Used to specify the norm used in the penalization. The 'newton-cg', 'sag' and 'lbfgs' solvers support only l2 penalties. 'elasticnet' is only supported by the 'saga' solver. If 'none' (not supported by the?liblinear solver), no regularization is applied. ? ?? ? ? .. versionadded:: 0.19 ? ? l1 penalty with SAGA solver (allowing 'multinomial' + L1) ? ?? ? ? dual : bool, default=False ? ? Dual or primal formulation. Dual formulation is only implemented for?l2 penalty with liblinear solver. Prefer dual=False when n_samples > n_features. ? ?? ? ? tol : float, default=1e-4 ? ? Tolerance for stopping criteria. ? ?? ? ? C : float, default=1.0 ? ? Inverse of regularization strength; must be a positive float.? Like in support vector machines, smaller values specify stronger?regularization. ? ?? ? ? fit_intercept : bool, default=True ? ? Specifies if a constant (a.k.a. bias or intercept) should be added to the decision function. ? ?? ? ? intercept_scaling : float, default=1 ? ? Useful only when the solver 'liblinear' is used? and self.fit_intercept is set to True. In this case, x becomes?[x, self.intercept_scaling],?i.e. a "synthetic" feature with constant value equal to?intercept_scaling is appended to the instance vector.The intercept becomes ``intercept_scaling * synthetic_feature_weight``. ? ?? ? ? Note! the synthetic feature weight is subject to l1/l2 regularization?as all other features. To lessen the effect of regularization on synthetic feature weight (and therefore on the intercept) intercept_scaling has to be increased. ? ?? ? ? class_weight : dict or 'balanced', default=None ? ? Weights associated with classes in the form ``{class_label: weight}``.?If not given, all classes are supposed to have weight one. ? ?? ? ? The "balanced" mode uses the values of y to automatically adjust? weights inversely proportional to class frequencies in the input data??as ``n_samples / (n_classes * np.bincount(y))``. ? ?? ? ? Note that these weights will be multiplied with sample_weight (passed through the fit method) if sample_weight is specified. ? ?? ? ? .. versionadded:: 0.17 ? ? *class_weight='balanced'* ? ?? ? ? random_state : int, RandomState instance, default=None?Used when ``solver`` == 'sag', 'saga' or 'liblinear' to shuffle the?data. See :term:`Glossary <random_state>` for details. ? ?? ? ? solver : {'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga'}, \ default='lbfgs' ? ?? ? ? Algorithm to use in the optimization problem. ? ?? ? ? - For small datasets, 'liblinear' is a good choice, whereas 'sag' and?'saga' are faster for large ones. ? ? - For multiclass problems, only 'newton-cg', 'sag', 'saga' and 'lbfgs'? handle multinomial loss; 'liblinear' is limited to one-versus-rest? schemes. ? ? - 'newton-cg', 'lbfgs', 'sag' and 'saga' handle L2 or no penalty ? ? - 'liblinear' and 'saga' also handle L1 penalty ? ? - 'saga' also supports 'elasticnet' penalty ? ? - 'liblinear' does not support setting ``penalty='none'`` ? ?? ? ? Note that 'sag' and 'saga' fast convergence is only guaranteed on? features with approximately the same scale. You can?preprocess the data with a scaler from sklearn.preprocessing. | 參數 --------- 處罰:{l1, l2,‘elasticnet’,‘沒有’},默認=“l2” 用于指定在處罰中使用的規范。“newton-cg”,“sag”和“lbfgs”求解器只支持l2懲罰。“elasticnet”僅由“saga”求解器支持。如果“none”(liblinear求解器不支持),則不應用正則化。 . .versionadded:: 0.19 l1懲罰與SAGA求解器(允許“多項”+ l1) bool,默認=False 雙重或原始配方。對偶公式僅適用于l2罰用線性求解器。當n_samples > n_features時,preferred dual=False。 tol:浮動,默認=1e-4 停止標準的容忍度。 C: float, default=1.0 正則化強度的逆;必須是正浮點數。與支持向量機一樣,值越小,正則化越強。 fit_intercept: bool,默認=True 指定一個常數(即偏差或攔截)是否應該添加到決策函數中。 intercept_scaling:浮動,默認=1 只有在使用“liblinear”求解器和self時才有用。fit_intercept設置為True。在這種情況下,x變成[x, self。intercept_scaling],即。一個常數值等于intercept_scaling的“合成”特性被附加到實例向量中。攔截變成' ' intercept_scaling * synthetic_feature_weight ' '。 注意!合成特征權重與所有其他特征一樣,采用l1/l2正則化。為了減少正則化對合成特征權重的影響(因此對攔截的影響),必須增加intercept_scaling。 class_weight: dict或'balanced',默認為None 以' ' {class_label: weight} ' ' '形式關聯類的權重。如果沒有給出,所有類的權重都應該是1。 “平衡”模式使用y的值自動調整權重與輸入數據中的類頻率成反比,如' ' n_samples / (n_classes * np.bincount(y)) ' '。 注意,如果指定了sample_weight,那么這些權重將與sample_weight相乘(通過fit方法傳遞)。 . .versionadded:: 0.17 * class_weight = '平衡' * random_state: int, RandomState instance, default=None,當' ' solver ' ' = 'sag', 'saga'或'liblinear'洗發數據時使用。詳見:term: ' Glossary <random_state> '。</random_state> 解決:{‘newton-cg’,‘lbfgs’,‘liblinear’,“凹陷”,“傳奇”},\默認=“lbfgs” 算法用于優化問題。 對于小數據集,“liblinear”是一個不錯的選擇,而“sag”和“saga”對于大數據集更快。 -對于多類問題,只有“newton-cg”、“sag”、“saga”和“lbfgs”處理多項損失;“liblinear”僅限于“一對二”方案。 - 'newton-cg', 'lbfgs', 'sag'和'saga'處理L2或沒有處罰 -“liblinear”和“saga”也可以處理L1懲罰 -《英雄傳奇》也支持《彈性網》的懲罰 - 'liblinear'不支持設置' ' penalty='none' ' ' 請注意,“sag”和“saga”的快速收斂只能保證在大致相同規模的特性上。您可以使用sklearn.preprocessing中的scaler對數據進行預處理。 |
| ? .. versionadded:: 0.17 | . .versionadded:: 0.17 隨機平均梯度下降求解器。 . .versionadded:: 0.19 SAGA solver。 . .versionchanged:: 0.22 在0.22中,默認求解器從“liblinear”更改為“lbfgs”。 max_iter: int,默認=100 使求解器收斂的最大迭代次數。 multi_class: {'auto', 'ovr', '多項'},默認='auto' 如果選擇的選項是'ovr',那么每個標簽都適合一個二進制問題。對于“多項”損失最小化是多項式損失適合整個概率分布,即使當數據是二進制*。當求解器='liblinear'時,不可用多項式。auto選擇'ovr'如果數據是二進制的,或者solver='liblinear',否則選擇'多項'。 . .versionadded:: 0.18 “多項式”情況的隨機平均梯度下降求解器。 . .versionchanged:: 0.22 在0.22中默認從“ovr”改為“auto”。 int,默認=0 對于liblinear和lbfgs求解器,將冗長設置為任意正數。 warm_start: bool,默認=False 當設置為True時,重用前面調用的解決方案以適合初始化,否則就擦除前面的解決方案。對于線性求解器是沒用的。參見:term: ' the Glossary <warm_start> '。</warm_start> . .versionadded:: 0.17 *warm_start*支持*lbfgs*, *newton-cg*, *sag*, *saga*求解器。 n_jobs: int,默認=無 如果multi_class='ovr'",則在類上并行時使用的CPU核數。當' ' solver ' '被設置為'liblinear'時,不管'multi_class'是否被指定,這個參數都會被忽略。' ' None ' '表示1,除非在:obj: ' joblib.parallel_backend '上下文中。“-1”表示使用所有處理器。 有關更多細節,請參見:term: ' Glossary <n_jobs> '。</n_jobs> l1_ratio: float, default=None 彈網混合參數``0 <= l1_ratio <= 1``。只在``penalty= ` elasticnet ``時使用。設置' ' l1_ratio=0 ' '等價于使用' ' penalty='l2' ' ',設置' ' l1_ratio=1 ' '等價于使用' ' penalty='l1' ' '。對于' ' 0 < l1_ratio <1 ' ',懲罰是L1和L2的組合。 |
| ? ? Attributes ? ? ---------- ? ?? ? ? classes_ : ndarray of shape (n_classes, ) ? ? A list of class labels known to the classifier. ? ?? ? ? coef_ : ndarray of shape (1, n_features) or (n_classes, n_features)?Coefficient of the features in the decision function. ? ?? ? ? `coef_` is of shape (1, n_features) when the given problem is binary. ? ? In particular, when `multi_class='multinomial'`, `coef_` corresponds?to outcome 1 (True) and `-coef_` corresponds to outcome 0 (False). ? ?? ? ? intercept_ : ndarray of shape (1,) or (n_classes,) ? ? Intercept (a.k.a. bias) added to the decision function. ? ?? ? ? If `fit_intercept` is set to False, the intercept is set to zero. ? ? `intercept_` is of shape (1,) when the given problem is binary.? In particular, when `multi_class='multinomial'`, `intercept_`??corresponds to outcome 1 (True) and `-intercept_` corresponds to?outcome 0 (False). ? ?? ? ? n_iter_ : ndarray of shape (n_classes,) or (1, ) ? ? Actual number of iterations for all classes. If binary or multinomial,? it returns only 1 element. For liblinear solver, only the maximum?number of iteration across all classes is given. ? ?? ? ? .. versionchanged:: 0.20 ? ?? ? ? In SciPy <= 1.0.0 the number of lbfgs iterations may exceed??``max_iter``. ``n_iter_`` will now report at most ``max_iter``. ? ?? ? ? See Also ? ? -------- ? ? SGDClassifier : Incrementally trained logistic regression (when given?the parameter ``loss="log"``). ? ? LogisticRegressionCV : Logistic regression with built-in cross?validation. ? ?? ? ? Notes ? ? ----- ? ? The underlying C implementation uses a random number generator to?select features when fitting the model. It is thus not uncommon,? to have slightly different results for the same input data. If? that happens, try with a smaller tol parameter. ? ?? ? ? Predict output may not match that of standalone liblinear in certain?cases. See :ref:`differences from liblinear <liblinear_differences>`? in the narrative documentation. | 屬性
|
| ? ? References ? ? ---------- ? ?? ? ? L-BFGS-B -- Software for Large-scale Bound-constrained Optimization?Ciyou Zhu, Richard Byrd, Jorge Nocedal and Jose Luis Morales.?http://users.iems.northwestern.edu/~nocedal/lbfgsb.html ? ?? ? ? LIBLINEAR -- A Library for Large Linear Classification ? ? https://www.csie.ntu.edu.tw/~cjlin/liblinear/ ? ?? ? ? SAG -- Mark Schmidt, Nicolas Le Roux, and Francis Bach?Minimizing Finite Sums with the Stochastic Average Gradient ? ? https://hal.inria.fr/hal-00860051/document ? ?? ? ? SAGA -- Defazio, A., Bach F. & Lacoste-Julien S. (2014). ? ? SAGA: A Fast Incremental Gradient Method With Support?for Non-Strongly Convex Composite Objectives ? ? https://arxiv.org/abs/1407.0202 ? ?? ? ? Hsiang-Fu Yu, Fang-Lan Huang, Chih-Jen Lin (2011). Dual coordinate??descent ? ? methods for logistic regression and maximum entropy models.??Machine Learning 85(1-2):41-75. ? ? https://www.csie.ntu.edu.tw/~cjlin/papers/maxent_dual.pdf | 引用 --------- Ciyou Zhu, Richard Byrd, Jorge Nocedal和Jose Luis moral. http://users.iems.northwestern.edu/~ Nocedal /lbfgsb.html LIBLINEAR——一個大型線性分類的圖書館 https://www.csie.ntu.edu.tw/ cjlin / liblinear / SAG——Mark Schmidt, Nicolas Le Roux和Francis Bach用隨機平均梯度最小化有限和 https://hal.inria.fr/hal-00860051/document 佐賀—德法齊奧,巴赫F. &拉科斯特-朱利安S.(2014)。 一個支持非強凸復合目標的快速增量梯度方法 https://arxiv.org/abs/1407.0202 俞香福、黃方蘭、林志仁(2011)。雙坐標下降 邏輯回歸和最大熵模型的方法。機器學習85 (1 - 2):41 - 75。 https://www.csie.ntu.edu.tw/ cjlin /論文/ maxent_dual.pdf |
| ? ? Examples ? ? -------- ? ? >>> from sklearn.datasets import load_iris ? ? >>> from sklearn.linear_model import LogisticRegression ? ? >>> X, y = load_iris(return_X_y=True) ? ? >>> clf = LogisticRegression(random_state=0).fit(X, y) ? ? >>> clf.predict(X[:2, :]) ? ? array([0, 0]) ? ? >>> clf.predict_proba(X[:2, :]) ? ? array([[9.8...e-01, 1.8...e-02, 1.4...e-08], ? ? [9.7...e-01, 2.8...e-02, ...e-08]]) ? ? >>> clf.score(X, y) ? ? 0.97... ? ? """ ? ? @_deprecate_positional_args | ? |
| ? ? def __init__(self, penalty='l2', *, dual=False, tol=1e-4, C=1.0,? ? ? ? ? Parameters ? ? ? ? y : array-like of shape (n_samples,) ? ? ? ? sample_weight : array-like of shape (n_samples,) default=None ? ? ? ? ? ? .. versionadded:: 0.17 ? ? ? ? Returns ? ? ? ? Notes ? ? ? ? The returned estimates for all classes are ordered by the?label of classes.??For a multi_class problem, if multi_class is set to be "multinomial"? the softmax function is used to find the predicted probability of? each class. ? ? ? ? Parameters ? ? ? ? Returns ? ? ? ? The returned estimates for all classes are ordered by the?label of classes. ? ? ? ? Parameters ? ? ? ? Returns | 概率的估計。 所有類返回的估計值都按照類的標簽排序。對于一個多類問題,將多類設為“多項式”,利用softmax函數求出每一類的預測概率。 |
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的ML之sklearn:sklearn.linear_mode中的LogisticRegression函数的简介、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataScience:对严重不均衡数据
- 下一篇: 成功解决Fit Failed Warni