def loadDataSet(fileName):
numFeat = len(open(fileName).readline().split( )) # 计算有多少列
dataMat = []
labelMat = []
fr = open(fileName)
for line in fr.readlines(): # 遍历原始数据集每一行
lineArr =[]
curLine = line.strip().split( ) # 是一列表类型
for i in range(numFeat-1): # numFeat - 1的原因:因为原始数据的最后一列是类别,不是属性数据
lineArr.append(float(curLine[i])) # 一个一个传进lineArr列表向量
dataMat.append(lineArr) # 再传进dataMat列表向量
labelMat.append(float(curLine[-1])) # 写进标签列表
return dataMat, labelMat
注意事项:
(1)该函数块主要用于从原始数据文件(.txt,.data等)读取数据,用于机器学习算法的训练和测试应用
(2)labelMat是一列表,表示标签/类别
(3)dataMat也是列表类型
(4)当原始数据文件间的数据是空格隔开,则使用.split( )
若是逗号隔开,则使用.split(,)