待續
import numpy as np
from numpy import genfromtxt
import matplotlib.pyplot as plt
# 讀入資料
data = genfromtxt(r"longley.csv"
,delimiter=
',')
print
(data)
# 切分資料
x_data = data[1:
,2:]
y_data = data[1:
,1,np.newaxis]
print
(x_data)
print
(y_data)
print
(np.mat(x_data)
.shape)
print
(np.mat(y_data)
.shape)
# 給樣本新增偏置項
x_data = np.concatenate(
(np.ones((16
,1))
,x_data)
,axis=1)
print
(x_data.shape)
# 嶺回歸標準方程法求解回歸引數
defweights
(xarr, yarr, lam=
0.2)
: xmat = np.mat(xarr)
ymat = np.mat(yarr)
xtx = xmat.t*xmat # 矩陣乘法
rxtx = xtx + np.eye(xmat.shape[1]
)*lam
# 計算矩陣的值,如果值為0,說明該矩陣沒有逆矩陣
if np.linalg.det(rxtx)
==0.0
:print
("this matrix cannot do inverse"
)return
# xtx.i為xtx的逆矩陣
ws = rxtx.i*xmat.t*ymat
return ws
ws = weights(x_data,y_data)
print
(ws)
# 計算**值
np.mat(x_data)
*np.mat(ws)
「」,「gnp.deflator」,「gnp」,「unemployed」,「armed.forces」,「population」,「year」,「employed」「1947」,83,234.289,235.6,159,107.608,1947,60.323
「1948」,88.5,259.426,232.5,145.6,108.632,1948,61.122
「1949」,88.2,258.054,368.2,161.6,109.773,1949,60.171
「1950」,89.5,284.599,335.1,165,110.929,1950,61.187
「1951」,96.2,328.975,209.9,309.9,112.075,1951,63.221
「1952」,98.1,346.999,193.2,359.4,113.27,1952,63.639
「1953」,99,365.385,187,354.7,115.094,1953,64.989
「1954」,100,363.112,357.8,335,116.219,1954,63.761
「1955」,101.2,397.469,290.4,304.8,117.388,1955,66.019
「1956」,104.6,419.18,282.2,285.7,118.734,1956,67.857
「1957」,108.4,442.769,293.6,279.8,120.445,1957,68.169
「1958」,110.8,444.546,468.1,263.7,121.95,1958,66.513
「1959」,112.6,482.704,381.3,255.2,123.366,1959,68.655
「1960」,114.2,502.601,393.1,251.4,125.368,1960,69.564
「1961」,115.7,518.173,480.6,257.2,127.852,1961,69.331
「1962」,116.9,554.894,400.7,282.7,130.081,1962,70.551
機器學習演算法筆記 P20標準方程法 嶺回歸
usr bin env python coding utf 8 in 1 import numpy as np from numpy import genfromtxt import matplotlib.pyplot as plt in 2 讀入資料 data genfromtxt r longl...
標準方程法(正規方程法)
為了求得引數 也可以不用迭代的方法 比如梯度下降法對同一批資料一直迭代 可以採用標準方程法一次性就算出了 而且還不用feature scaling 如果feature不多的話,比如一萬以下,用這種方法最好 標準方程法介紹 1 這裡面,x的第一列是人為新增的,為了方便運算的,都置為1,後面才是真正的特...
嶺回歸 lasso回歸
嶺回歸 ridge regression 和lasso least absolute shrinkage and selection operator 都是ols的改進,知乎上有關於三者異同的詳細討論 關於lasso 這裡記錄一下最近的學習心得。嶺回歸的含義 嶺回歸的權值計算公式中有單位方陣i,就像...