首頁 > 後端開發 > Python教學 > Python中的邏輯迴歸演算法實例

Python中的邏輯迴歸演算法實例

PHPz
發布: 2023-06-11 17:52:33
原創
1789 人瀏覽過

Python中的邏輯迴歸演算法實例

邏輯迴歸是一種常用的分類演算法,廣泛應用於機器學習和資料分析領域。本文將介紹在Python中如何使用邏輯迴歸演算法來進行分類,具體實作步驟如下:

步驟1:導入必要的Python函式庫

在開始實作邏輯迴歸演算法之前,我們需要導入必要的Python庫,例如:NumPy和pandas(用於資料處理和清洗)、sklearn和matplotlib(用於模型訓練和評價以及資料視覺化)。具體程式碼如下:

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score,confusion_matrix
import matplotlib.pyplot as plt

%matplotlib inline
登入後複製

步驟2:載入資料集

接下來,我們需要載入資料集。這裡以鳶尾花資料集(iris)為例。此資料集包含了3個不同種類的鳶尾花(Setosa、Versicolour和Virginica)的4個特徵:花萼長度、花萼寬度、花瓣長度和花瓣寬度。我們可以透過使用pandas讀取CSV格式的資料檔案來載入資料集,具體程式碼如下:

data=pd.read_csv('iris.csv')
print(data.head())
登入後複製

步驟3:資料處理與分離

在將資料輸入到邏輯迴歸模型之前,我們需要處理和分離資料。首先,我們需要將資料集中的標籤列分離出來,作為我們的目標變數(y),同時將其餘的特徵列作為我們的自變數(X)。其次,我們需要對資料進行處理,包括:處理缺失資料、處理異常值、轉換類別變數等。在這裡,我們可以透過使用sklearn庫中的train_test_split函數將資料集隨機地分成訓練資料和測試資料兩部分。具體程式碼如下:

X=data.iloc[:,:-1]
y=data.iloc[:,-1]

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)
登入後複製

步驟4:模型訓練與評估

現在,我們可以使用邏輯迴歸演算法對訓練資料進行擬合。我們可以透過使用sklearn庫中的LogisticRegression類別來建立一個邏輯迴歸對象,然後使用fit方法對訓練資料進行擬合。訓練完成後,我們可以使用predict方法對測試資料進行預測,並使用sklearn庫中的accuracy_score和confusion_matrix函數對模型進行評估。具體程式碼如下:

lr=LogisticRegression()
lr.fit(X_train,y_train)

y_pred=lr.predict(X_test)

acc=accuracy_score(y_test,y_pred)
cm=confusion_matrix(y_test,y_pred)

print('Accuracy:', acc)
print('Confusion Matrix:
', cm)
登入後複製

步驟5:結果視覺化

最後,我們可以使用matplotlib函式庫來視覺化我們的結果。例如,我們可以使用散點圖或長條圖來展示資料的特徵以及邏輯迴歸分類邊界。具體程式碼如下:

colors=['blue','green','red']
markers=['o','s','^']
labels=['Setosa','Versicolour','Virginica']

for i, target in enumerate(set(data.iloc[:,-1])):
    plt.scatter(x=data.loc[data.iloc[:,-1]==target,'petal_length'], 
                y=data.loc[data.iloc[:,-1]==target,'petal_width'],
                c=colors[i],
                marker=markers[i],
                label=labels[i])

x=np.linspace(0,8,1000)
y=(-lr.coef_[0][0]*x-lr.intercept_)/lr.coef_[0][1]
plt.plot(x,y,'k-',label='Decision Boundary')

plt.xlabel('Petal Length')
plt.ylabel('Petal Width')
plt.legend(loc='lower right')
plt.show()
登入後複製

綜上所述,以上是Python中實作邏輯迴歸演算法的基本步驟,可以根據具體的資料集和分類問題進行調整和改進。邏輯迴歸演算法雖然簡單易用,但也需要充分理解其原理,同時進行適當的資料處理和模型最佳化,以達到更好的分類結果。

以上是Python中的邏輯迴歸演算法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板