tensorflow2之逻辑回归二分类

使用tf2做简单的2分类。

准备数据2fenlei.csv

https://github.com/xiangkejun/machine_learning_xx/blob/master/tf2_xx/2fenlei.csv

创建 logtic_gress.py

#encoding=utf-8
# 多层感知器
# 3个特征值 推出一个2分类结果

import pandas as pd
import matplotlib.pyplot as plt
# from matplotlib.font_manager import FontProperties
import tensorflow as tf

# my_font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc",size=16)
# data = pd.read_table("F:/AI/python_xx/2fenlei.csv",sep=',')

data = pd.read_csv("2fenlei.csv",sep=',')

# data.plot.scatter(x='TV',y='sort')
# plt.show()

print(data)

x = data.iloc[:,0:-1]  # 取不要最要最后一列的数
y = data.iloc[:,-1].replace(-1,0) # 取最后一列 并将-1替换为0  变成两类 0,1

print(y)

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(4,input_shape=(3,),activation='relu'))
model.add(tf.keras.layers.Dense(4,activation='relu'))
model.add(tf.keras.layers.Dense(1,activation='sigmoid')) # 映射到 0-1 之间
# model.summary()


model.compile(optimizer='adam',
                loss='binary_crossentropy',
                metrics=['acc'])

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

# history.history.key()  # ['loss', 'acc']

plt.plot(history.epoch, history.history.get('loss'),'bo',label='loss')
plt.plot(history.epoch, history.history.get('acc'),'g',label='acc')
plt.xlabel('Epochs')
plt.ylabel('loss+acc')
plt.legend(loc='best')  # 图例
plt.show()

print(model.predict(x[:1] ))  # 取第一个做预测[[0.9835632]]

结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值