算法引用的数据为python自带的波士顿房价数据。代码如下:
# data 第一列为标记值
# data 后几列为特征向量
# initialTheta 为需要求得的theta
import numpy as np
import sklearn.datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import matplotlib as mpl
import matplotlib.pyplot as plt
import warnings
###################
## data 第一列为真值,后面所有列为特征
## initialTheta 估算的权值初值
## featureNum 特征的个数
def RLS_Fun(data, initialTheta, featureNum):
Theta = initialTheta
P = 10 ** 6 * np.eye(featureNum)
lamda = 1
for i in range(len(data)):
featureMatrix = data[i][1:]
featureMatrix = featureMatrix.reshape(featureMatrix.shape[0], 1)
y_real = data[i][0]
K = np.dot(P, featureMatrix) / (lamda + np.dot(np.dot(featureMatrix.T,