最近在学习数据处理,需要手撸一个感知器算法二分类模型。那么第一步就是数据格式的处理。
众所周知,老师只管甩数据,处理问题还是要自己来。首先看看数据格式为 .data 格式。
好家伙,经典花儿分类掐头去尾就扔过来了。感知器算法传入的参数一个是数据集matrix一个是标签label。看文件就知道需要考察我们对数据分割处理的能力。
直接使用numpy自带的 .loadtxt()功能,usecols是指定读取哪一行(从0开始),skiprows指定多少行不读取。如果文件的数据不是空格隔开的,而是用其他符号(例如';')隔开的那么我们可以使用delimiter对分隔符进行指定(delimiter=';')。
老阴比把第五列的int改成了string,所以我们要指定数据格式 dtype=str,(我第一次写成了string,该死)。
c = np.loadtxt('/Users/dnh/Desktop/COMP527/CA1/CA1data/train.data',skiprows=1,delimiter=",",usecols=(0,1,2,3))
print(c)
x = np.loadtxt('/Users/dnh/Desktop/COMP527/CA1/CA1data/train.data',skiprows=1,delimiter=",",usecols=(4),dtype=str)
print(x)
这样就对data文件分割完成了!
完成基本的感知集算法之后,把形参扔进去就行了。
当然处理data文件不仅仅这一种方法,下面附上详细链接