| 20大數(shù)據(jù)三班 | 20大數(shù)據(jù)三班 |
| ---- | ---- | ---- |
|作業(yè)要求|作業(yè)鏈接|
| 學(xué)號 | 201613350 |
【實(shí)驗(yàn)?zāi)康摹?/p>
1.理解邏輯回歸算法原理,掌握邏輯回歸算法框架;
2.理解邏輯回歸的sigmoid函數(shù);
3.理解邏輯回歸的損失函數(shù);
4.針對特定應(yīng)用場景及數(shù)據(jù),能應(yīng)用邏輯回歸算法解決實(shí)際分類問題。
【實(shí)驗(yàn)內(nèi)容】
1.根據(jù)給定的數(shù)據(jù)集,編寫python代碼完成邏輯回歸算法程序,實(shí)現(xiàn)如下功能:
建立一個(gè)邏輯回歸模型來預(yù)測一個(gè)學(xué)生是否會被大學(xué)錄取。假設(shè)您是大學(xué)部門的管理員,您想根據(jù)申請人的兩次考試成績來確定他們的入學(xué)機(jī)會。您有來自以前申請人的歷史數(shù)據(jù),可以用作邏輯回歸的訓(xùn)練集。對于每個(gè)培訓(xùn)示例,都有申請人的兩次考試成績和錄取決定。您的任務(wù)是建立一個(gè)分類模型,根據(jù)這兩門考試的分?jǐn)?shù)估計(jì)申請人被錄取的概率。
算法步驟與要求:
(1)讀取數(shù)據(jù);(2)繪制數(shù)據(jù)觀察數(shù)據(jù)分布情況;(3)編寫sigmoid函數(shù)代碼;(4)編寫邏輯回歸代價(jià)函數(shù)代碼;(5)編寫梯度函數(shù)代碼;(6)編寫尋找最優(yōu)化參數(shù)代碼(可使用scipy.opt.fmin_tnc()函數(shù));(7)編寫模型評估(預(yù)測)代碼,輸出預(yù)測準(zhǔn)確率;(8)尋找決策邊界,畫出決策邊界直線圖。
2. 針對iris數(shù)據(jù)集,應(yīng)用sklearn庫的邏輯回歸算法進(jìn)行類別預(yù)測。
要求:
(1)使用seaborn庫進(jìn)行數(shù)據(jù)可視化;(2)將iri數(shù)據(jù)集分為訓(xùn)練集和測試集(兩者比例為8:2)進(jìn)行三分類訓(xùn)練和預(yù)測;(3)輸出分類結(jié)果的混淆矩陣。
【實(shí)驗(yàn)報(bào)告要求】
1.對照實(shí)驗(yàn)內(nèi)容,撰寫實(shí)驗(yàn)過程、算法及測試結(jié)果;
2.代碼規(guī)范化:命名規(guī)則、注釋;
3.實(shí)驗(yàn)報(bào)告中需要顯示并說明涉及的數(shù)學(xué)原理公式;
4.查閱文獻(xiàn),討論邏輯回歸算法的應(yīng)用場景;
問1.
(1)讀取數(shù)據(jù)

(2)繪制數(shù)據(jù)觀察數(shù)據(jù)分布情況

(3)編寫sigmoid函數(shù)代碼



(4)編寫邏輯回歸代價(jià)函數(shù)代碼


(5)編寫梯度函數(shù)代碼


(6)編寫尋找最優(yōu)化參數(shù)代碼

函數(shù)常用參數(shù)值解釋:
func:優(yōu)化的目標(biāo)函數(shù) (在這里要優(yōu)化的是代價(jià)函數(shù))
x0:初始值,必須是一維數(shù)組 (在這里傳的是一維的theta)
fprime:提供優(yōu)化函數(shù)func的梯度函數(shù),不然優(yōu)化函數(shù)func必須返回函數(shù)值和梯度,或者設(shè)置approx_grad=True (在這里梯度函數(shù)是gradient函數(shù),并且要求返回的是一維數(shù)組)
args:元組,是傳遞給優(yōu)化函數(shù)的參數(shù)
函數(shù)返回值解釋:
x : 數(shù)組,返回的優(yōu)化問題目標(biāo)值 (在這里即優(yōu)化后,theta的最終取值)
nfeval:整數(shù),功能評估的數(shù)量。在進(jìn)行優(yōu)化的時(shí)候,每當(dāng)目標(biāo)優(yōu)化函數(shù)被調(diào)用一次,就算一個(gè)function evaluation。在一次迭代過程中會有多次function evaluation。這個(gè)參數(shù)不等同于迭代次數(shù),而往往大于迭代次數(shù)。
rc: int,返回碼
(7)編寫模型評估(預(yù)測)代碼,輸出預(yù)測準(zhǔn)確率

- 對預(yù)測準(zhǔn)確率進(jìn)行計(jì)算,對錄取與不錄取進(jìn)行分類預(yù)測,如果預(yù)測值與實(shí)際值相等,則在correct數(shù)組中輸入1,反之,在correct數(shù)組中輸入0
- 先定義預(yù)測函數(shù),根據(jù)三個(gè)參數(shù)進(jìn)行預(yù)測,如果sigmoid函數(shù)算出來的大于0.5,則預(yù)測的離散值為1,若小于0.5,則預(yù)測的離散值為0

(8)尋找決策邊界,畫出決策邊界直線圖

問2.
(1)使用seaborn庫進(jìn)行數(shù)據(jù)可視化


(2)將iri數(shù)據(jù)集分為訓(xùn)練集和測試集(兩者比例為8:2)進(jìn)行三分類訓(xùn)練和預(yù)測

(3)輸出分類結(jié)果的混淆矩陣

浙公網(wǎng)安備 33010602011771號