Python + 深度学习从 0 到 1(01 / 99)

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦
欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持!

⭐ 深度学习之前:机器学习简史

什么要了解其他机器学习算法? 💜

如果你第一次接触的机器学习就是深度学习,那你可能会发现手中握着一把深度学习“锤子”,而所有机器学习问题看起来都像是“钉子”

为了避免陷入这个误区,唯一的方法就是熟悉其他机器学习方法并在适当的时候进行实践

本文将介绍:

  • 💡 朴素贝叶斯算法
  • 💡 logistic 回归
  • 💡 支持向量机 SVM
  • 💡 决策树
  • 💡 随机森林

---- 概率建模(probabilistic modeling)💜 统计学原理在数据分析中的应用

➕ 朴素贝叶斯算法:朴素贝叶斯是一类基于应用贝叶斯定理的机器学习分类器,它假设输入数据的特征都是独立的

贝叶斯定理: P ( C ∣ X ) = P ( X ∣ C ) P ( C ) P ( X ) P(C|X) = \frac{P(X|C)P(C)}{P(X)} P(CX)=P(X)P(XC)P(C)

  • P ( C ∣ X ) P(C|X) P(CX):在已知特征 X X X 的情况下,属于类别 C C C 的概率
  • P ( X ∣ C ) P(X|C) P(XC):在已知类别 C C C 的情况下,特征 X X X 出现的概率
  • P ( C ) P(C) P(C):类别 C C C 的先验概率
  • P ( X ) P(X) P(X):特征 X X X 出现的概率

朴素贝叶斯分类规则: P ( C ∣ X 1 , X 2 , … , X n ) ∝ P ( C ) ∏ i = 1 n P ( X i ∣ C ) P(C|X_1, X_2, \dots, X_n) \propto P(C) \prod_{i=1}^{n} P(X_i|C) P(CX1,X2,,Xn)P(C)i=1nP(XiC)

  • P ( C ∣ X 1 , X 2 , … , X n ) P(C|X_1, X_2, \dots, X_n) P(CX1,X2,,Xn):属于类别 C C C 的条件概率
  • P ( C ) P(C) P(C):类别 C C C 的先验概率
  • P ( X i ∣ C ) P(X_i|C) P(XiC):特征 X i X_i Xi 在给定类别 C C C 下的条件概率
from sklearn.naive_bayes import GaussianNB
nb_model = GaussianNB()
nb_model.fit(X_train, y_train)

➕ logistic 回归:快速入门指路 👉 Logistic Regression 理论

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train, y_train)
---- 核方法(kernel method)💜

➕ 支持向量机(SVM,support vector machine):通过两步来在属于两个不同类别的两组数据点之间找到良好决策边界

  1. 【利用核技巧映射】将数据映射到一个新的高维表示,这时决策边界可以用一个超平面来表示
    • 核函数(通常是人为选择的)是一个在计算上能够实现的操作,将原始空间中的任意两点映射为这两点在目标表示空间中的距离,完全避免了对新表示进行直接计算
  2. 【间隔最大化】尽量让超平面与每个类别最近的数据点之间的距离最大化
from sklearn.svm import SVC
model = SVC(kernel='linear', random_state=42)
model.fit(X_train_scaled, y_train)
---- 流程图决策 💜

➕ 决策树(decision tree):如下图所示

from sklearn.tree import DecisionTreeClassifier
dt_model = DecisionTreeClassifier(random_state=42)
dt_model.fit(X_train_scaled, y_train)

➕ 随机森林(random forest):引入了一种健壮且实用的决策树学习方法,即首先构建许多决策树,然后将它们的输出集成在一起

from sklearn.ensemble import RandomForestClassifier
rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
rf_model.fit(X_train_scaled, y_train)

完整代码示例 💜 以 鸢尾花数据集 (Iris Dataset) 为例

鸢尾花数据集包含 150 个样本和 4 个特征:sepal_length(萼片长度)、sepal_width(萼片宽度)、petal_length(花瓣长度)和 petal_width(花瓣宽度),目标变量是 species(鸢尾花种类)

