学会如何从文件逐行读取数据
在上代码之前先来分析一下学会从文件逐行读取数据对我们学习机器学习算法的时候有什么作用。在学习机器学习算法的时候,会用到大量的数据作为训练集,手动输入显然不能满足需求,而且效率极其低下,更不能体现计算机的作用。
上代码:
from numpy import *
import operator
def read_data_test(filename):
file_read=open(filename)#打开文件(这里的文件是指你的数据所在的文件,我的是data.txt)
array_of_lines=file_read.readlines()#读取文件里的每一行数据(包括制表符\t,换行符\n)
#print “array_of_lines”,array_of_lines
number_of_lines=len(array_of_lines)#拿到数据的行数,我的数据是5行
#print “number_of_lines:”,number_of_lines
return_mat=zeros((number_of_lines,4))#创建一个用0填充的矩阵,也可以理解为新建了一个箱子,箱子的大小正是数据需要的大小,这一步是为了将数据放进一个矩阵,你会发现zeros()函数里的参数刚好是数据的行、列
#print “return_mat”,return_mat
index=0
#以下代码是逐行读取文件中的数据
for line in array_of_lines:
line=line.strip()#逐行读取数据,并且把首位不显示的字符去掉
list_from_line=line.split(‘\t’