線性回歸練習題之多特徵值

2021-08-17 04:21:02 字數 1152 閱讀 9616

多特徵值得代價函式和梯度下降法和單特徵值的差不多,唯一需要多做的一步是特徵值縮放。

下面為特徵縮放函式來標準化資料: x=

x−μs

(μ為特

徵值的均

值,s為

標準差=

方差的算

術平方根

) x=x

−μs(

μ為特徵

值的均值

,s為標

準差=方

差的算術

平方根)

def

normalization

(data):

data = np.array(data)

mean = np.mean(data, axis=0) #求每一列的均值

s = np.sqrt(np.var(data, axis=0)) #標準差

for i in np.arange(0, data.shape[0]):

data[i] = (data[i] - mean)/s

print (data[0] - mean)/s

return data

將特徵縮放後的資料整理

iters = 10000

alpha = 0.001

theta = np.zeros(3)

x = data[:, 0:2]

y = data[:, -1]

x = np.hstack((np.ones((x.shape[0], 1)), x))

梯度下降法同單特徵值的函式

theta, j = gridientsolves(theta, x, y, iters, alpha)

fig, ax = plt.subplots()

ax.plot(np.arange(1, iters+1), j)

ax.set_title('the the curve between cost value and iteration times')

plt.show()

如圖所示:

邏輯回歸 練習題

資料的前兩列為成績,第三列為是否錄取的決定。完成x和y的初始化,方便以後的函式的使用 data np.loadtxt ex2data1.txt delimiter x np.mat np.delete data,1,axis 1 x np.hstack np.ones x.shape 0 1 x y...

線性表練習題

題目 1 有序鍊錶的合併 將2個遞增的有序鍊錶合併為 乙個鍊錶的有序鍊錶 要求結果鍊錶仍然使 用兩個鍊錶的儲存空間,不不另外佔 用其他的儲存空間.表中不不允許有重複的資料。演算法思想 1 假設待合併的鍊錶為la和lb,合併後的新錶使用頭指標lc lc的表頭結點設為la的表頭結點 指向.pa 和 pb...

線性代數 21特徵值和特徵向量

這節課將講解課程中很大的主題,還是對方陣而言,討論特徵值和特徵向量,下一節課講解應用。給定矩陣 a 矩陣作用在向量上,矩陣 a 的作用就像輸入向量 x 結果得到向量 ax 就像乙個函式,微積分中的函式表示作用在數字 x 上得到 f x 矩陣就是一種變換。在這些 x 向量中,我們比較感興趣的是變換前後...