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

四川省建筑人员证书查询无忧seo

四川省建筑人员证书查询,无忧seo,宁河集团网站建设,潍坊网页制作案例文章目录 Ⅰ、项目任务要求任务描述:主要任务要求(必须完成以下内容但不限于这些内容): II、实现过程数据集描述实验运行环境描述KNN模型决策树模型朴素贝叶斯模型SVM模型不同方法对MNIST数据集分类识别结果分析(不同方法识别对比率表及结果分析) 完整代…

文章目录

  • Ⅰ、项目任务要求
    • 任务描述:
    • 主要任务要求(必须完成以下内容但不限于这些内容):
  • II、实现过程
    • 数据集描述
    • 实验运行环境描述
    • KNN模型
    • 决策树模型
    • 朴素贝叶斯模型
    • SVM模型
    • 不同方法对MNIST数据集分类识别结果分析(不同方法识别对比率表及结果分析)
  • 完整代码

用PyTorch实现MNIST手写数字识别(最新,非常详细)

Ⅰ、项目任务要求

任务描述:

  • 图像识别(Image Recognition)是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。 图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。机器学习领域一般将此类识别问题转化为分类问题。

  • 手写识别是常见的图像识别任务。计算机通过手写体图片来识别出图片中的字,与印刷字体不同的是,不同人的手写体风格迥异,大小不一,造成了计算机对手写识别任务的一些困难。 数字手写体识别由于其有限的类别(0~9共10个数字)成为了相对简单的手写识别任务。

  • 此实验内容:分别采用决策树、KNN、朴素贝叶斯、SVM、BP、softmax、adaboost、袋装八种浅层学习分类方法中的任意二种方法(适于二人组)或 三种(适于三人组)对MNIST公共数据集、HWDG私有数据集进行分类,并写出实验结果分析。

  • 说明:也可以多选方法做,比如四种、五种等。

主要任务要求(必须完成以下内容但不限于这些内容):

  • 1、采用MNIST公共数据集或采用HWDG数据集为私有数据集,用爬虫工具或手工制作,有0-9手写数字共10类,样本总数不少于60个(相当于找60个人,每人都手写0-9数字,分别做好标签存成图片后再制成样本集。)
  • 2、简述算法思想和实现原理。
  • 3、写出实验结果分析:
    • (1) 数据集描述。包括数据集介绍、训练集和测试集介绍等。

    • (2) 实验运行环境描述。如开发平台、编程语言、调参情况等。

    • (3) 不同方法对MNIST数据集分类识别结果分析(不同方法识别对比率表及结果分析),例如:
      在这里插入图片描述

    • (4) 不同方法对HWDG数据集分类识别结果分析(不同方法识别率对比表及结果分析)。结果对比表如上表格式所示。


II、实现过程

数据集描述

  • MNIST是一个包含数字0~9的手写体图片数据集,图片已归一化为以手写数 字为中心的28*28规格的图片。
  • MNIST由训练集与测试集两个部分组成,各部分 规模如下:
    • 训练集:60,000个手写体图片及对应标签
    • 测试集:10,000个手写体图片及对应标签
      在这里插入图片描述
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_scoreimport torch
import numpy as np
from matplotlib import pyplot as plt
from torch.utils.data import DataLoader
from torchvision import transforms
from torchvision import datasets
import torch.nn.functional as F"""
卷积运算 使用mnist数据集,和10-4,11类似的,只是这里:1.输出训练轮的acc 2.模型上使用torch.nn.Sequential
"""
# Super parameter ------------------------------------------------------------------------------------
batch_size = 64
learning_rate = 0.01
momentum = 0.5
EPOCH = 10# Todo:数据集准备 ------------------------------------------------------------------------------------
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))])
# softmax归一化指数函数(https://blog.csdn.net/lz_peter/article/details/84574716),其中0.1307是mean均值和0.3081是std标准差train_dataset = datasets.MNIST(root='./data/demo2', train=True, transform=transform,download=True)  # 本地没有就加上download=True
test_dataset = datasets.MNIST(root='./data/demo2', train=False, transform=transform,download=True)  # train=True训练集,=False测试集
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)# 展示数据(12个)
fig = plt.figure()
for i in range(12):plt.subplot(3, 4, i + 1)plt.tight_layout()plt.imshow(train_dataset.train_data[i], cmap='gray', interpolation='none')plt.title("Labels: {}".format(train_dataset.train_labels[i]))plt.xticks([])plt.yticks([])
plt.show()

实验运行环境描述

  • 开发平台
  • 编程语言
  • 调参情况

KNN模型

KNN模型简介
KNN(K-Nearest Neighbors)算法是一种基本的机器学习方法,用于分类和回归问题。它的核心思想是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法的步骤包括:计算待分类样本与训练集中样本的距离,选取距离最近的k个样本,根据这k个样本的类别进行投票(分类问题)或求平均(回归问题),将得票最多的类别或平均值作为待分类样本的预测类别或值。

  • 优点:简单易懂,适用于小规模数据集,不需要训练过程,适用于多种类型的数据(数值型、离散型等)。
  • 缺点:计算复杂度高,尤其在高维数据集上,存储空间大,对异常值敏感。

总之,KNN是一种直观、易于理解的算法,但在处理大规模高维度数据时性能可能受限。

调整的参数
KNN模型主要用到一个参数,即K值,它表示在预测时要考虑多少个最近邻居的信息。K值的选择对KNN模型的性能有很大影响。较小的K值会使模型更加敏感,容易受到噪声的影响,而较大的K值会使模型更加平滑,减小了波动。

  • 选择合适的K值通常使用交叉验证(Cross Validation)的方法。在交叉验证中,将训练数据分成多个折叠(folds),然后使用其中一部分数据作为验证集,剩余的部分作为训练集,多次训练模型并计算模型在验证集上的性能。
  • 通过比较不同K值下模型的性能,选择在验证集上性能最好的K值。

