首页 > 其他分享 >实验11-使用keras完成逻辑回归

实验11-使用keras完成逻辑回归

时间:2024-04-27 14:44:51浏览次数:36  
标签:11 逻辑 plt keras cost print import model

版本python3.7 tensorflow版本为tensorflow-gpu版本2.6

运行结果:

 

 代码:

import numpy as np

from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
import matplotlib.pyplot as plt
from sklearn import datasets

# 样本数据集,两个特征列,两个分类二分类不需要onehot编码,直接将类别转换为0和1,分别代表正样本的概率。
X,y=datasets.make_classification(n_samples=200, n_features=2, n_informative=2, n_redundant=0,n_repeated=0, n_classes=2, n_clusters_per_class=1)

# 构建神经网络模型
model = Sequential()
model.add(Dense(input_dim=2, units=1))
model.add(Activation('sigmoid'))

# 选定loss函数和优化器
model.compile(loss='binary_crossentropy', optimizer='sgd')

# 训练过程
print('Training -----------')
for step in range(501):
    cost = model.train_on_batch(X, y)
    if step % 50 == 0:
        print("After %d trainings, the cost: %f" % (step, cost))

# 测试过程
print('\nTesting ------------')
cost = model.evaluate(X, y, batch_size=40)
print('test cost:', cost)
W, b = model.layers[0].get_weights()
print('Weights=', W, '\nbiases=', b)

# 将训练结果绘出
Y_pred = model.predict(X)
Y_pred = (Y_pred*2).astype('int')  # 将概率转化为类标号,概率在0-0.5时,转为0,概率在0.5-1时转为1
# 绘制散点图 参数:x横轴 y纵轴
plt.subplot(2,1,1).scatter(X[:,0], X[:,1], c=Y_pred[:,0])
plt.subplot(2,1,2).scatter(X[:,0], X[:,1], c=y)
plt.show()

 

标签:11,逻辑,plt,keras,cost,print,import,model
From: https://www.cnblogs.com/daitu66/p/18162027

相关文章

  • 实验12-使用keras预训练模型完成猫狗识别
    版本python3.7tensorflow版本为tensorflow-gpu版本2.6运行结果:这里我用Gpu进行加速,训练一回9秒,如果不启用gpu,训练一回会很慢。  代码:#-*-codeing=utf-8-*-#@Time:2022/10/211:44#@Author:程浩#@File:猫狗识别.py#@Software:PyCharmimporttensorflow......
  • web server apache tomcat11-24-Virtual Hosting and Tomcat
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • win11 安装desktop docker
    1.操作系统安装HV如果没有,执行以系统管理员执行HV.cmd,内容如下:pushd"%~dp0"dir/b%SystemRoot%\servicing\Packages\*Hyper-V*.mum>hyper-v.txtfor/f%%iin('findstr/i.hyper-v.txt2^>nul')dodism/online/norestart/add-package:"%SystemRoot......
  • Debian/Linux安装 Realtek 8811cu无线网卡驱动
    1、下载必备安装包make、gcc(debian中可用build-essential包)、bc、linux-headers-$(uname-r)、dkmssudoaptinstallbuild-essentialbcsudoaptinstalllinux-headers-$(uname-r)dkms2、在github中下载8811cu的驱动(8811cu和8821cu用的同一个驱动),注意下驱动程序是否能......
  • 11-项目进度管理(3/10 十大管理)
    10.1管理基础10.1.1项目进度计划的定义和总要求项目进度计划是一种用于沟通和管理干系人期望的工具,为绩效报告提供依据。编制进度计划一般步骤:首先选择进度计划方法,例如关键路径法;然后将项目特定数据,如活动、计划日期、持续时间、资源、依赖关系和制约因素等输入进度计划编......
  • CF118E Bertown roads
    CF118EBertownroads结论+tarjan/dfstree首先图中有桥肯定无解,那么考虑不存在桥的时候怎么构造一种解。现在图是个边双,有什么算法?tarjan。从tarjan入手,遍历过程将图分为了树边和返祖边(无向图中不存在横叉边和前向边,可以模拟dfs过程理解),那么我们可以让树边由父亲连向儿子,......
  • web server apache tomcat11-22-logging 日志
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • 猿人学内部练习平台第11题
    第11题:人均会解jsl控制台抓包可以看到,页面请求了两次https://www.python-spider.com/challenge/11第一次返回了一段js代码,第二次返回了所需数据:对比两次请求参数发现,只有cookie中的__jsl_clearance发生了变化,其他参数均相同,因此该值应该是第一次返回的js生成的。清除cookie......
  • 在win11电脑安装ubuntu双系统详细教程
    ​ 一、制作Ubuntu系统盘下载UbuntuISO镜像:访问Ubuntu官方网站下载最新的Ubuntu18.04LTS(长期支持版)ISO镜像。阿里云开源镜像站:https://mirrors.aliyun.com/ubuntu-releases/ 清华大学开源软件镜像网站:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/选择想要......
  • python - [11] 日常脚本汇总
    题记部分  一、updatetime更新将脚本放到目标文件夹,运行脚本可将文件夹下所有文件的更新时间都修改为当前时间。importos#指定目录路径directory_path="./"#遍历目录下的所有文件和子目录forroot,dirs,filesinos.walk(directory_path):forfilei......