如何从文件中载入CH6作为训练数据?

摘要:掌握用文本文件和CSⅴ文件准备训练数据 掌握对数据列和非数据列的处理 掌握从文件中加载训练数据 用文件准备训练数据 纯文本文件 纯文本文件(.txt):只保存文本信息的文件 相比Word、PDF等格式文件较小 相比二进制格式存储数据文件稍大
掌握用文本文件和CSⅴ文件准备训练数据 掌握对数据列和非数据列的处理 掌握从文件中加载训练数据 用文件准备训练数据 纯文本文件 纯文本文件(.txt):只保存文本信息的文件 相比Word、PDF等格式文件较小 相比二进制格式存储数据文件稍大(易读性较好) 数据的数字化 数据格式 训练数据的格式 数据整理 小明,90,80,70,0 小红,98,95,87,1 小王,99,99,99,1 小华,80,85,90,0 非数字项的清理 训练数据的一般格式 纯文本文件,文件编码是 UTF-8,Excel 软件,识别 CSV 文件为表格并编辑。 CSV( Comma-Separated Values)格式指的是文件中每行是一条数据,每行的多个数值间用逗号分隔开,例: 1,2,3,4 3.25,9.5,8.7,1.34 CSV 文件中一般每行的数据项数应该是一样的 CSV 文件可以被 Excel 软件识别为表格并编辑 CSV 文件处理数据 把文件另存为 data.csv。 加载文件中的训练数据 import numpy as np wholeData = np.loadtxt('data.txt', delimiter=',', dtype=np.float32) print(wholeData) loadtxt 函数的 3 个参数: 要读取的文件名 数据项之间用什么字符隔开 读取的数据类型 从非当前目录加载训练数据,使用绝对文件路径。 np.loadtxt('C:\ml\data.txt', delimiter=',', dtype=np.float32) 舍弃非数字列 import numpy as np import pandas as pd fileData = pd.read_csv('data.csv', dtype=np.float32, header=None, usecols=(1,2,3,4)) wholeData = fileData.as_matrix() print(wholeData) usecols=(1,2,3,4) 只保留第 1、2、3、4 列,即丢弃第 0 列(注意排序是从0开始) fileData.as_matrix() 函数:将表格数据转换为二维数组 非数字列与数字列的转换 90,80,70,否 98,95,87,是 99,99,99,是 80,85,90,否 import numpy as np import pandas as pd fileData = pd.read_csv('data.csv', dtype=np.float32, header=None, converters={(3):lambda s:1.0 if s=='是' else 0.0}) wholeData = fileData.as_matrix() print(wholeData) 使用 converter 来转换第 3 列为 0 或 1 的数字。 lambda - 匿名函数 90.80,70,0 98,95,87,1 99,99,99,1 80,85,90,0 把序号为 1 的列(第 2 列)的数字都减去 10。 fileData = pd.read_csv('data.csv', dtype=np.float32, header=None, converters={(1):lambda s:float(s)-10}) 把序号为 2 的列(第三列)都变成 0。
阅读全文