三. 逻辑回归与交叉熵

逻辑回归给出"是"或"否"

import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt

if __name__ == '__main__':
    data = pd.read_csv('dataset/credit-a.csv',header=None)#默认情况下,会把数据内容的第一行默认为字段名标题。header=None添加表头,否则缺一行数据
    print(data.head())

    print(data.iloc[:, -1].value_counts())#value_counts()统计重复值
    '''
    value_counts()
     1    357
    -1    296
    '''
    x = data.iloc[:, :-1]
    y = data.iloc[:, -1].replace(-1,0)#把-1替换成0

    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'))

    print(model.summary())

    model.compile(
        optimizer='adam',
        loss='binary_crossentropy',#二元交叉熵1,0
        metrics=['acc']#正确率
    )
    history = model.fit(x,y,epochs=100)

    print(history.history.keys())

    '''
    subplot(121)一行二列两张图像,绘制第一张
    '''
    plt.subplot(121),plt.plot(history.epoch,history.history.get('acc')),plt.title('acc')
    plt.subplot(122),plt.plot(history.epoch,history.history.get('loss')),plt.title('loss')
    plt.show()

在这里插入图片描述
平方差所惩罚的是与损失为同一数量级的,分类问题使用交叉熵损失函数更有效,会输出一个更大的"损失"。交叉熵值越小,实际输出与期望输出概率分布越接近。
binary_crossentropy计算二元交叉熵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值