by28777換哪了 by28777( 六 )


by28777換哪了  by28777

文章插圖
二分類問題的概率與自變量之間的關系圖形往往是一個S型曲線 , 如圖17.10所示 , 采用的Sigmoid函數實現 。這里我們將該函數定義如下:
by28777換哪了  by28777

文章插圖
函數的定義域為全體實數 , 值域在[0,1]之間 , x軸在0點對應的結果為0.5 。當x取值足夠大的時候 , 可以看成0或1兩類問題 , 大于0.5可以認為是1類問題 , 反之是0類問題 , 而剛好是0.5 , 則可以劃分至0類或1類 。對于0-1型變量 , y=1的概率分布公式定義如下:
by28777換哪了  by28777

文章插圖
y=0的概率分布公式定義如下:
by28777換哪了  by28777

文章插圖
其離散型隨機變量期望值公式如下:
by28777換哪了  by28777

文章插圖
采用線性模型進行分析 , 其公式變換如下:
by28777換哪了  by28777

文章插圖
而實際應用中 , 概率p與因變量往往是非線性的 , 為了解決該類問題 , 我們引入了logit變換 , 使得logit§與自變量之間存在線性相關的關系 , 邏輯回歸模型定義如下:
by28777換哪了  by28777

文章插圖
通過推導 , 概率p變換如下 , 這與Sigmoid函數相符 , 也體現了概率p與因變量之間的非線性關系 。以0.5為界限 , 預測p大于0.5時 , 我們判斷此時y更可能為1 , 否則y為0 。
by28777換哪了  by28777

文章插圖
得到所需的Sigmoid函數后 , 接下來只需要和前面的線性回歸一樣 , 擬合出該式中n個參數θ即可 。下列為繪制Sigmoid曲線 , 輸出如圖10所示 。
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03import matplotlib.pyplot as pltimport numpy as npdef Sigmoid(x):return 1.0 / (1.0 + np.exp(-x))x= np.arange(-10, 10, 0.1)h = Sigmoid(x) #Sigmoid函數plt.plot(x, h)plt.axvline(0.0, color='k') #坐標軸上加一條豎直的線(0位置)plt.axhspan(0.0, 1.0, facecolor='1.0', alpha=1.0, ls='dotted')plt.axhline(y=0.5, ls='dotted', color='k')plt.yticks([0.0, 0.5, 1.0]) #y軸標度plt.ylim(-0.1, 1.1) #y軸范圍plt.show()
由于篇幅有限 , 邏輯回歸構造損失函數J函數 , 求解最小J函數及回歸參數θ的 *** 就不在敘述 , 原理和前面介紹的一樣 , 請讀者下去深入研究 。
by28777換哪了  by28777

文章插圖
2.LogisticRegressionLogisticRegression回歸模型在Sklearn.linear_model子類下 , 調用sklearn邏輯回歸算法步驟比較簡單 , 即:
導入模型 。調用邏輯回歸LogisticRegression()函數 。fit()訓練 。調用fit(x,y)的 *** 來訓練模型 , 其中x為數據的屬性 , y為所屬類型 。predict()預測 。利用訓練得到的模型對數據集進行預測 , 返回預測結果 。代碼如下:
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn.linear_model import LogisticRegression #導入邏輯回歸模型clf = LogisticRegression()print(clf)clf.fit(train_feature,label)predict['label'] = clf.predict(predict_feature)
輸出函數的構造 *** 如下:
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,penalty='l2', random_state=None, solver='liblinear', tol=0.0001,verbose=0, warm_start=False)
這里僅介紹兩個參數:參數penalty表示懲罰項 , 包括兩個可選值L1和L2 。L1表示向量中各元素絕對值的和 , 常用于特征選擇;L2表示向量中各個元素平方之和再開根號 , 當需要選擇較多的特征時 , 使用L2參數 , 使他們都趨近于0 。C值的目標函數約束條件為:s.t.||w||1<C , 默認值是0 , C值越小 , 則正則化強度越大 。
3.鳶尾花數據集回歸分析實例下面將結合Scikit-learn官網的邏輯回歸模型分析鳶尾花數據集 。由于該數據分類標簽劃分為3類(0類、1類、2類) , 屬于三分類問題 , 所以能利用邏輯回歸模型對其進行分析 。
(1).鳶尾花數據集

推薦閱讀