成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

100天搞定機(jī)器學(xué)習(xí)|Day4-6 邏輯回歸

qujian / 1789人閱讀

摘要:而邏輯回歸對(duì)于這樣的問(wèn)題會(huì)更加合適。也就是說(shuō),邏輯回歸是用來(lái)得到樣本屬于某個(gè)分類的概率。這樣構(gòu)造的損失函數(shù)是合理的,并且它還是一個(gè)凸函數(shù),十分方便求得參數(shù),使得損失函數(shù)達(dá)到最小。然后導(dǎo)入邏輯回歸類。

邏輯回歸avik-jain介紹的不是特別詳細(xì),下面再嘮叨一遍這個(gè)算法。

1.模型

在分類問(wèn)題中,比如判斷郵件是否為垃圾郵件,判斷腫瘤是否為陽(yáng)性,目標(biāo)變量是離散的,只有兩種取值,通常會(huì)編碼為0和1。假設(shè)我們有一個(gè)特征X,畫出散點(diǎn)圖,結(jié)果如下所示。這時(shí)候如果我們用線性回歸去擬合一條直線:hθ(X) = θ0+θ1X,若Y≥0.5則判斷為1,否則為0。這樣我們也可以構(gòu)建出一個(gè)模型去進(jìn)行分類,但是會(huì)存在很多的缺點(diǎn),比如穩(wěn)健性差、準(zhǔn)確率低。而邏輯回歸對(duì)于這樣的問(wèn)題會(huì)更加合適。

邏輯回歸假設(shè)函數(shù)如下,它對(duì)θTX作了一個(gè)函數(shù)g變換,映射至0到1的范圍之內(nèi),而函數(shù)g稱為sigmoid function或者logistic function,函數(shù)圖像如下圖所示。當(dāng)我們輸入特征,得到的hθ(x)其實(shí)是這個(gè)樣本屬于1這個(gè)分類的概率值。也就是說(shuō),邏輯回歸是用來(lái)得到樣本屬于某個(gè)分類的概率。


2.評(píng)價(jià)

回想起之前線性回歸中所用到的損失函數(shù):

 如果在邏輯回歸中也運(yùn)用這種損失函數(shù),得到的函數(shù)J是一個(gè)非凸函數(shù),存在多個(gè)局部最小值,很難進(jìn)行求解,因此需要換一個(gè)cost函數(shù)。重新定義個(gè)cost函數(shù)如下:

當(dāng)實(shí)際樣本屬于1類別時(shí),如果預(yù)測(cè)概率也為1,那么損失為0,預(yù)測(cè)正確。相反,如果預(yù)測(cè)為0,那么損失將是無(wú)窮大。這樣構(gòu)造的損失函數(shù)是合理的,并且它還是一個(gè)凸函數(shù),十分方便求得參數(shù)θ,使得損失函數(shù)J達(dá)到最小。

3.優(yōu)化

我們已經(jīng)定義好了損失函數(shù)J(θ),接下來(lái)的任務(wù)就是求出參數(shù)θ。我們的目標(biāo)很明確,就是找到一組θ,使得我們的損失函數(shù)J(θ)最小。最常用的求解方法有兩種:批量梯度下降法(batch gradient descent), 牛頓迭代方法((Newton"s method)。兩種方法都是通過(guò)迭代求得的數(shù)值解,但是牛頓迭代方法的收斂速度更加快。


實(shí)驗(yàn)-分割線

第0步:數(shù)據(jù)預(yù)覽
數(shù)據(jù)集鏈接:https://pan.baidu.com/s/1TkUe...
提取碼:hrrm
該數(shù)據(jù)集包含了社交網(wǎng)絡(luò)中用戶的信息。這些信息涉及用戶ID,性別,年齡以及預(yù)估薪資。一家汽車公司剛剛推出了他們新型的豪華SUV,我們嘗試預(yù)測(cè)哪些用戶會(huì)購(gòu)買這種全新SUV。并且在最后一列用來(lái)表示用戶是否購(gòu)買。我們將建立一種模型來(lái)預(yù)測(cè)用戶是否購(gòu)買這種SUV,該模型基于兩個(gè)變量,分別是年齡和預(yù)計(jì)薪資。因此我們的特征矩陣將是這兩列。我們嘗試尋找用戶年齡與預(yù)估薪資之間的某種相關(guān)性,以及他是否購(gòu)買SUV的決定。

步驟1 | 數(shù)據(jù)預(yù)處理

導(dǎo)入庫(kù)

import numpy as npimport matplotlib.pyplot as pltimport pandas as pd

導(dǎo)入數(shù)據(jù)集

dataset = pd.read_csv("Social_Network_Ads.csv")
X = dataset.iloc[:, [2, 3]].values
Y = dataset.iloc[:,4].values

將數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.25, random_state = 0)

特征縮放

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

步驟2 | 邏輯回歸模型

該項(xiàng)工作的庫(kù)將會(huì)是一個(gè)線性模型庫(kù),之所以被稱為線性是因?yàn)檫壿嫽貧w是一個(gè)線性分類器,這意味著我們?cè)诙S空間中,我們兩類用戶(購(gòu)買和不購(gòu)買)將被一條直線分割。然后導(dǎo)入邏輯回歸類。下一步我們將創(chuàng)建該類的對(duì)象,它將作為我們訓(xùn)練集的分類器。

