实现一个基于多层感知器的分类器,a.txt,b.txt,c.txt是三种类别的数据,读取数据的方法为 data = np.loadtxt("a.txt"),数据的维度为60,每类数据的百分之八十用于训练,百分之二十用于测试。
一.对所给的三个文件中的数据进行处理
首先读取文件,利用shape函数查看每个文件的行列数,列是固定的60即为特征,行数是指数据的个数,我们各取每个文件中数据的80%,合并成一个文件,同时给a文件的数据增添标签为001,b文件的标签为010,c文件的标签为100。具体的代码实现如下:
查看文件的行列:我们各取数据的80%,190160.8,185810.8,22403*0.8
于是,取a的0到15212行,b的0到14867行,c的0到17921行作为训练数据集,剩下的20%为测试数据集,并在第一列增加相应的标签
from __future__ import print_function
import tensorflow as tf
import numpy as np
import random
a1=np.loadtxt('a.txt')
a2=np.loadtxt('b.txt')
a3=np.loadtxt('c.txt')
b=np.concatenate((a1[0:15212],a2[0:14864],a3[0:17921]),axis=0)
f1=np.zeros((15212,3))
f2=np.zeros((14864,3))
f3=np.zeros((17921,3))
f1[:, 2]=1
f2[:, 1]=1
f3[:,