参考项目:文本分类
1.加载数据
此数据集为在excel中随机生成的数据
cj.xlsx
数据处理如下:(文件名data_load.py)
# coding=utf-8import xlrddata = xlrd.open_workbook('cj.xlsx')# 查看工作表data.sheet_names()# print("sheets:" + str(data.sheet_names()))# print(data.sheet_names())# 通过文件名获得工作表,获取工作表1# table = data.sheet_by_name('Sheet1')# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1table = data.sheet_by_index(0)# 获取行数和列数# 行数:table.nrows# 列数:table.ncols# print("总行数:" + str(table.nrows))# print("总列数:" + str(table.ncols))# 获取整行的值 和整列的值,返回的结果为数组# 整行值:table.row_values(start,end)# 整列值:table.col_values(start,end)# 参数 start 为从第几个开始打印,# end为打印到那个位置结束,默认为none# print("整行值:" + str(table.row_values(0)))# print("整列值:" + str(table.col_values(1)))# 获取某个单元格的值,例如获取B3单元格值# cel_B3 = table.cell(3,2).value# print("第三行第二列的值:" + str(cel_B3))def get_data():labels = []inputs = []for rowNum in range(1,table.nrows):rowVale = table.row_values(rowNum)inputs.append([rowVale[:3]])labels.append([rowVale[-1]])return inputs,labels
2.创建模型 、训练模型
代码
# coding=utf-8from __future__ import absolute_import, division, print_function, unicode_literalsimport tensorflow as tfmodel = tf.keras.Sequential()model.add(tf.keras.layers.Dense(3))model.add(tf.keras.layers.Dropout(0.5))model.build((None,3))model.summary()print(model.summary())model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])#创建验证集from data_load import get_datainputs,labels = get_data()train_data = inputs[:4000]train_label = labels[:4000]val_data = inputs[4000:]val_label = labels[4000:]model.fit(train_data,train_label,epochs=100,batch_size=64,validation_data=(val_data, val_label),verbose=1)
运行结果
参数个数
loss及accuracy

