def loadDataSet(fileName): numFeat = len(open(fileName).readline().split('\t')) # 计算有多少列 dataMat = [] labelMat = []
fr = open(fileName)
for line in fr.readlines(): # 遍历原始数据集每一行 lineArr =[]
curLine = line.strip().split('\t') # 是一列表类型 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('\t')
若是逗号隔开,则使用.split(',')