keras图像识别
案例背景
数据集 caltech101 中给出了经过转化的 102 种物体图像数据
( 128*128 像 素 ), 共 9144 个样例,相应的类标签在
caltech101_labels给出。在此基础上将原始数据划分为训练集(80%)
和测试集(20%)。(如果计算机性能有限,可以从 102 种物体中任意
抽取 10~20 种作为数据集)
数据预处理
- 导入库
import pandas as pd
import numpy as np
import os
import matplotlib.pyplot as plt
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import SGD
from sklearn.model_selection import train_test_split
- 读取数据
labels=pd.read_csv('caltech101_labels.csv')
data=pd.read_csv('caltech101.csv')
- 删除无用列
data.drop(data.columns[0],axis=1,inplace=True)
- 划分训练集测试集
x_train,x_test,y_train,y_test = train_test_split(data,labels,test_size = 0.2,random_state = 1)
- 标签处理
num_classes=102
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
普通神经网络
要求
建立具有两个隐藏层以及 Dropout 层的神经网络模型对图像数据进行分类,并对模型性能进行评价。
建立模型
mo