首页 > 其他分享 >【机器学习】多层神经网络实验

【机器学习】多层神经网络实验

时间:2024-06-12 09:15:11浏览次数:27  
标签:plt 机器 多层 神经网络 train test import model history

环境安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras

image

image


import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt

# 加载数据
iris = load_iris()
X=iris.data
y=iris.target

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)

# 数据预处理
X_train=(X_train-np.mean(X_train,axis=0))/np.std(X_train,axis=0)
X_test=(X_test-np.mean(X_test,axis=0))/np.std(X_test,axis=0)


# 构建多层神经网络模型
model = Sequential()
model.add(Dense(64,activation="relu",input_shape=(4,)))
model.add(Dense(64,activation="relu"))
model.add(Dense(3,activation="softmax"))

# 编译模型
model.compile(optimizer="adam",loss="sparse_categorical_crossentropy",metrics=['accuracy'])


# 训练模型
history=model.fit(X_train,y_train,epochs=100,batch_size=32,validation_split=0.2)

# 评估模型
loss,accuracy=model.evaluate(X_test,y_test)
print("测试集上的损失:",loss)
print("测试集上的准确率:",accuracy)

# 可视化训练过程中的损失和准确率变化
plt.figure(figsize=(12,4))
plt.subplot(1,2,1)
plt.plot(history.history['loss'],label="Train Loss")
plt.plot(history.history["val_loss"],label="validation Loss")
plt.xlabel("Epoch")
plt.ylabel("Loss")
plt.legend()

plt.subplot(1,2,2)
plt.plot(history.history['accuracy'],label="Train Accuracy")
plt.plot(history.history["val_accuracy"],label="validation Accuracy")
plt.xlabel("Epoch")
plt.ylabel("Accuracy")
plt.legend()
plt.show()

标签:plt,机器,多层,神经网络,train,test,import,model,history
From: https://www.cnblogs.com/mllt/p/18243227/py_ai_base_test04

相关文章

  • TensorFlow、Keras的LSTM神经网络预测和异常检验股市价格时间序列数据可视化python实
    全文链接:https://tecdat.cn/?p=36448原文出处:拓端数据部落公众号本文旨在探讨如何利用TensorFlow和Keras中的LSTM神经网络来预测和检验股市价格时间序列数据,并通过Python编程语言和可视化技术来展示预测结果和异常检验的效果。具体而言,本文将首先介绍LSTM神经网络的基本原理和Te......
  • 详细说说机器学习在自然语言处理的应用
    机器学习在自然语言处理(NLP)中的应用非常广泛,涵盖了多个方面。以下将详细介绍机器学习在NLP中的几个主要应用领域:文本分类与情感分析文本分类:机器学习算法如支持向量机(SVM)、朴素贝叶斯(NaiveBayes)等被广泛应用于文本分类任务,如新闻文章分类、垃圾邮件过滤等。这些算法能够通......
  • 详细说说机器学习在金融服务和市场营销的应用
    机器学习在金融服务和市场营销的应用非常广泛,以下是对这两个领域应用的详细说明:金融服务风险评估和信用评分机器学习通过分析大量的历史数据,可以建立风险评估模型和信用评分模型。这些模型有助于金融机构更准确地评估借款人的信用风险,从而降低贷款违约的风险。例如,机器学习......
  • 【机器学习】Qwen2大模型原理、训练及推理部署实战
    目录​​​​​​​一、引言二、模型简介2.1Qwen2 模型概述2.2Qwen2 模型架构三、训练与推理3.1Qwen2 模型训练3.2Qwen2 模型推理四、总结一、引言刚刚写完【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战 ,阿里Qwen就推出了Qwen2,相较于Qwen1.5中0.5B......
  • 基于分类算法的学习失败预警(机器学习课程期末设计报告)
    目录一.课设背景1.1设计要求1.2项目概述二.实验环境三.设计原理3.1理论知识3.1.1学习失败风险预测流程3.1.2数据预处理3.1.2.1缺失值处理(空值填充)3.1.2.2数据平衡3.1.2.3标准化处理3.1.3构建模型进行训练3.1.3.1网格搜索3.1.3.2随机森林算法3.1.2.3......
  • 飞书golang 发送机器人结构定义
    飞书golang发送机器人结构定义在Golang中,可以定义一个结构体来表示飞书(Feishu)机器人的数据。以下是一个简单的示例,展示了如何定义用于发送消息到飞书机器人的结构体:  packagemain import("bytes""encoding/json""fmt""net/http") //FeishuRobotPayl......
  • 斯坦福大学Mobile ALOHA——一款革命性的家政机器人
    https://www.bilibili.com/video/BV1nT421e7Cy/?spm_id_from=333.999.0.0随着社会老龄化问题的加剧,家政机器人成为了解决日常生活辅助需求的新方向。欢迎来了解MobileAloha家政机器人的技术原理和潜力——它将把你的家务活变成轻而易举的事。推动这款机器人功能的技术特点包......
  • 机器学习之支持向量机
    什么是SVMSVM(全称SupportVectorMachine)中文名支持向量机。SVM是一种监督机器学习算法,是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。可用于分类或回归挑战。然而,它主要用于分类问题。最大间隔与分类......
  • 机器学习实践——支持向量机
    一.什么是支持向量机支持向量机(SVM)是一种广泛使用的监督学习方法,主要用于分类和回归分析。它的基本原理是找到一个超平面(在二维空间中是一条直线),以最大化不同类别之间的边界。以下是SVM的关键概念:超平面:决策边界,用于分类的直线或平面。 边界(Margin):从超平面到最近的数据点的最......
  • 我所理解的机器学习
    (2017年写的博客,搬过来)断断续续看了几个月的机器学习,我觉得是时候总结一下了。正如题目讲的那样,我只说我所理解的机器学习,我不能保证我理解的都对,很多东西可能是我的误解,但无论说错了什么,我都认。如果有人发现错误,恳请指正,不胜感激。我不讲算法也不讲公式推导,因为,我从头到尾都......