import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
data=pd.read_csv('D:\JupyterFile\DataSet\credit-a.csv',header=None) #输入数据集
data.head() #输出数据集前5行数据
data.iloc[:,-1].value_counts() #提取最后一行的所有数据,并计算每个类别的个数
x=data.iloc[:,:-1] #将特征赋给x,将标签赋给y
y=data.iloc[:,-1].replace(-1,0)
#需要将标签变成{0,1},所以将-1转成0,因为sigmoid取值为(0,1)
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'))
model.summary()
#2个隐藏层,输入特征为15维。最后一层用sigmoid。
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['acc'])
#损失函数使用二元的交叉熵
history=model.fit(x,y,epochs=100)
history.history.keys() #查看history中的关键字
plt.plot(history.epoch, history.history.get('loss')) #绘图,x轴为epochs的次数,y轴为loss值
plt.plot(history.epoch, history.history.get('acc')) # x轴为epochs的次数,y轴为acc值即精度
运行环境:windows10+miniconda的jupyter notebook
数据集:
链接:里面的credit-a.csv 提取码:5zdn