機器學習 邏輯回歸從初識到應用

2022-03-03 18:33:30 字數 3202 閱讀 7226

一、前述

邏輯回歸是一種分類演算法,對多元線性回歸的結果做一定的縮放。是一種線性(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()#

鳶尾花資料集

print

(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次

print

(x_new)

y_proba = log_reg.predict_proba(x_new)#

**的概率 給乙個0-1之間的乙個概率值

y_hat = log_reg.predict(x_new)#

**的結果

print

(y_proba)

print

(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...