import seaborn as snsfrom sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score# ---------------------------------------------------------------------------- 准备数据
# 加载鸢尾花数据集
iris = sns.load_dataset('iris')# print(iris.isnull().sum())    # 检查数据集是否有缺失值
# print(iris.info())            # 显示数据集的基本信息
# print(iris.head())            # 查看数据集的前几行 # 只选择 Setosa 和 Versicolor 两个种类来做二分类任务
iris_binary = iris[iris['species'].isin(['setosa', 'versicolor'])]
# 特征和目标变量
X = iris_binary[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']]
y = iris_binary['species']
# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)  # ---------------------------------------------------------------------------- 朴素贝叶斯算法
from sklearn.naive_bayes import GaussianNB# 创建贝叶斯分类器模型
nb_model = GaussianNB()
nb_model.fit(X_train, y_train)y_pred_nb = nb_model.predict(X_test)  # 预测测试集
accuracy_nb = accuracy_score(y_test, y_pred_nb)  # 计算准确率
print(f"贝叶斯分类器模型的准确率:{accuracy_nb:.2f}")# ---------------------------------------------------------------------------- Logistic 回归
from sklearn.linear_model import LogisticRegression# 创建 Logistic 回归模型
model = LogisticRegression()
model.fit(X_train, y_train)y_pred = model.predict(X_test)  # 预测测试集
accuracy = accuracy_score(y_test, y_pred)  # 计算准确率
print(f"逻辑回归模型的准确率:{accuracy:.2f}")# ---------------------------------------------------------------------------- SVMfrom sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler# 数据标准化:支持向量机对特征尺度非常敏感
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)# 创建SVM分类器
model = SVC(kernel='linear', random_state=42)
model.fit(X_train_scaled, y_train)y_pred = model.predict(X_test_scaled)  # 预测测试集
accuracy = accuracy_score(y_test, y_pred)  # 计算准确率
print(f"SVM模型的准确率:{accuracy:.2f}")# ---------------------------------------------------------------------------- 决策树
from sklearn.tree import DecisionTreeClassifier# 创建决策树分类器
dt_model = DecisionTreeClassifier(random_state=42)
dt_model.fit(X_train_scaled, y_train)y_pred_dt = dt_model.predict(X_test_scaled)  # 预测测试集
accuracy_dt = accuracy_score(y_test, y_pred_dt)  # 计算准确率
print(f"决策树模型的准确率:{accuracy_dt:.2f}")# ---------------------------------------------------------------------------- 随机森林
from sklearn.ensemble import RandomForestClassifier# 创建随机森林分类器
rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
rf_model.fit(X_train_scaled, y_train)y_pred_rf = rf_model.predict(X_test_scaled)  # 预测测试集
accuracy_rf = accuracy_score(y_test, y_pred_rf)  # 计算准确率
print(f"随机森林模型的准确率:{accuracy_rf:.2f}")

参考书籍:Python 深度学习

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

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

相关文章

丹摩|丹摩助力selenium实现大麦网抢票

丹摩|丹摩助力selenium实现大麦网抢票 声明:非广告,为用户体验 1.引言 在人工智能飞速发展的今天,丹摩智算平台(DAMODEL)以其卓越的AI算力服务脱颖而出,为开发者提供了一个简化AI开发流程的强…

企业内训|高智能数据构建、Agent研发及AI测评技术内训-吉林省某汽车厂商

吉林省某汽车厂商为提升员工在AI大模型技术方面的知识和实践能力,举办本次为期8天的综合培训课程。本课程分为两大部分:面向全体团队成员的AI大模型技术结构与行业应用,以及针对技术团队的高智能数据构建与Agent研发。课程内容涵盖非结构化数…

LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

环境安装 git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.gitcd LLaMA-Factorypip install -e ".[torch,metrics]"pip install deepspeed 下载模型 pip install modelscope modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /roo…

uniapp blob格式转换为video .mp4文件使用ffmpeg工具

前言 介绍一下这三种对象使用场景 您前端一旦涉及到文件或图片上传Q到服务器,就势必离不了 Blob/File /base64 三种主流的类型它们之间 互转 也成了常态 Blob - FileBlob -Base64Base64 - BlobFile-Base64Base64 _ File uniapp 上传文件 现在已获取到了blob格式的…

【Rabbitmq篇】RabbitMQ⾼级特性----持久性,发送⽅确认,重试机制

目录 一.持久化 1 .交换机持久化 2 队列持久化 3.消息持久化 测试场景 二.发送⽅确认 1 .confirm确认模式 2 return退回模式 如何保证RabbitMQ消息的可靠传输?(面试重点) 三. 重试机制 一.持久化 我们在前⾯讲了消费端处理消息时,…

深度学习之目标检测——RCNN

Selective Search 背景:事先不知道需要检测哪个类别,且候选目标存在层级关系与尺度关系 常规解决方法:穷举法,在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置 弊端:计算量大,且尺度不能兼顾 Selective …

Flutter环境搭建

1.Flutter 简介 1.1 Flutter 是什么 ? Flutter 是一个 UI SDK(Software Development Kit)跨平台解决方案:可以实现一套代码发布移动端(iOS、Android、HarmonyOS)、Web端、桌面端目前很多公司都在用它&…

安全算法基础(一)

