最小二乘法实现波士顿房价预测【机器学习】

原理

最小二乘法进行线性拟合分为训练过程预测过程

训练过程分为如下3步:
       ①导入训练数据集,得到特征值feature(即X)和标签label(即Y)
       ②利用最小二乘法进行训练,根据公式得到W
       ③将W保存

预测过程分为如下4步:
       ①导入测试数据集,得到测试集的特征值feature
       ②导入W
       ③根据公式得预测值predict
       ④将预测值保存

权重向量

在这里插入图片描述

 w = np.matmul(np.matmul(feature.T, feature).I, np.matmul(feature.T, label))

预测结果

在这里插入图片描述
 即:
在这里插入图片描述

predict = np.matmul(testData, w.T)

源数据(200行)

最小二乘法实现波士顿房价预测【机器学习】_第1张图片

最小二乘法完整代码

训练过程
import numpy as np

# 导入训练数据集data.txt
def load_data(file_name):
    '''导入数据
    input:  file_path(string):训练数据
    output: feature(mat):特征
            label(mat):标签
    '''

    f = open(file_name)

    feature = []
    label = []

    for line in f.readlines():
        feature_tmp = []
        lines = line.strip().split("\t")
        # print(lines)
        feature_tmp.append(1)  # x0

        for i in range(len(lines) - 1):
            feature_tmp.append(float(lines[i]))
        feature.append(feature_tmp)
        label.append(float(lines[-1]))

    f.close()
    #   print(np.mat(feature))
    #   print(np.mat(label).T)
    #   矩阵化
    return np.mat(feature),

你可能感兴趣的:(人工智能,#,机器学习,机器学习,最小二乘法,波士顿房价预测)