【6%】100小時機器學習——邏輯迴歸
邏輯迴歸(Logistic Regression)
前言
資料集內容
dataset Out[12]: User ID Gender Age EstimatedSalary Purchased0 15624510 Male 19 19000 01 15810944 Male 35 20000 02 15668575 Female 26 43000 03 15603246 Female 27 57000 04 15804002 Male 19 76000 05 15728773 Male 27 58000 06 15598044 Female 27 84000 07 15694829 Female 32 150000 18 15600575 Male 25 33000 0//...
這是一張從社交網路中獲得的使用者年齡、性別和工資水平和是否購買了某公司的SUV的資料集,我們假設前三個變數和第四個變數之間存線上性關係,以此建立模型來進行預測。
Step 1: 資料預處理
(1)匯入庫
import numpy as npimport matplotlib.pyplot as pltimport pandas as pd
ps:我在匯入matplotlib.pyplot時提示缺少Python-tk模組(我已經轉移到Linux上進行試驗了,因為平常工作用Linux比較多,推薦比較穩定好用的Linux版本是Mint,看個人喜好了。),所以使用命令安裝該模組sudo apt-get install python-tk
(2) 匯入資料集
dataset = pd.read_csv('Social_Network_Ads.csv') X = dataset.iloc[:, [2, 3]].values y = dataset.iloc[:, 4].values
(3)劃分訓練集和測試集
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
(4)特徵縮放
from sklearn.preprocessing import StandardScaler sc = StandardScaler() X_train = sc.fit_transform(X_train) X_test = sc.transform(X_test)
Step2:邏輯迴歸模型
(1)將邏輯迴歸應用於訓練集
from sklearn.linear_model import LogisticRegression classifier = LogisticRegression() classifier.fit(X_train, y_train)
Step3:預測
(1)預測測試集結果
y_pred = classifier.predict(X_test)
Step4:評估預測
(1)生成混淆矩陣
from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_test, y_pred)
(2)視覺化
使用matplotlib庫進行資料視覺化。
from matplotlib.colors import ListedColormap X_set,y_set=X_train,y_train X1,X2=np. meshgrid(np. arange(start=X_set[:,0].min()-1, stop=X_set[:, 0].max()+1, step=0.01), np. arange(start=X_set[:,1].min()-1, stop=X_set[:,1].max()+1, step=0.01)) plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(),X2.ravel()]).T).reshape(X1.shape), alpha = 0.75, cmap = ListedColormap(('red', 'green'))) plt.xlim(X1.min(),X1.max()) plt.ylim(X2.min(),X2.max())for i,j in enumerate(np. unique(y_set)): plt.scatter(X_set[y_set==j,0],X_set[y_set==j,1], c = ListedColormap(('red', 'green'))(i), label=j) plt. title(' LOGISTIC(Training set)') plt. xlabel(' Age') plt. ylabel(' Estimated Salary') plt. legend() plt. show()
訓練集
X_set,y_set=X_test,y_test X1,X2=np. meshgrid(np. arange(start=X_set[:,0].min()-1, stop=X_set[:, 0].max()+1, step=0.01), np. arange(start=X_set[:,1].min()-1, stop=X_set[:,1].max()+1, step=0.01)) plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(),X2.ravel()]).T).reshape(X1.shape), alpha = 0.75, cmap = ListedColormap(('red', 'green'))) plt.xlim(X1.min(),X1.max()) plt.ylim(X2.min(),X2.max())for i,j in enumerate(np. unique(y_set)): plt.scatter(X_set[y_set==j,0],X_set[y_set==j,1], c = ListedColormap(('red', 'green'))(i), label=j) plt. title(' LOGISTIC(Test set)') plt. xlabel(' Age') plt. ylabel(' Estimated Salary') plt. legend() plt. show()
測試集
作者:JustMe23
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2524/viewspace-2817504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- 機器學習之邏輯迴歸機器學習邏輯迴歸
- 機器學習整理(邏輯迴歸)機器學習邏輯迴歸
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 人工智慧-機器學習-邏輯迴歸人工智慧機器學習邏輯迴歸
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- 100天搞定機器學習|Day17-18 神奇的邏輯迴歸機器學習邏輯迴歸
- 機器學習之邏輯迴歸:計算機率機器學習邏輯迴歸計算機
- 【機器學習】邏輯迴歸過程推導機器學習邏輯迴歸
- 機器學習之邏輯迴歸:計算概率機器學習邏輯迴歸
- 機器學習之邏輯迴歸:模型訓練機器學習邏輯迴歸模型
- 機器學習之使用Python完成邏輯迴歸機器學習Python邏輯迴歸
- 機器學習筆記-多類邏輯迴歸機器學習筆記邏輯迴歸
- 從零開始學機器學習——邏輯迴歸機器學習邏輯迴歸
- 機器學習入門 - 快速掌握邏輯迴歸模型機器學習邏輯迴歸模型
- 手擼機器學習演算法 - 邏輯迴歸機器學習演算法邏輯迴歸
- 機器學習演算法--邏輯迴歸原理介紹機器學習演算法邏輯迴歸
- [DataAnalysis]機器學習演算法——線性模型(邏輯迴歸+LDA)機器學習演算法模型邏輯迴歸LDA
- 從零開始學習邏輯迴歸邏輯迴歸
- 機器學習-邏輯迴歸:從技術原理到案例實戰機器學習邏輯迴歸
- 邏輯迴歸邏輯迴歸
- 機器學習6-迴歸改進機器學習
- 機器學習簡介之基礎理論- 線性迴歸、邏輯迴歸、神經網路機器學習邏輯迴歸神經網路
- 數學推導+純Python實現機器學習演算法:邏輯迴歸Python機器學習演算法邏輯迴歸
- 把ChatGPT調教成機器學習專家,以邏輯迴歸模型的學習為例ChatGPT機器學習邏輯迴歸模型
- 【機器學習】求解邏輯迴歸引數(三種方法程式碼實現)機器學習邏輯迴歸
- Python邏輯迴歸Python邏輯迴歸
- 邏輯迴歸模型邏輯迴歸模型
- 線性迴歸與邏輯迴歸邏輯迴歸
- 機器學習演算法(一): 基於邏輯迴歸的分類預測機器學習演算法邏輯迴歸
- 機器學習-樹迴歸機器學習
- 學習筆記——機器學習演算法(一): 基於邏輯迴歸的分類預測筆記機器學習演算法邏輯迴歸
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 機器學習(三):理解邏輯迴歸及二分類、多分類程式碼實踐機器學習邏輯迴歸
- 機器學習:迴歸問題機器學習
- 機器學習:線性迴歸機器學習
- 機器學習之Logistic迴歸機器學習
- 邏輯迴歸演算法邏輯迴歸演算法