用python导入原始数据集

时间:2021-08-21 10:50:53
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(',')