分類問題: 1) 本質:決策面(decision su***ce)2)評估分類演算法的指標,正確率=正確分類個數/總數
二分分類:邏輯回歸輸入:訓練資料的特徵和標籤--->>>模型:邏輯回歸---->>>輸出:分類結果
什麼是邏輯函式?
在0到1之間取值,邏輯回歸是因為引數是邏輯函式
邏輯的數值:表示分類結果是1是y的結果
決策面:大於等於0.5 或 小於0.5
3.python的邏輯回歸分類做法建立資料集
from collections import ordereddict
import pandas as pd
#資料集
examdict={
'學習時間':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,
2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],
'通過考試':[0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1]
examorderdict=ordereddict(examdict)
examdf=pd.dataframe(examorderdict)
examdf.head()from collections import ordereddict
import pandas as pd提取特徵和標籤
#特徵features
exam_x=examdf.loc[:,'學習時間']
#標籤labels
exam_y=examdf.loc[:,'通過考試']繪製散點圖
import matplotlib.pyplot as plt
#散點圖
plt.scatter(exam_x,exam_y,color="b", label="exam data")
#新增圖示標籤
plt.xlabel("hours")
plt.ylabel("pass")
#顯示影象
plt.show()
建立訓練資料集和測試資料集
from sklearn.model_selection import train_test_split
#建立訓練資料和測試資料
x_train, x_test,y_train, y_test=train_test_split(exam_x,
exam_y,
train_size=.8)
#輸出資料大小
print('原始資料特徵:',exam_x.shape ,
',訓練資料特徵:', x_train.shape ,
',測試資料特徵:',x_test.shape )
print('原始資料標籤:',exam_y.shape ,
'訓練資料標籤:', y_train.shape ,
'測試資料標籤:' ,y_test.shape)
output:
原始資料特徵: (20,) ,訓練資料特徵: (16,) ,測試資料特徵: (4,)
原始資料標籤: (20,) 訓練資料標籤: (16,) 測試資料標籤: (4,)
#繪製散點圖
import matplotlib.pyplot as plt
#散點圖
plt.scatter(x_train, y_train, color="blue",label="train data")
plt.scatter(x_test, y_test, color="red",label="test data")
#新增圖示標籤
plt.legend(loc=2)
plt.xlabel("hours")
plt.ylabel("pass")
#顯示影象
plt.show()評估模型(用測試資料)
#評估模型:準確率
model.score(x_test,y_test)
0.75邏輯函式
#獲取概率值
#第1個值是標籤為0的概率值,第2個值是標籤為1的概率值
model.predict_proba(4)
array([[0.27173471, 0.72826529]])
#**資料:使用模型的predict方法可以進行**。
我們輸入學生的特徵學習時間4小時,模型返回結果標籤是1,就代表**該學生未通過考試。
pred=model.predict([[4]])
print(pred)
[1]這個**值是如何得到的?運用邏輯回歸函式展示一下
import numpy as np
#第1步:得到回歸方程的z值(假設我們x=4,即4個小時)
#回歸方程:z= + x
#截距a=model.intercept_
#回歸係數
b=model.coef_
x=4z=a+b*x
#第2步:將z值帶入邏輯回歸函式中,得到概率值(**是1的概率)
y_pred=1/(1+np.exp(-z))
print('**的概率值:',y_pred)
**的概率值: [[0.72826529]]
與之前的**概率值是吻合的!
4.分類和回歸有什麼區別?
首先要有3種資料型別
1.數值資料(定量資料)--離散資料,連續資料
2.分類資料(定性資料)
3.時間序列資料
5. 總結
機器學習 邏輯回歸 Python實現邏輯回歸
coding utf 8 author 蔚藍的天空tom import numpy as np import os import matplotlib.pyplot as plt from sklearn.datasets import make blobs global variable path...
機器學習 邏輯回歸 多分類問題
from sklearn.linear model import logisticregression 1 penalty 使用指定正則化項 預設 l2 2 dual n samples n features取false 預設 3 c 正則化強度,值越小正則化強度越大 4 fit intercept...
機器學習 分類演算法 邏輯回歸13
邏輯回歸在演算法實現的時候有個判定是某個類別的概率,我們一般是根據樣本數量的大小去判定。邏輯回歸做二分類進行癌症 根據細胞的屬性特徵 return 構造列標籤名字 column sample code number clump thickness uniformity of cell size un...