- Scikit Learn 教程
- Scikit Learn - 首頁
- Scikit Learn - 簡介
- Scikit Learn - 建模流程
- Scikit Learn - 資料表示
- Scikit Learn - 估計器API
- Scikit Learn - 約定
- Scikit Learn - 線性模型
- Scikit Learn - 擴充套件線性模型
- 隨機梯度下降
- Scikit Learn - 支援向量機
- Scikit Learn - 異常檢測
- Scikit Learn - K近鄰演算法
- Scikit Learn - KNN學習
- 樸素貝葉斯分類
- Scikit Learn - 決策樹
- 隨機決策樹
- Scikit Learn - 整合方法
- Scikit Learn - 聚類方法
- 聚類效能評估
- 使用PCA進行降維
- Scikit Learn 有用資源
- Scikit Learn - 快速指南
- Scikit Learn - 有用資源
- Scikit Learn - 討論
Scikit Learn - 邏輯迴歸
邏輯迴歸,儘管其名稱如此,但它是一種分類演算法而不是迴歸演算法。基於一組給定的自變數,它用於估計離散值(0 或 1,是/否,真/假)。它也稱為 logit 或 MaxEnt 分類器。
基本上,它透過使用其邏輯函式估計事件發生的機率來衡量分類因變數和一個或多個自變數之間的關係。
sklearn.linear_model.LogisticRegression 是用於實現邏輯迴歸的模組。
引數
下表列出了邏輯迴歸模組使用的引數:
| 序號 | 引數和描述 |
|---|---|
| 1 |
penalty − str, ‘L1’, ‘L2’, ‘elasticnet’ 或 none,可選,預設 = ‘L2’ 此引數用於指定懲罰(正則化)中使用的範數(L1 或 L2)。 |
| 2 |
dual − 布林值,可選,預設 = False 它用於對偶或原始公式,而對偶公式僅針對 L2 懲罰實現。 |
| 3 |
tol − 浮點數,可選,預設 = 1e-4 它表示停止標準的容差。 |
| 4 |
C − 浮點數,可選,預設 = 1.0 它表示正則化強度的倒數,必須始終為正浮點數。 |
| 5 |
fit_intercept − 布林值,可選,預設 = True 此引數指定應向決策函式新增常數(偏差或截距)。 |
| 6 |
intercept_scaling − 浮點數,可選,預設 = 1 此引數在以下情況下有用:
|
| 7 |
class_weight − dict 或 ‘balanced’,可選,預設 = none 它表示與類相關的權重。如果我們使用預設選項,則表示所有類都應該具有權重 1。另一方面,如果您選擇 class_weight: balanced,它將使用 y 的值來自動調整權重。 |
| 8 |
random_state − int,RandomState 例項或 None,可選,預設 = none 此引數表示生成的偽隨機數的種子,在洗牌資料時使用。以下是選項:
|
| 9 |
solver − str, {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘saag’, ‘saga’},可選,預設 = ‘liblinear’ 此引數表示在最佳化問題中使用哪個演算法。以下是此引數下選項的屬性:
|
| 10 |
max_iter − int,可選,預設 = 100 顧名思義,它表示求解器收斂所採取的最大迭代次數。 |
| 11 |
multi_class − str, {‘ovr’, ‘multinomial’, ‘auto’},可選,預設 = ‘ovr’
|
| 12 |
verbose − int,可選,預設 = 0 預設情況下,此引數的值為 0,但對於 liblinear 和 lbfgs 求解器,我們應將 verbose 設定為任何正數。 |
| 13 |
warm_start − bool,可選,預設 = false 將此引數設定為 True,我們可以重用先前對擬合的呼叫的解作為初始化。如果我們選擇預設值 false,它將擦除先前的解。 |
| 14 |
n_jobs − int 或 None,可選,預設 = None 如果 multi_class = ‘ovr’,此引數表示在對類進行並行化時使用的 CPU 核心數。當 solver = ‘liblinear’ 時,它將被忽略。 |
| 15 |
l1_ratio − 浮點數或 None,可選,預設 = None 當 penalty = ‘elasticnet’ 時使用。它基本上是 Elastic-Net 混合引數,其中 0 < = l1_ratio > = 1。 |
屬性
下表包含邏輯迴歸模組使用的屬性:
| 序號 | 屬性和描述 |
|---|---|
| 1 |
coef_ − 陣列,形狀 (n_features,) 或 (n_classes, n_features) 它用於估計決策函式中特徵的係數。當給定問題為二元時,其形狀為 (1, n_features)。 |
| 2 |
Intercept_ − 陣列,形狀 (1) 或 (n_classes) 它表示新增到決策函式中的常數,也稱為偏差。 |
| 3 |
classes_ − 陣列,形狀 (n_classes) 它將提供分類器已知的類標籤列表。 |
| 4 |
n_iter_ − 陣列,形狀 (n_classes) 或 (1) 它返回所有類的實際迭代次數。 |
實現示例
以下 Python 指令碼提供了一個在 scikit-learn 的iris 資料集上實現邏輯迴歸的簡單示例:
from sklearn import datasets from sklearn import linear_model from sklearn.datasets import load_iris X, y = load_iris(return_X_y = True) LRG = linear_model.LogisticRegression( random_state = 0,solver = 'liblinear',multi class = 'auto' ) .fit(X, y) LRG.score(X, y)
輸出
0.96
輸出顯示上述邏輯迴歸模型的準確率為 96%。