安全算法是算法的分支之一,还的依靠大量的数学基础进行计算,本文参照兜哥的AI安全样本对抗,做一个简单的算法安全概括,从零学习。 最新的安全算法对于我们常规的攻击样本检测,效果是不理想的,为了探究其原…

单元测试-Unittest框架实践

文章目录 1.Unittest简介1.1 自动化测试用例编写步骤1.2 相关概念1.3 用例编写规则1.4 断言方法 2.示例2.1 业务代码2.2 编写测试用例2.3 生成报告2.3.1 方法12.3.2 方法2 1.Unittest简介 Unittest是Python自带的单元测试框架,适用于:单元测试、Web自动…

QtCreator配置github copilot实现AI辅助编程

文章目录 1、概述2、配置环境3、演示 1、概述 新时代的浪潮早就已经来临,上不了船的人终将被抛弃,合理使用AI辅助开发、提升效率是大趋势,注意也不要过于依赖。 2024年12月18日,GitHub 官方宣布了一个激动人心的重大消息&#xf…

数字经济下的 AR 眼镜

目录 1. 📂 AR 眼镜发展历史 1.1 AR 眼镜相关概念 1.2 市面主流 XR 眼镜 1.3 AR 眼镜大事记 1.4 国内外 XR 眼镜 1.5 国内 AR 眼镜四小龙 2. 🔱 关键技术 2.1 AR 眼镜近眼显示原理 2.2 AR 眼镜关键技术 2.3 AR 眼镜技术难点 3. &#x1f4a…

LabVIEW深海气密采水器测控系统

LabVIEW的深海气密采水器测控系统通过高性价比的硬件选择与自主开发的软件,实现了高精度的温度、盐度和深度测量,并在实际海上试验中得到了有效验证。 项目背景 深海气密采水器是进行海底科学研究的关键工具,用LabVIEW开发了一套测控系统&am…

RocketMQ的集群架构是怎样的?

大家好,我是锋哥。今天分享关于【RocketMQ的集群架构是怎样的?】面试题。希望对大家有帮助; RocketMQ的集群架构是怎样的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RocketMQ 是阿里巴巴开源的分布式消息中间件,广泛用于处…

【Rust自学】4.5. 切片(Slice)

4.5.0. 写在正文之前 这是第四章的最后一篇文章了,在这里也顺便对这章做一个总结: 所有权、借用和切片的概念确保 Rust 程序在编译时的内存安全。 Rust语言让程序员能够以与其他系统编程语言相同的方式控制内存使用情况,但是当数据所有者超…

AI的进阶之路:从机器学习到深度学习的演变(一)

AI的进阶之路:从机器学习到深度学习的演变 在当今科技迅猛发展的时代,人工智能(AI)、机器学习(ML)和深度学习(DL)已成为推动创新的核心力量。这三个领域虽然紧密相连,却…

《算法》题目

多项选择题 2023年2月,美国国家标准与技术研究院(NIST)将 Ascon算法确立为轻量级加密(LWC)标准,关于该算法和标准的说法,正确的是( )。 A.该标准属于国际标准 B.该标准旨在保护物联网(IoT)创建和传输的信息 C.通过法律法规规范标准化机构的职责与权限,可以起到推动技…

Git配置公钥步骤

GIt公钥的配置去除了git push输入账号密码的过程,简化了push流程。 1.生成SSH公钥和私钥 ssh-keygen -t rsa -b 4096 -C “your_emailexample.com” 遇到的所有选项都按回车按默认处理。获得的公钥私钥路径如下: 公钥路径 : ~/.ssh/id_rsa.pub 私钥路径…

Mysql的多表查询及表的连接

Mysql的多表查询及表连接 目录 Mysql的多表查询及表连接连接查询条件有关联的表的连接natural joinusingon等值连接非等值连接 表与表的外连接左外连接右外连接 表的自连接表的子连接表的伪表查询 连接查询条件 查询的两张表如果出现同名的列,我们需要将表名标注到列…

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备

移动魔百盒中的 OpenWrt作为旁路由 安装Tailscale并配置子网路由实现在外面通过家里的局域网ip访问内网设备 一、前提条件 确保路由器硬件支持: OpenWrt 路由器需要足够的存储空间和 CPU 性能来运行 Tailscale。确保设备架构支持 Tailscale 二进制文件,例…

每天40分玩转Django:Django部署

Django部署 一、今日学习内容概述 学习模块重要程度主要内容生产环境配置⭐⭐⭐⭐⭐settings配置、环境变量WSGI服务器⭐⭐⭐⭐⭐Gunicorn配置、性能优化Nginx配置⭐⭐⭐⭐反向代理、静态文件安全设置⭐⭐⭐⭐⭐SSL证书、安全选项 二、生产环境配置 2.1 项目结构调整 mypr…