除了K值,KNN模型还可以使用不同的距离度量方法。在默认情况下,通常使用欧氏距离(Euclidean distance)作为距离度量,但可以根据具体问题选择其他距离度量方法,例如曼哈顿距离(Manhattan distance)或闵可夫斯基距离(Minkowski distance)等。不同的距离度量方法会影响模型的性能,因此在选择距离度量方法时也需要进行实验和比较。

# 准备数据
X_train = train_dataset.train_data.numpy().reshape(-1, 28 * 28)  # 将图像展平成一维数组
y_train = train_dataset.train_labels.numpy()
X_test = test_dataset.test_data.numpy().reshape(-1, 28 * 28)
y_test = test_dataset.test_labels.numpy()# 初始化并训练KNN模型
knn_classifier = KNeighborsClassifier(n_neighbors=3)  # 选择邻居数为3
knn_classifier.fit(X_train, y_train)# 预测并评估模型
y_pred = knn_classifier.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("KNN 模型在测试集上的准确率: {:.2f}%".format(accuracy * 100))

决策树模型

决策树模型简介
决策树模型是一种用于解决分类和回归问题的机器学习算法,模拟人类决策过程。它通过一系列特征判断将数据集分割成不同子集,最终确定数据属于哪个类别或预测数值。决策树由节点、边和叶节点组成,通过选择特征、递归划分和叶节点分类或回归构建。具有易解释性和适用性广泛的特点,但需要注意防止过拟合问题。

调整的参数
决策树模型有许多参数可以调整,不同的参数设置可以影响模型的性能和泛化能力。以下是一些常见的决策树模型参数,你可以根据具体的问题和数据集来调整它们:

  1. 树的深度(max_depth): 决定树的最大深度。如果设置得太大,容易过拟合;设置得太小,容易欠拟合。

  2. 最小分割样本数(min_samples_split): 一个节点在分裂前必须有的最小样本数。如果节点的样本数少于这个值,就不会再分裂。

  3. 叶节点的最小样本数(min_samples_leaf): 一个叶节点必须有的最小样本数。如果一个叶节点的样本数少于这个值,该叶节点会和兄弟节点一起被剪枝。

  4. 最大特征数(max_features): 在寻找最佳分割时考虑的特征数。可以是固定的整数,也可以是一个比例。

  5. 节点分裂的标准(criterion): 衡量节点纯度的方法,可以是基尼指数(‘gini’)或信息增益(‘entropy’)。

  6. 决策树数量(n_estimators): 仅在集成方法(如随机森林)中使用,指定树的数量。

  7. 学习率(learning_rate): 仅在梯度提升树(Gradient Boosting Trees)中使用,控制每棵树的贡献程度。

  8. 子采样比例(subsample): 仅在梯度提升树中使用,表示每棵树所使用的样本比例。

  9. 正则化参数(alpha): 控制树的复杂度,用于防止过拟合。

这些参数的最佳取值通常依赖于具体的数据集和问题。可以使用交叉验证等技术来选择最佳的参数组合,以提高模型的性能和泛化能力。

print("Training Decision Tree Classifier...")
decision_tree_classifier = DecisionTreeClassifier(random_state=42)
decision_tree_classifier.fit(X_train, y_train)# Predict and evaluate the model
y_pred = decision_tree_classifier.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Decision Tree Classifier Accuracy: {:.2f}%".format(accuracy * 100))

朴素贝叶斯模型


SVM模型


不同方法对MNIST数据集分类识别结果分析(不同方法识别对比率表及结果分析)

评估模型方法(准确率)
分类结果分析

完整代码

http://www.zhongyajixie.com/news/16834.html

相关文章:

  • 自己做网站难不难广州网站优化排名
  • 苹果浏览器怎么信任网站设置百度推广费用一天多少钱
  • 上海高端品牌网站建设做网站价格
  • 手机网站需要域名吗中视频自媒体账号注册下载
  • 带地板翻转的网站怎么做重庆人社培训网
  • 在哪个网站做整形郑州短视频代运营
  • 日ip5000的网站怎么做nba最新消息球员交易
  • 做网站的的步骤怎么写外链群发
  • 帝国文章网站模板中央电视台新闻联播广告价格
  • 做网站都要学什么云优化
  • 海淀网站建设网络营销师证
  • 室内设计培训机构多少钱seo整站优化技术培训
  • 唐山市住房城乡建设部网站主页百度贴吧网页版登录入口
  • 北京企业建站技术广州企业推广
  • 接做网站单子的网站网站定制
  • 网站建设与网页设计总结aso优化渠道
  • 犀牛云做的网站好不好百度seo排名优化软件
  • 找人做app网站福州seo按天付费
  • 南京网站公司郴州网站seo
  • 温州营销网站制作报价windows系统优化软件排行榜
  • 昆明市网站制作公司网络营销策划模板
  • 佛山智能建站进入百度首页
  • 著名室内设计网站大全今日重大事件
  • 手机网站banner尺寸营销网点机构号
  • 如何上传程序到网站空间产品推广文案怎么写
  • 网站三大标签深圳seo网络优化公司
  • 张店网站制作设计公司使用网站模板快速建站
  • 丽水做网站公司免费直链平台
  • wordpress 地图插件seo网站内部优化
  • 国际新闻最新战争消息aso优化软件