tensorflow实现二分类

在这里插入图片描述

# 导入所需库和模块
from tensorflow.keras.layers import Dense, Input, Activation  # 导入神经网络层和激活函数模块
from tensorflow.keras.models import Sequential  # 导入Keras的Sequential模型
import pandas as pd  # 导入Pandas库用于数据处理
import numpy as np  # 导入NumPy库用于数值计算
from matplotlib import pyplot as plt  # 导入Matplotlib库用于数据可视化
from sklearn.model_selection import train_test_split  # 导入数据集分割模块
from sklearn.metrics import accuracy_score  # 导入评估模块# 创建神经网络模型
model = Sequential()  # 创建Sequential模型,用于堆叠神经网络层# 添加输入层和隐藏层
model.add(Dense(units=20, input_dim=2, activation='sigmoid'))  # 添加具有20个神经元和sigmoid激活函数的隐藏层
model.add(Dense(units=1, activation='sigmoid'))  # 添加具有1个神经元和sigmoid激活函数的输出层# 查看模型结构摘要
model.summary()# 编译模型,配置优化器、损失函数和评估指标
model.compile(loss='categorical_crossentropy',  # 使用分类交叉熵作为损失函数optimizer='sgd',  # 使用随机梯度下降算法进行优化metrics=['accuracy'])  # 评估指标为准确率data = pd.read_csv('D:/pythonDATA/data.csv')  # 从CSV文件中读取数据
X = data.drop(['y'], axis=1)  # 特征变量
y = data.loc[:, 'y']  # 目标变量# 数据可视化
fig1 = plt.figure(figsize=(5, 5))  # 创建画布
passed = plt.scatter(X.loc[:, 'x1'][y == 1], X.loc[:, 'x2'][y == 1])  # 目标为1的数据点
filed = plt.scatter(X.loc[:, 'x1'][y == 0], X.loc[:, 'x2'][y == 0])  # 目标为0的数据点
plt.legend((passed, filed), ('passed', 'filed'))  # 设置图例
plt.xlabel('x1')  # x轴标签
plt.ylabel('x2')  # y轴标签
plt.title('raw data')  # 标题
plt.show()  # 显示图形# 数据分割(训练集和测试集)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=10)  # 将数据集划分为训练集和测试集# 重新编译模型以使用不同的优化器和损失函数
model.compile(optimizer='adam', loss='binary_crossentropy')  # 配置解决问题的方法和损失函数# 进行拟合训练,迭代训练三千次,降低其损失函数
model.fit(X_train, y_train, epochs=3000)  # 拟合模型,进行训练# 进行预测
y_test_predict = model.predict_classes(X_test)  # 对测试集进行预测
accuracy_test = accuracy_score(y_test, y_test_predict)  # 计算预测准确率# 生成范围内的预测结果
xx, yy = np.meshgrid(np.arange(0, 1, 0.01), np.arange(0, 1, 0.01))  # 创建预测范围
x_range = np.c_[xx.ravel(), yy.ravel()]  # 生成范围内所有点的坐标
print("输出坐标:")
print(x_range)
y_range_predict = model.predict_classes(x_range)  # 预测范围内所有点的类别# 格式化输出并绘图展示结果
y_range_predict_form = pd.Series(i[0] for i in y_range_predict)  # 将预测结果格式化为Series类型print(y_range_predict_form)  # 打印格式化后的预测结果
print(accuracy_test)  # 打印预测准确率fig2 = plt.figure(figsize=(5, 5))  # 创建画布
passed_predict = plt.scatter(x_range.loc[:, 'x1'][y == 1], x_range.loc[:, 'x2'][y == 1])  # 预测为1的数据点
filed_predict = plt.scatter(x_range.loc[:, 'x1'][y == 0], x_range.loc[:, 'x2'][y == 0])  # 预测为0的数据点passed = plt.scatter(X.loc[:, 'x1'][y == 1], X.loc[:, 'x2'][y == 1])  # 实际为1的数据点
filed = plt.scatter(X.loc[:, 'x1'][y == 0], X.loc[:, 'x2'][y == 0])  # 实际为0的数据点plt.legend((passed, filed, passed_predict, filed_predict), ('passed', 'filed', 'passed_predict', 'filed_predict'))  # 设置图例
plt.xlabel('x1')  # x轴标签
plt.ylabel('x2')  # y轴标签
plt.title('raw result')  # 标题
plt.show()  # 显示图形

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口文档不显示新写的接口

新写的接口,但是不显示: 仔细对比源码才发现没有写tag: 然后就有了:

ES6之正则扩展

正则表达式扩展 u修饰符(Unicode模式)y修饰符(Sticky或粘连模式)s修饰符(dotAll模式)Unicode属性转义正则实例的flags属性字符串方法与正则表达式的整合 javascript的常用的正则表达式 验证数字邮箱验证手机…

C语言中的循环队列与栈、队列之间的转换实现

引言 在数据结构的学习中,栈(Stack)和队列(Queue)是两个非常重要的概念。它们分别遵循着后进先出(LIFO)和先进先出(FIFO)的原则。在某些情况下,我们可能需要…

C++——超简单登录项目

程序入口文件 #include <QtWidgets/QApplication> // 包含登录页面头文件 #include "DlgLogin.h"int main(int argc, char *argv[]) {QApplication a(argc, argv);// 程序入口// 调页面起来//DlgMain w;//w.show();// 换成登录页面DlgLogin w;w.show();return…

开源禅道zentao的使用

很不幸禅道因为漏洞被人进攻了&#xff0c;被迫研究。 1.安装 直接使用docker进行部署&#xff0c;这里有非常多门道。官网的镜像easysoft-zentao是属于docker安装&#xff0c;而idoop的镜像虽然也是docker安装&#xff0c;但是实际是使用官网linux一键安装的版本&#xff0c…

一周学习总结:数组与链表

学习内容&#xff1a;数组与链表、计算机网络知识 数组&#xff1a; 从数组的基础知识到相关应用 数组的基础知识&#xff1a;数组在内存中的存储、数组的相关操作&#xff08;获取与更新&#xff09;、数组的相关应用&#xff1a; 二分查找法⭐⭐⭐⭐⭐ ● 掌握左闭右闭的…

2024第16届四川教育后勤装备展6月1日举办 欢迎参观

2024第16届四川教育后勤装备展6月1日举办 欢迎参观 邀请函 主办单位&#xff1a; 中国西部教体融合博览会组委会 承办单位&#xff1a;重庆港华展览有限公司 博览会主题&#xff1a;责任教育 科教兴邦 组委会&#xff1a;交易会159交易会2351交易会9466 展会背景 成都…

Chatgpt教你使用Python开发iPhone风格计算器

上次使用Chatgpt写爬虫&#xff0c;虽然写出来的代码很多需要修改后才能运行&#xff0c;但Chatgpt提供的思路和框架都是没问题。 这次让Chatgpt写一写GUI程序&#xff0c;也就是你常看到的桌面图形程序。 由于第一次测试&#xff0c;就来个简单点的&#xff0c;用Python写用…

GPU Burn测试指导

工具下载链接&#xff1a; https://codeload.github.com/wilicc/gpu-burn/zip/master测试方法&#xff1a; 上传工具到操作系统下&#xff0c;解压缩工具&#xff0c;使用make命令完成编译&#xff08;确保cuda环境变量已经配置成功、 nvcc -v能显示结果&#xff09;。 如果安…

文献速递:多模态深度学习在医疗中的应用--多模式婴儿脑分割技术:模糊引导深度学习

Title 题目 Multimodal Infant Brain Segmentation by Fuzzy-informed Deep Learning 多模式婴儿脑分割技术&#xff1a;模糊引导深度学习 01 文献速递介绍 日益普及的非侵入式婴儿脑磁共振图像&#xff08;MRI&#xff09;为准确理解脑主要发展轨迹的动态性提供了机会&…

树莓派|串口通信协议

1、串口通信原理 串口通讯(Serial Communication)&#xff0c;是指外设和计算机间&#xff0c;通过数据信号线、地线等&#xff0c;按位进行传输数据的一种通讯方式。串口是一种接口标准&#xff0c;它规定了接口的电气标准&#xff0c;没有规定接口插件电缆以及使用的协议。串…

“ModuleNotFoundError: No module named ‘selenium‘”报错如何解决

接上节&#xff1a;测试平台开发之测试框架改造并发执行及结果隔离(1) 上节博客的末尾提到&#xff1a;在命令窗口执行python main.py 可是执行的时候遇到了如下报错&#xff1a; ERRORS _____________________________________________________________ ERROR collecting te…

如何安全高效地进行4S店文件分发,保护核心资产?

4S店与总部之间的文件分发是确保双方沟通顺畅、信息共享和决策支持的重要环节。4S店文件分发涉及到以下文件类型&#xff1a; 销售报告&#xff1a;4S店需要定期向总部提交销售报告&#xff0c;包括销售数量、销售额、市场份额等关键指标。 库存管理文件&#xff1a;包括车辆库…

使用docker创建hadoop集群:Couldn‘t upload the file

运行的环境; Windows10 Docker Desktopdocker-hadoop 出现的问题如下: 解决方法 https://github.com/big-data-europe/docker-hadoop/issues/98

Unity Pixels Per Unit 与 Sprite Renderer Scale的逻辑关系,为什么平铺的Sprite Renderer会变形?

SpriteRenderer之前用的比较基础&#xff0c;没遇到过什么问题&#xff0c;这几天使用SpriteRenderer的平铺时发现平铺变形了&#xff0c;研究了一下&#xff0c;原来有这么多在逻辑在里面。 当我们导入图片选择Texture Type为Sprite时表示我们的图片用途是UI或者SpriteRendere…

【go项目01_学习记录12】

代码组织 1 代码结构2 重构与测试2.1 安装测试功能2.2 testify 的常用断言函数 3 表组测试 1 代码结构 所有的代码写在一个main.go文件里面&#xff0c;GO编译器也是可以正常执行的。但是当代码量很庞大时&#xff0c;很难进行维护。 Go Web 程序的代码组织 单文件——反模式…

C语言笔记15

指针2 1.数组名的理解 int arr[ 10 ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; int *p &arr[ 0 ];17391692786 arr是数组名&#xff0c;数组名是首元素地址&#xff0c;&arr[0]就是取出首元素的地址放在指针变量p中。 #include <stdio.h> int main()…

基于GWO灰狼优化的CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 GRU网络 4.3 注意力机制&#xff08;Attention&#xff09; 4.4 GWO优化 5.算法完整程序工程 1.算法运行效果图预览…

ChatGlm的部署和训练

一、chatGlm的环境部署 1.安装anocoda 下载安装anaconda。具体教程详见官网教程。 2.安装CUDA 1&#xff09;首先在终端查看你的Nividian版本&#xff0c;命令如下&#xff1a; 2)如果你没有下载你要去下载cuda下载网站&#xff0c;这里是12.3是因为我cuda version版本12…

【保姆级】生成式网络模型基础知识(图像合成/语音合成/GPT)

生成式模型基础知识 初步接触生成任务 生成任务&#xff0c;顾名思义就是要去生成一个东西&#xff0c;比如生成图片/音频/文字等等。 大家接触最多比如chatGPT、stable diffusion、还有一些语音合成相关的东西。 那么问题来了&#xff0c;具体生成步骤是什么样的&#xff…