当前位置: 首页 > wzjs >正文

自己做网站服务器多少钱怎么弄自己的域名

自己做网站服务器多少钱,怎么弄自己的域名,网站建设和推广话术6,学做标书网站神经网络与深度学习:案例与实践——第三章(3)——基于Softmax回归完成鸢尾花分类任务 实践流程主要包括以下7个步骤:数据处理、模型构建、损失函数定义、优化器构建、模型训练、模型评价和模型预测等, ①数据处理&am…

神经网络与深度学习:案例与实践——第三章(3)——基于Softmax回归完成鸢尾花分类任务

实践流程主要包括以下7个步骤:数据处理、模型构建、损失函数定义、优化器构建、模型训练、模型评价和模型预测等,

①数据处理:根据网络接收的数据格式,完成相应的预处理操作,保证模型正常读取;
②模型构建:定义Softmax回归模型类;
③训练配置:训练相关的一些配置,如:优化算法、评价指标等;
④组装Runner类:Runner用于管理模型训练和测试过程;
⑤模型训练和测试:利用Runner进行模型训练、评价和测试。

该实践的主要配置如下:
数据:Iris数据集;
模型:Softmax回归模型;
损失函数:交叉熵损失;
优化器:梯度下降法;
评价指标:准确率。

一、数据处理

1、数据集介绍

Iris数据集,也称为鸢尾花数据集,包含了3种鸢尾花类别(Setosa、Versicolour、Virginica),每种类别有50个样本,共计150个样本。其中每个样本中包含了4个属性:花萼长度、花萼宽度、花瓣长度以及花瓣宽度,本实验通过鸢尾花这4个属性来判断该样本的类别。
在这里插入图片描述

2、数据清洗

①缺失值分析
对数据集中的缺失值或异常值等情况进行分析和处理,保证数据可以被模型正常读取。代码实现如下:

from sklearn.datasets import load_iris
import pandas
import numpy as np# 2、缺失值分析
#load_iris().data:获取Iris数据集的特征(花萼长度、宽度等,共4个特征)。
# load_iris().target:获取标签(0、1、2分别对应三种鸢尾花)。
iris_features = np.array(load_iris().data, dtype=np.float32)
iris_labels = np.array(load_iris().target, dtype=np.int32)
#pandas.isna():检查数据中的缺失值(NaN),返回布尔矩阵。
# .sum():统计每列(特征或标签)的缺失值数量。
print(pandas.isna(iris_features).sum())
print(pandas.isna(iris_labels).sum())

②异常值处理
通过箱线图直观的显示数据分布,并观测数据中的异常值。

 箱线图查看异常值分布
def boxplot(features):# 为四个特征指定可读的名称feature_names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']# 连续画几个图片#大小5 * 5,分辨率为200plt.figure(figsize=(5, 5), dpi=200)# 子图调整# 子图之间的水平间距,避免重叠plt.subplots_adjust(wspace=0.6)# 每个特征画一个箱线图for i in range(4):# 画布分为2行2列,依次在第i+1个位置绘制子图plt.subplot(2, 2, i+1)# 画箱线图plt.boxplot(features[:, i], #选择第i个特征的所有样本数据showmeans=True,  # 显示均值,(绿色三角)#:设置线图的样式(颜色,线宽,虚线)whiskerprops={"color":"#E20079", "linewidth":0.4, 'linestyle':"--"},# 设置异常点(离群值)的样式(点大小)flierprops={"markersize":0.4},# : 设置均值标记的大小meanprops={"markersize":1})# 图名plt.title(feature_names[i], fontdict={"size":5}, pad=2)# y方向刻度plt.yticks(fontsize=4, rotation=90)plt.tick_params(pad=0.5)# x方向刻度,隐藏plt.xticks([])plt.savefig('ml-vis.pdf')plt.show()boxplot(iris_features)

箱线图如下:
借助箱线图的解读:
在这里插入图片描述
在这里插入图片描述

3、 数据读取

本实验中将数据集划分为了三个部分:

训练集:用于确定模型参数;
验证集:与训练集独立的样本集合,用于使用提前停止策略选择最优模型;
测试集:用于估计应用效果(没有在模型中应用过的数据,更贴近模型在真实场景应用的效果)。
在本实验中,将80%的数据用于模型训练,10%的数据用于模型验证,10%的数据用于模型测试。代码实现如下:

import copy
import paddle # 加载数据集
def load_data(shuffle=True):"""加载鸢尾花数据输入:- shuffle:是否打乱数据,数据类型为bool输出:- X:特征数据,shape=[150,4]- y:标签数据, shape=[150]"""# 加载原始数据X = np.array(load_iris().data, dtype=np.float32)y = np.array(load_iris().target, dtype=np.int32)X = paddle.to_tensor(X)y = paddle.to_tensor(y)# 数据归一化#每个特征值线性缩放到【0,1】#归一化后所有特征在同一尺度(0~1),避免模型被数值较大的特征主导。#axis=0 表示对每列(每个特征)单独计算最小值和最大值。X_min = paddle.min(X, axis=0)X_max = paddle.max(X, axis=0)#对每个特征值减去最小值后除以极差(X_max - X_min)。X = (X-X_min) / (X_max-X_min)# 如果shuffle为True,随机打乱数据if shuffle:idx = paddle.randperm(X.shape[0])X = X[idx]y = y[idx]return X, y# 固定随机种子
paddle.seed(102)num_train = 120
num_dev = 15
num_test = 15X, y = load_data(shuffle=True)
print("X shape: ", X.shape, "y shape: ", y.shape)
X_train, y_train = X[:num_train], y[:num_train]
X_dev, y_dev = X[num_train:num_train + num_dev], y[num_train:num_train + num_dev]
X_test, y_test = X[num_train + num_dev:], y[num_train + num_dev:]# 打印X_train和y_train的维度
print("X_train shape: ", X_train.shape, "y_train shape: ", y_train.shape)
# 打印前5个数据的标签
print(y_train[:5])

