import tensorflow as tf
import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline

csv数据读取

1
data = pd.read_csv('./credit-a.csv',header=None)

数据统计

1
2
3
4
data.iloc[:,-1].value_counts()
1 357
-1 296
Name: 15, dtype: int64

数据处理

1
2
x = data.iloc[:,:-1]
y = data.iloc[:,-1].replace(-1,0)

模型搭建

1
2
3
4
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(4,input_shape=(15,),activation='relu'))#第一层
model.add(tf.keras.layers.Dense(4,activation='relu'))#第二层
model.add(tf.keras.layers.Dense(1,activation='sigmoid'))#输出层

模型情况

1
model.summary()

模型优化函数等设置

1
2
3
4
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['acc']#记录正确率
)

模型训练

1
history = model.fit(x,y,epochs=100)

训练loss、acc数据获取

1
history.history.keys()

dict_keys(['loss', 'acc'])

绘制loss的训练变化

1
plt.plot(history.epoch,history.history.get('loss'))

绘制acc的训练变化

1
plt.plot(history.epoch,history.history.get('acc'))