分類問題: 1) 本質:決策面(decision surface)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=4
z=a+b*x
#第2步:将z值帶入邏輯回歸函數中,得到機率值(預測是1的機率)
y_pred=1/(1+np.exp(-z))
print('預測的機率值:',y_pred)
預測的機率值: [[0.72826529]]
與之前的預測機率值是吻合的!
4.分類和回歸有什麼差別?
首先要有3種資料類型
1.數值資料(定量資料)--離散資料,連續資料
2.分類資料(定性資料)
3.時間序列資料
5. 總結