將邏輯回歸應(yīng)用于訓(xùn)練集

from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression()
classifier.fit(X_train, y_train)

步驟3 | 預(yù)測(cè)

預(yù)測(cè)測(cè)試集結(jié)果

y_pred = classifier.predict(X_test)

步驟4 | 評(píng)估預(yù)測(cè)

我們預(yù)測(cè)了測(cè)試集。 現(xiàn)在我們將評(píng)估邏輯回歸模型是否正確的學(xué)習(xí)和理解。因此這個(gè)混淆矩陣將包含我們模型的正確和錯(cuò)誤的預(yù)測(cè)。

生成混淆矩陣

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)

可視化

from matplotlib.colors import ListedColormap
X_set,y_set=X_train,y_train
X1,X2=np. meshgrid(np. arange(start=X_set[:,0].min()-1, stop=X_set[:, 0].max()+1, step=0.01),
                   np. arange(start=X_set[:,1].min()-1, stop=X_set[:,1].max()+1, step=0.01))
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(),X2.ravel()]).T).reshape(X1.shape),             alpha = 0.75, cmap = ListedColormap(("red", "green")))
plt.xlim(X1.min(),X1.max())
plt.ylim(X2.min(),X2.max())for i,j in enumerate(np. unique(y_set)):
    plt.scatter(X_set[y_set==j,0],X_set[y_set==j,1],                c = ListedColormap(("red", "green"))(i), label=j)

plt. title(" LOGISTIC(Training set)")
plt. xlabel(" Age")
plt. ylabel(" Estimated Salary")
plt. legend()
plt. show()

X_set,y_set=X_test,y_test
X1,X2=np. meshgrid(np. arange(start=X_set[:,0].min()-1, stop=X_set[:, 0].max()+1, step=0.01),
                   np. arange(start=X_set[:,1].min()-1, stop=X_set[:,1].max()+1, step=0.01))

plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(),X2.ravel()]).T).reshape(X1.shape),             alpha = 0.75, cmap = ListedColormap(("red", "green")))
plt.xlim(X1.min(),X1.max())
plt.ylim(X2.min(),X2.max())for i,j in enumerate(np. unique(y_set)):
    plt.scatter(X_set[y_set==j,0],X_set[y_set==j,1],                c = ListedColormap(("red", "green"))(i), label=j)

plt. title(" LOGISTIC(Test set)")
plt. xlabel(" Age")
plt. ylabel(" Estimated Salary")
plt. legend()
plt. show()


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45277.html

相關(guān)文章

  • 第7期 Datawhale 組隊(duì)學(xué)習(xí)計(jì)劃

    馬上就要開(kāi)始啦這次共組織15個(gè)組隊(duì)學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識(shí)到動(dòng)手實(shí)踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 評(píng)論0 收藏0
  • Tensorflow快餐教程(1) - 30行代碼搞定手寫識(shí)別

    摘要:在第輪的時(shí)候,竟然跑出了的正確率綜上,借助和機(jī)器學(xué)習(xí)工具,我們只有幾十行代碼,就解決了手寫識(shí)別這樣級(jí)別的問(wèn)題,而且準(zhǔn)確度可以達(dá)到如此程度。 摘要: Tensorflow入門教程1 去年買了幾本講tensorflow的書,結(jié)果今年看的時(shí)候發(fā)現(xiàn)有些樣例代碼所用的API已經(jīng)過(guò)時(shí)了??磥?lái)自己維護(hù)一個(gè)保持更新的Tensorflow的教程還是有意義的。這是寫這一系列的初心。快餐教程系列希望能夠盡可...

    April 評(píng)論0 收藏0
  • 分享AI有道干貨 | 126 篇 AI 原創(chuàng)文章精選(ML、DL、資源、教程)

    摘要:值得一提的是每篇文章都是我用心整理的,編者一貫堅(jiān)持使用通俗形象的語(yǔ)言給我的讀者朋友們講解機(jī)器學(xué)習(xí)深度學(xué)習(xí)的各個(gè)知識(shí)點(diǎn)。今天,紅色石頭特此將以前所有的原創(chuàng)文章整理出來(lái),組成一個(gè)比較合理完整的機(jī)器學(xué)習(xí)深度學(xué)習(xí)的學(xué)習(xí)路線圖,希望能夠幫助到大家。 一年多來(lái),公眾號(hào)【AI有道】已經(jīng)發(fā)布了 140+ 的原創(chuàng)文章了。內(nèi)容涉及林軒田機(jī)器學(xué)習(xí)課程筆記、吳恩達(dá) deeplearning.ai 課程筆記、機(jī)...

    jimhs 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

qujian

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<