3 機器學習實戰 第五章 logistic回歸

2021-07-22 08:39:26 字數 1761 閱讀 5938

1.geta()方法

def plotbestfit(weights):

datamat, labelmat = loaddataset()

dataarr = array(datamat) #將每個資料點的x,y座標存為矩陣的形式

n = shape(dataarr)[0] #取其行數,也即資料點的個數

#*****=畫資料點

xcord1 =

ycord1 =

xcord2 =

ycord2 =

for i in range(n):

if int(labelmat[i]) == 1: #若是正例,存到(x1,y1)中

else:

fig = plt.figure()

ax = fig.add_subplot(111)

ax.scatter(xcord1,ycord1,s=30,c="red",marker = "s")

ax.scatter(xcord2,ycord2,s=30,c="green")

#**********==

x = arange(-3.0,3.0,0.1) #x為numpy.arange格式,並且以0.1為步長從-3.0到3.0切分。

#擬合曲線為0 = w0*x0+w1*x1+w2*x2, 故x2 = (-w0*x0-w1*x1)/w2, x0為1,x1為x, x2為y,故有

y = (-weights[0] - weights[1]*x)/weights[2]

#x為array格式,weights為matrix格式,故需要呼叫geta()方法,其將matrix()格式矩陣轉為array()格式

ax.plot(x,y)

plt.xlabel("x1")

plt.ylabel("x2")

plt.show()

datamat, labelmat = loaddataset()

weights = gradascent(datamat, labelmat)

#geta()方法,其將matrix()格式矩陣轉為array()格式,type(weights),type(weights.geta())可觀察到。

plotbestfit(weights.geta())

geta()是什麼的問題,解釋如下:

matrix.geta()

return self as an ndarray object.

equivalent to np.asarray(self).

parameters: none

returns: ret : ndarrayself as an ndarray

也就是說矩陣通過這個geta()這個方法可以將自身返回成乙個n維陣列物件

為什麼要這樣做呢?

因為plotbestfit()函式中有計算散點x,y座標的部分,其中計算y的時候用到了weights,如果weights是矩陣的話,weights[1]就是[[0.48007329]](注意這裡有中括號!),就不是乙個數了,最終你會發現y的計算結果的len()只有1,而x的len()則是60

2.資料處理時,若遇到缺失值時的處理辦法

3.4.5.

機器學習第五章

今天看了 機器學習 的第五章神經網路部分。本章主要講述的是 1.神經元是神經網路模型的最基本的單元 2.m p神經元模型包括輸入層 隱層和輸出層。2.1輸入訊號進行加權式的連線 2.2輸入層僅接受輸入,不進行函式處理,隱層和輸出層包含神經功能元 3.比較經典的神經網路的演算法是bp演算法 標準bp演...

機器學習(第五章)

最普遍的定義是 神經網路是由具有適應性的簡單單元組成的廣泛並行互聯的網路,它的組織能夠模擬生物神經系統對真實世界物體做出的互動反應。神經網路的最基本成分是神經元模型。在生物網路中,神經元的活動是以0或1的狀態存在的,乙個神經元可以接受多個神經元的訊號輸入,當所有輸入超出閾值時,接受輸入的神經元就會發...

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...