写在开头的话:在学习《机器学习实战》的过程中发现书中很多代码并没有注释,这对新入门的同学是一个挑战,特此贴出我对代码做出的注释,仅供参考,欢迎指正。
#coding:gbk
from numpy import *
#作用:从文件中导入数据
#输入:文件名
#输出:数据矩阵,标签向量
def loadDataSet(fileName):
# .readline()每次只读取一行,只需读取一行计算特征值洁身内存
numFeat = len(open(fileName).readline().split('\t')) - 1
dataMat = []
labelMat = []
fr = open(fileName)
#.readlines()一次读取整个文件,自动将文件内容分析成一个行的列表
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
#作用:计算最佳拟合直线
#输入:数据点的x向量,y向量
#输出:最佳拟合直线的回归系数向量
def standRegres(xArr, yArr):
xMat = mat(xArr)
yMat &