'''
机器学习实战章8
一个矩阵x(样本数据属性矩阵)和y(样本数据y矩阵)可拟合出一条直线
标准线性回归只拟合出一条直线,局部加权线性回归共更新x矩阵m-1次,在相邻两个数据之间都回归出直线,共得到m-1条直线,连接起来就近似曲线了
改变lwlr()函数的k值,可以改变曲线的平滑度和拟合度,大家有兴趣可以试试
本代码使用的资源和文件在文末
'''
from numpy import *
'''
该函数解析用tab键分离的文本文件,若该文件内有m条数据
dataMat:如其名,属性矩阵,m x 2
labelMat:y值矩阵,m x 1
'''
def loadDataSet(fileName):
numFeat = len(open(fileName).readline().split('\t')) - 1 #获取属性数,前两列是属性,最后一列是y值
dataMat = []; labelMat = []
fr = open(fileName)
for line in fr.readlines():
lineArr =[]
curLine = line.strip().split('\t')
for i in range(numFeat):
lineArr.append(float(curLine[i]))
dataMat.append(lineArr)
labelMat.append(float(curLine[-1]))
return dataMat,labelMat #函数有多个返回值其实是返回了一个tuple
"""
标准回归,计算最佳拟合直线
返回m x 1的回归系数矩阵
机器学习实战——标准线性回归和加权线性回归算法
最新推荐文章于 2024-06-05 08:00:00 发布
本文深入探讨了机器学习中的标准线性回归和加权线性回归算法,结合实战代码,详细解析了这两种算法的原理和应用,帮助读者理解和掌握线性回归在实际问题中的运用。
摘要由CSDN通过智能技术生成