一、什麼是邏輯回歸
邏輯回歸是機器學習中的一種分類算法,用於根據輸入變量特徵預測輸出變量的概率。這種算法的核心思想是根據輸入變量的線性組合獲取一個連續值,該值經過一個邏輯函數的轉換,得到輸出變量的概率。
這樣的分類算法通常用於處理二元分類問題,例如將郵件標記為垃圾郵件或非垃圾郵件,對疾病進行診斷等等。通常,當預測值大於某個閾值時,分類結果被視為一個類別,否則,結果被視為另一個類別。
下面是一個使用Python實現邏輯回歸的示例。
二、數據準備階段
在使用邏輯回歸前,首先需要加載數據集,將其拆分成訓練集和測試集,並對數據進行預處理,以便它們成為可以輸入邏輯回歸算法的輸入特徵變量和輸出變量。
from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler # 加載數據集 cancer = load_breast_cancer() # 將數據集拆分為訓練集和測試集 X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, random_state=0) # 對數據進行預處理,進行特徵縮放 scaler = MinMaxScaler().fit(X_train) X_train_scaled = scaler.transform(X_train) X_test_scaled = scaler.transform(X_test)
三、邏輯回歸模型
在準備完數據之後,我們可以使用sklearn庫中的邏輯回歸模型,設置超參數,擬合模型並在測試集上評估準確率。
from sklearn.linear_model import LogisticRegression # 定義邏輯回歸模型,設置超參數 logreg = LogisticRegression(C=100).fit(X_train_scaled, y_train) # 在測試集上評估邏輯回歸模型的準確率 print("Test set accuracy: {:.2f}".format(logreg.score(X_test_scaled, y_test)))
四、模型優化
邏輯回歸的擬合過程中,還可以對超參數進行調整,優化模型的性能。例如,我們可以更改正則化強度、使用不同的求解器、更改迭代次數等。
# 定義邏輯回歸模型,使用liblinear求解器和較小的正則化強度 logreg = LogisticRegression(C=0.01, solver='liblinear').fit(X_train_scaled, y_train) print("Test set accuracy: {:.2f}".format(logreg.score(X_test_scaled, y_test)))
五、模型預測
當訓練好模型後,我們可以使用它來進行預測。給定一組輸入變量,邏輯回歸模型將返回一個概率值,該值指示變量屬於輸出變量類別的概率。
下面是一個對新數據進行預測的示例:
# 對新數據進行預測 X_new = [[0.2, 0.4, 0.6, 0.8], [0.1, 0.3, 0.5, 0.7]] print("Probability of class 1:", logreg.predict_proba(X_new)) print("Predicted class:", logreg.predict(X_new))
六、總結
本文演示了如何使用Python編寫邏輯回歸算法,並將其用於預測二元分類變量。我們討論了數據準備、模型構建、超參數優化以及預測。這些步驟是機器學習中掌握邏輯回歸的基礎。
原創文章,作者:UTEAJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/343260.html