一、前述
邏輯回歸是一種分類演算法,對多元線性回歸的結果做一定的縮放。是一種線性(x是一次的)有監督(有x,y)分類(要麼是正列,要麼是負例)演算法。是通過sigmod演算法的一次縮放。
sigmod函式解釋如下:
二、具體原理
前提和損失函式推倒:
-->轉化為似然的思想:
-->對轉換後的似然函式求偏導:
-->求完導數後,確定方向後
邏輯回歸損失函式:
如果最後**的結果大於0.5(預設)是正例 小於0.5是負例
假設y是正列 1-p^
假如本來是1這個類別:**出來的結果是0.6則**對了**的誤差是1-0.6=0.4
假如本來是1這個類別:**出來的結果是0.1 則誤差1-0.1=0.9
假設是負例p^
假設**出來的是0.1 則誤差是0.1
假設**出來的是0.6 則誤差是0.6
三、**
#邏輯回歸**鳶尾花,根據花瓣的寬度
import
numpy as np
from sklearn import
datasets
from sklearn.linear_model import
logisticregression
import
matplotlib.pyplot as plt
iris = datasets.load_iris()#
鳶尾花資料集
(list(iris.keys()))
print(iris['
descr
'])#
資料集的描述
print(iris['
feature_names
'])#
資料集的特證名字 #150條資料 三種花 每種花50條資料
#根據花的花瓣,花萼,花蕊來分類
x = iris['
data
'][:, 3:] #
逗號左邊第一行到所有行 ,逗號右邊第3列開始到最後 總共4列 實際上就是最後一列
#print(x)
print(iris['
target'])
y = (iris['
target
'] == 2).astype(np.int)
print(y) #
保留類別為2的花。
log_reg = logisticregression()#
構建邏輯回歸
log_reg.fit(x, y)#
根據最後乙個花瓣的寬度來**
x_new = np.linspace(0, 3, 1000).reshape(-1, 1)#
0-3之間切分1000次
(x_new)
y_proba = log_reg.predict_proba(x_new)#
**的概率 給乙個0-1之間的乙個概率值
y_hat = log_reg.predict(x_new)#
**的結果
(y_proba)
(y_hat)
plt.plot(x_new, y_proba[:, -1], '
g-', label='
iris-virginica')
plt.plot(x_new, y_proba[:, 0],
'b--
', label='
not iris-virginica')
plt.show()
print(log_reg.predict([[1.7], [1.5]]))
#ps 對應1.6的時候正列結果是鳶尾花 #小於1.6的時候是負例不是鳶尾花
ps:1.6是正負例的交界。
四、邏輯回歸做多分類演算法
1、原理
2、結論
如果我們做三分類的話,相當於這裡平行計算出三個獨立的模型
誰的概率最大,最終就判定為哪個類別
五、閾值修改
根據需求的變通 去除固定閾值0.5
• 癌症病人的判斷?
• 假如病人是癌症:
– 判斷成不是癌症
• 假如病人是非癌症
– 判斷是癌症
• 0.3(這裡調小了,所以負例少了,則本來不是癌症,最後**的是癌症)
調閾值是在真正測試的時候調整的,訓練的時候不調整
• 雖然整體的錯誤率變大了,但是規避了一些不能接受的風險
機器學習 xgboost從初識到應用
一 前述 在 kaggle 的很多比賽中,我們可以看到很多 winner 喜歡用 xgboost,而且獲得非常好的表現,今天就來看看 xgboost 到底是什麼以及如何應用。gradient boosting 是 boosting 的其中一種方法,所謂boosting,就是將弱分離器 f i x 組...
機器學習 EM演算法從初識到應用
一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...
機器學習 EM演算法從初識到應用
一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...