机器学习实战——标准线性回归和加权线性回归算法

'''
机器学习实战章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的回归系数矩阵
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值