二、模型构建

使用Softmax回归模型进行鸢尾花分类实验,将模型的输入维度定义为4,输出维度定义为3。代码实现如下:
之前的softmax,model_SR等方法都在之前的softmax多类别分类中有了,不再赘述。

from nndl import op# 输入维度
input_dim = 4
# 类别数
output_dim = 3
# 实例化模型
model = op.model_SR(input_dim=input_dim, output_dim=output_dim)

三、模型训练

实例化RunnerV2类,使用训练集和验证集进行模型训练,共训练80个epoch,其中每隔10个epoch打印训练集上的指标,并且保存准确率最高的模型作为最佳模型。代码实现如下:

from nndl import op, metric, opitimizer, RunnerV2# 学习率
lr = 0.2# 梯度下降法
optimizer = opitimizer.SimpleBatchGD(init_lr=lr, model=model)
# 交叉熵损失
loss_fn = op.MultiCrossEntropyLoss()
# 准确率
metric = metric.accuracy# 实例化RunnerV2
runner = RunnerV2(model, optimizer, metric, loss_fn)# 启动训练
runner.train([X_train, y_train], [X_dev, y_dev], num_epochs=200, log_epochs=10, save_path="best_model.pdparams")

可视化观察训练集与验证集的准确率变化情况。


from nndl import plot
plot(runner,fig_name='linear-acc3.pdf')

在这里插入图片描述
在这里插入图片描述

模型评价

使用测试数据对在训练过程中保存的最佳模型进行评价,观察模型在测试集上的准确率情况。代码实现如下:

# 加载最优模型
runner.load_model('best_model.pdparams')
# 模型评价
score, loss = runner.evaluate([X_test, y_test])
print("[Test] score/loss: {:.4f}/{:.4f}".format(score, loss))

模型预测

使用保存好的模型,对测试集中的数据进行模型预测,并取出1条数据观察模型效果。


# 预测测试集数据
logits = runner.predict(X_test)
# 观察其中一条样本的预测结果
pred = paddle.argmax(logits[0]).numpy()
# 获取该样本概率最大的类别
label = y_test[0].numpy()
# 输出真实类别与预测类别
print("The true category is {} and the predicted category is {}".format(label[0], pred[0]))

文章转载自:

http://llMeAq6b.gnwpg.cn
http://BDRj0do0.gnwpg.cn
http://hefgqcA5.gnwpg.cn
http://VjJiU55H.gnwpg.cn
http://RHJEr6dj.gnwpg.cn
http://mA2izOal.gnwpg.cn
http://7J8D00MY.gnwpg.cn
http://rx1w1uBC.gnwpg.cn
http://NEkTZkev.gnwpg.cn
http://s9mgpWBM.gnwpg.cn
http://V9u4vVJH.gnwpg.cn
http://4SkYgs00.gnwpg.cn
http://dg3trsaX.gnwpg.cn
http://mGZDSmam.gnwpg.cn
http://pD4v2kiL.gnwpg.cn
http://d10HwWm0.gnwpg.cn
http://mF3UtIbC.gnwpg.cn
http://ae5RzuUS.gnwpg.cn
http://9XXZYInU.gnwpg.cn
http://KtWWH6U2.gnwpg.cn
http://3XFqBqcR.gnwpg.cn
http://RAbPX8rC.gnwpg.cn
http://uuoxbFnd.gnwpg.cn
http://c7YbYya5.gnwpg.cn
http://sSQaHUdM.gnwpg.cn
http://zqVTjaK6.gnwpg.cn
http://DnxvCP0I.gnwpg.cn
http://E4rVTsSS.gnwpg.cn
http://fVQzWMqj.gnwpg.cn
http://QmTgaGSV.gnwpg.cn
http://www.dtcms.com/wzjs/623382.html

相关文章:

  • 网站标题和描述优化闪灵企业建站系统
  • 网站建设改版升级wordpress array a
  • 建筑工程信息网站wordpress 手机自适应
  • 高端网站模板网站备案要拍照
  • 凡科建站免费百度知道登录
  • 做接口自动化是网站登录加密百度关键词下拉有什么软件
  • 商城网站功能表南海网站建设
  • 网站怎么做移动端的求职简历模板免费下载可编辑
  • 安康市城乡建设规划局网站wordpress修改角色管理
  • 网站开发行业发展前景dede旅游网站源码
  • 北京网站制作公司飞沐中山网站推广优化
  • js网站源码wordpress设置支付宝
  • 如何制作简易网站网站制作 语言选择怎么做
  • 网站建设维护公司地址合肥新站区有做网站的吗
  • 湖南网站seo地址怎么开店铺
  • 网站嵌入地图网站文件权限
  • 佛山 网址开发 网站制作网站建设服务中企动力
  • 钦州的网站建设张家港企业网站设计
  • 化隆网站建设公司建网站的费用是多少钱
  • 福建商城网站制作公司自做网站代码是多少
  • 网站建设超链接制作黑龙江省建设教育网站查询
  • 南京 网站开发什么待遇啊wordpress电脑安装教程视频
  • 安徽池州做网站的公司有人免费资源吗
  • 做空闲时间的网站给wordpress配置域名
  • 关于建筑建设的网站minify wordpress
  • 做球迷网站购物网站开发会遇到的的问题
  • 怎么才能访问自己做的网站中国设计品牌网
  • 南宁网站开发价格comodo ssl wordpress
  • wordpress开启redis缓存网站权重对优化的作用
  • 网站开发的相关语言有哪些公司网站建设怎么