四 Kears实现逻辑回归

文章目录

import pandas as pd
import keras
import numpy as np
data=pd.read_csv('./Desktop/Keras/tt/train.csv') ##使用泰坦尼克号逃生数据
data.head() ##看数据前5行

在这里插入图片描述

data.info()##查看数据信息

在这里插入图片描述
可以看出 Age数据有缺失 Cabin缺失数据更多,因此将Cabin这一列数据删除舍弃,Age没有的数据用该列所有数据平均数替代

处理数据集

y = data.Survived ##存活与否为输出
data.columns##可查看数据标签
x = data[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked']] ##根据实际我们把与生存与否无关的标签舍弃,保留与生存相关的标签生成新的输入数据

输入数据中‘Embarked’,‘Sex’均为字符,我们要将其转化为计算机可以处理的数值

x.Embarked.unique() ##查看Embarked有多少类别

在这里插入图片描述

##独热编码
x['Embarked_S'] = (x.Embarked == 'S').astype('int')
x.loc[:, 'Embarked_C'] = (x.Embarked == 'C').astype('int')
x.loc[:, 'Embarked_Q'] = (x.Embarked == 'Q').astype('int')
del x['Embarked']##转化为数值后删除原有标签
x['Sex'] = (x.Sex == 'male').astype('int')
x['Age'] = x.Age.fillna(x.Age.mean())##将Age没有数值的地方填充为平均值
x.info()

在这里插入图片描述
Pclass代表的是船舱类别,我们也将其转化一下

x['p1'] = (x.Pclass == 1).astype('int')
x['p2'] = (x.Pclass == 2).astype('int')
x['p3'] = (x.Pclass == 3).astype('int')
del x['Pclass']

看一下x,y维度

x.shape, y.shape

在这里插入图片描述
看一下当前数据

x

在这里插入图片描述
建立模型

model = keras.Sequential()
from keras import layers
model.add(layers.Dense(1,input_dim=11,activation='sigmoid'))##激活函数选用sigmoid函数
model.summary()

编译模型

model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['acc']
)#loss函数使用二元交叉熵 acc表示准确率
history = model.fit(x, y, epochs=300)#history存储loss,acc

在这里插入图片描述

history.history.keys()#看一下history存储的数据标签

在这里插入图片描述
画出loss acc

plt.plot(range(300), history.history.get('loss'))

在这里插入图片描述

plt.plot(range(300), history.history.get('acc'))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值