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

人工智能——梯度提升决策树算法

目录

摘要

14 梯度提升决策树

14.1 本章工作任务

14.2 本章技能目标

14.3 本章简介

14.4 编程实战

14.5 本章总结

14.6 本章作业

本章已完结!


摘要

本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据。然后将样本数据划分为训练集和测试集,接着采用GBDT算法,对训练集数据进行拟合,最后在输入更多学生的数学成绩和英语成绩后,使用已求解的最优模型去预测其分类结果。

本章掌握的技能是:1、使用NumPy包读取连续的样本数据。2、使用sklearn库model_selection模块中的model_selection函数实现训练集和测试集的划分。3、使用Matplotlib实现数据的可视化,绘制树状图。

14 梯度提升决策树

14.1 本章工作任务

 采用梯度提升决策树(GBDT)算法编写程序,根据700名学生的数学成绩和英语成绩对其进行分类,将其划分为文科生、理科生和综合生。1、算法的输入是:700名学生的数学和英语成绩以及相应的的学生类型。2、算法模型需要求解的是:N颗残差树(每颗残差树需要求解所有分支,每个分支节点需要求解该分支的属性及分支的阈值)。3、算法的结果是:待测样本中学生的分类。

14.2 本章技能目标

掌握GBDT原理。

使用Python读取样本数据,并划分为训练集和测试集。

使用Python实现GBDT的建模与求解。

掌握GBDT模型实现预测。

使用Python实现GBDT分类结果进行可视化展示。

14.3 本章简介

梯度提升决策树(GBDT)是指:一种集成算法,由多个子分类器(弱分类器)的分类结果进行累加,从而得到总分类器(强分类器)的分类结果。GBDT子分类器的特点是后一个子分类器是对前一个子分类器得到的分类结果与目标值之间的差值进行的拟合,即后一个子分类器是对前一个子分类器得到的残差值的矫正。

梯度提升决策树(GBDT)算法可以解决的实际应用问题是:已知N个样本数据,样本特征是学生的数学成绩和英语成绩,样本标签是学生的类型。通过建立GBDT模型对样本数据进行训练,找到样本特征和样本标签之间的关系,从而预测出T个新的样本(学生)的类型。

本章的重点是:梯度提升决策树方法的理解和使用。


14.4 编程实战

  步骤1 引入NumPy库,命名为np;引入pandas库,命名为pd;引入os.path.abspath()模块,命名为plt,用于绘制图像;引入os模块,用于处理文件和目录。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os

步骤2 将当前文件所在目录的路径设置为Python的当前工作目录。os.path.abspath()用于将相对路径转化为绝对路径;os.chdir()用于改变当前工作目录;os.getcwd()用于获取当前工作目录(不同设备的绝对路径不同)。

thisFilePath = os.path.abspath('.')  # 获取当前文件的绝对路径
os.chdir(thisFilePath)  # 改变当前工作目录
os.getcwd()   # 获取当前工作目录输出结果:
'D:\\MyPythonFiles'

步骤3 导入并读取数据。pd.read_csv()函数用于读取数据,usecols参数用于读取文件中指定的数据列。type()函数用于返回对象的类型。head()函数用于查看前几行数据,tail()函数用于查看后几行数据。

myData = pd.read_csv('DataForClassify(1).csv', usecols=['YingYu', 'ShuXue', 'Label'])
type(myData)
myData.head()

输出结果:

myData.tail()

输出结果:

步骤4 划分训练集和测试集。从sklearn包的model_selection模块中引入train_test_split函数,函数中的第一个参数表示所要划分的样本特征集;第二个参数表示所要划分的样本标签;第三个参数表示测试集占样本数据的比例,若为整数,则表示绝对数量;第四个参数表示随机数种子。

from sklearn.model_selection import train_test_split
trainSet_x, testSet_x, trainSet_y, testSet_y = train_test_split(myData.iloc[:, 0:2],myData.iloc[:, 2],test_size = 0.2,random_state=220
)
trainSet_x.shape输出结果:
(560,2)

步骤5 拟合并验证梯度提升决策树(GBDT)模型。从sklearn包中引入ensemble,并构建模型。

从sklearn包的model_selection模块中引入cross_val_score函数,运用 K 折交叉验证对模型的稳定性进行验证。其中,第一个参数表示模型的名称,第二个参数表示样本特征集,第三个参数表示样本标签,第四个参数表示进行几个交叉验证。K 折交叉验证指把初始训练样本分成 K份,其中 K-1份被用作训练集,剩下一份被用作评估集,进行K次训练后得到K个训练结果,通过结果对比来验证模型的稳定性。

from sklearn import ensemble
import datetime
start_time = datetime.datetime.now()   # 获取函数的开始时间
GBDT_model = ensemble.GradientBoostingClassifier(n_estimators=10, min_samples_split=50)
GBDT_model = GBDT_model.fit(trainSet_x, trainSet_y)  # 导入训练集的数据进行模型拟合
from sklearn.model_selection import cross_val_score
print("%s Score: %0.2f" % ("GBDT", GBDT_model.score(testSet_x, testSet_y)))
scores = cross_val_score(GBDT_model, testSet_x, testSet_y, cv=5)
print("%s Cross Avg. Score: %0.2f(+/-%0.2f)" % ("GBDT", scores.mean(), scores.std()*2))
end_time = datetime.datetime.now()  # 求得函数结束的时间
time_spend = end_time - start_time  # 求得函数运行的时间
print("%s Time:%0.2f" % ("GBDT", time_spend.total_seconds()))  # 输出模型的训练时间输出结果:GBDT Score: 1.00
GBDT Cross Avg. Score: 1.00(+/-0.00)
GBDT Time:333.33

步骤6 对模型的输出结果进行可视化。

from sklearn import treeestimator = GBDT_model.estimators_[0,1]dot_data = tree.export_graphviz(estimator,out_file = None,feature_names = trainSet_x.columns.values,filled = True,impurity = False,rounded = True
)
import pydotplus
graph = pydotplus.graph_from_dot_data(dot_data)
graph.get_nodes()[1].set_fillcolor("#FFF2DD")
from IPython.display import Image
Image(graph.create_png())

输出结果:

步骤7 对样本数据的分类结果进行可视化。

import matplotlib as mpldef plot(train_x, train_y, test_x, test_y, model):x1_min, x1_max = train_x.iloc[:, 0].min(), train_x.iloc[:, 0].max()  # YingYu的最低分和最高分x2_min, x2_max = train_x.iloc[:, 1].min(), train_x.iloc[:, 1].max()  # ShuXue的最低分和最高分x1, x2 = np.mgrid[x1_min:x1_max:80j, x2_min:x2_max:80j]  # 生成网格采样点grid_test = np.stack((x1.flat, x2.flat), axis = 1)grid_test_df = pd.DataFrame(grid_test, columns=train_x.columns)grid_hat = model.predict(grid_test_df)grid_hat = grid_hat.reshape(x1.shape)color = ['g', 'r', 'b']color_dark = ['darkgreen', 'darkred', 'darkblue']markers = ["o", "D", "^"]plt.pcolormesh(x1, x2, grid_hat)train_x_arr = np.array(train_x)test_x_arr  = np.array(test_x)for i, marker in enumerate(markers):plt.scatter(train_x_arr[train_y==i+1][:,0],train_x_arr[train_y==i+1][:,1],c=color[i],edgecolors='black',s=20,marker=marker)plt.scatter(test_x_arr[test_y==i+1][:,0],test_x_arr[test_y==i+1][:,1],c=color_dark[i],edgecolors='black',s=40,marker=marker)plt.xlabel('English', fontsize=13)plt.ylabel('Math', fontsize=13)plt.xlim(x1_min, x1_max)plt.ylim(x2_min, x2_max)plt.title('Students Grade', fontsize=15)plt.show()
plot(trainSet_x, trainSet_y, testSet_x, testSet_y, GBDT_model)

 输出结果:

14.5 本章总结

本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据。然后将样本数据划分为训练集和测试集,接着采用GBDT算法,对训练集数据进行拟合,最后在输入更多学生的数学成绩和英语成绩后,使用已求解的最优模型去预测其分类结果。

本章掌握的技能是:1、使用NumPy包读取连续的样本数据。2、使用sklearn库model_selection模块中的model_selection函数实现训练集和测试集的划分。3、使用Matplotlib实现数据的可视化,绘制树状图。

14.6 本章作业

1、实现本章的案例,即生成样本数据,实现梯度提升决策树模型的建模、参数调整、预测和数据可视化。

2、利用 Iris(鸢尾花)原始数据集,运用GBDT算法,实现根据鸢尾花的任意两个特征对其进行分类。

本章已完结!

相关文章:

人工智能——梯度提升决策树算法

目录 摘要 14 梯度提升决策树 14.1 本章工作任务 14.2 本章技能目标 14.3 本章简介 14.4 编程实战 14.5 本章总结 14.6 本章作业 本章已完结! 摘要 本章实现的工作是:首先采用Python语言读取含有英语成绩、数学成绩以及学生所属类型的样本数据…...

智能家居适老化改造:让科技回归“无感服务”

在老龄化加速与科技飞速发展的当下,智能家居适老化改造成为提升老年人生活品质的关键举措。 理想的适老化智能家居,应实现 “无感服务”,即让老年人在无需刻意操作或复杂学习的情况下,自然、流畅地享受科技带来的便利&#xff0c…...

2025年最新Web安全(面试题)

活动发起人小虚竹 想对你说: 这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧&#xff01…...

【linux】命令收集

1. 系统信息 uname -m:显示处理器架构uname -r:显示内核版本arch:显示处理器架构cat /proc/cpuinfo:查看CPU信息cat /proc/meminfo:查看内存使用情况cat /proc/version:显示内核版本date:显示系…...

从零到一:网站设计新手如何快速上手?

从零到一:网站设计新手如何快速上手? 在当今数字化时代,网站已成为企业、个人展示信息、提供服务的重要窗口。对于想要涉足网站设计领域的新手而言,如何快速上手并掌握必要的技能成为首要任务。本文将从基础知识、软件工具、设计…...

API平台(API网关)的API安全保障机制

API安全保障机制是一个复杂而重要的任务,需要综合运用多种技术和策略来确保API的安全性和稳定性。 1.黑名单 将不合法的服务、API及终端加入平台黑名单,限制其访问。支持黑名单的列表展示,且可将内容从黑名单删除。按类型、内容搜索黑名单。…...

【软考】论devops在企业信息系统开发中的应用

摘要: 随着互联网的不断发展,各行各业都在建设自己的企业信息系统,而随着业务的不断升级和复杂化,系统的更新迭代速度越来越快,系统也越来越复杂。对于信息系统开发者,架构师,管理者&#xff0c…...

端、管、云一体化原生安全架构 告别外挂式防护!

面对数字化转型浪潮,企业网络安全风险日益凸显。数据泄露、黑客勒索等事件频发,合规要求加速推进。尽管企业纷纷部署了防病毒、身份认证、文件加密、入侵防护、流量监控等多种安全系统,但分散且孤立的架构非但没有有效抵御风险,反…...

每天记录一道Java面试题---day39

GC如何判断对象可以被回收了 回答重点 引用计数法: - 每个对象由一个引用计数属性,新增一个引用时计数器加1,引用释放时计数减1,计数为0时可以回收。可达性分析法: - 从GC Roots开始向下搜索,搜索所走过的…...

码界奇缘 Java 觉醒 后记 第二十五章 安全结界攻防战 - 从沙箱到模块化

第二十五章:安全结界攻防战 - 从沙箱到模块化 知识具象化场景 陆小柒站在由安全策略文件堆砌的古城墙上,眼前是千疮百孔的沙箱结界。空中漂浮着残缺的SecurityManager符石,远处java.security包化身的青铜守卫正在崩塌: 权限校验…...

【数据结构】励志大厂版·初阶(复习+刷题):线性表(顺序表)

前引:上一篇我们复习了复杂度,今天我们来通过实践回忆我们的线性表知识点,下面将讲解什么是线性表,顺序结构又是什么,知识点简洁精髓,无废话可言,小编会从每个细节讲起,包含头文件的…...

C 语言结构体中的函数指针与 Kotlin 高阶函数的对比

在学习 C 语言的过程中,很多 Java/Kotlin 背景的开发者都会对结构体中出现的“函数指针”感到陌生。特别是当看到如下代码时: struct Animal {void (*speak)(void); };void dogSpeak() {printf("Woof!\n"); }int main() {struct Animal dog;d…...

MicroK8s和K8s的区别优劣在哪?

运行ubuntu24.04后提示这么一段话: Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8sjust raised the bar for easy, resilient and secure K8s cluster deployment.https://ubuntu.com/engage/secure-kubernetes-at-the-edge 这段话…...

C++指针和引用之区别(The Difference between C++Pointers and References)

面试题:C指针和引用有什么区 C指针和引用有什么区别? 在 C 中,指针和引用都是用来访问其他变量的值的方式,但它们之间存在一些重要的区别。了解这些区别有助于更好地理解和使用这两种工具。 01 指针 指针(Pointer…...

Linux——Shell编程之正则表达式与文本处理器(笔记)

目录 基础正则表达式 1:基础正则表达式示例 (4)查找任意一个字符“.”与重新字符“*” (5)查找连续字符范围“{ }” 文本处理器 一、sed工具 二、awk工具 (1)按行输出文本 (2&#xff0…...

关于k8s的部署

一、实验目的 1、理解k8s的组件的功能; 2、理解k8s中的资源类型; 3、 熟练掌握k8s部署配置; 二、实验内容: 前置知识点: 写出k8s有哪些组件并简述作用? ①Master 组件: Master 组件提供集…...

营销自动化实战指南:如何用全渠道工作流引爆线索转化率?

在数字化浪潮席卷全球的今天,企业争夺用户注意力的战场已从单一渠道转向全渠道。然而,面对海量线索,许多团队依然深陷效率泥潭:人工处理耗时费力、高价值线索流失、跨渠道数据难以整合……如何破局?营销自动化正成为企…...

利用Global.asax在ASP.NET Web应用中实现功能

Global.asax文件&#xff08;也称为ASP.NET应用程序文件&#xff09;是ASP.NET Web应用程序中的一个重要文件&#xff0c;它允许您处理应用程序级别和会话级别的事件。下面介绍如何利用Global.asax来实现各种功能。 Global.asax基本结构 <% Application Language"C#&…...

【Linux 并发与竞争实验】

【Linux 并发与竞争实验】 之前学习了四种常用的处理并发和竞争的机制&#xff1a;原子操作、自旋锁、信号量和互斥体。本章我们就通过四个实验来学习如何在驱动中使用这四种机制。 文章目录 【Linux 并发与竞争实验】1.原子操作实验1.1 实验程序编写1.2 运行测试 2.自旋锁实验…...

数据一致性策略之延迟双删-实现

延迟双删 查询数据之前优先去查Redis的缓存数据&#xff0c;减少数据库压力&#xff1b; 如果没有缓存会去查数据库&#xff0c;通过查询数据库后缓存热点Key Cache-Aside策略 高并发场景时&#xff0c;严重生产bug&#xff1a;数据不一致 业务场景&#xff1a; 事务1&#x…...

在PyTorch中,使用不同模型的参数进行模型预热

在PyTorch中&#xff0c;使用不同模型的参数进行模型预热&#xff08;Warmstarting&#xff09;是一种常见的迁移学习和加速训练的策略。以下是结合多个参考资料总结的实现方法和注意事项&#xff1a; 1. 核心机制&#xff1a;load_state_dict()与strict参数 • 部分参数加载&…...

【AI论文】InternVL3:探索开源多模态模型的高级训练和测试时间配方

摘要&#xff1a;我们推出了InternVL3&#xff0c;这是InternVL系列的一项重大进步&#xff0c;具有本地多模态预训练范式。 InternVL3不是将纯文本的大型语言模型&#xff08;LLM&#xff09;改编成支持视觉输入的多模态大型语言模型&#xff08;MLLM&#xff09;&#xff0c;…...

基于Linux的ffmpeg python的关键帧抽取

1.FFmpeg的环境配置 首先强调&#xff0c;ffmpeg-python包与ffmpeg包不一样。 1) 创建一个虚拟环境env conda create -n yourenv python3.x conda activate yourenv2) ffmpeg-python包的安装 pip install ffmpeg-python3) 安装系统级别的 FFmpeg 工具 虽然安装了 ffmpeg-p…...

CNN:卷积到底做了什么?

卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09; 是一种深度学习模型&#xff0c;专门用于处理具有网格结构的数据&#xff08;如图像、视频等&#xff09;。它在计算机视觉领域表现卓越&#xff0c;广泛应用于图像分类、目标检测、图像分割等任务。CN…...

C++ IO流

文章目录 C IO流流是什么C标准IO流C文件IO流c字符串流 C IO流 流是什么 在 C 中&#xff0c;“流&#xff08;Stream&#xff09;” 是一种 抽象的数据传输机制&#xff0c;它通过统一的接口实现了程序与各种输入/输出设备&#xff08;如键盘、屏幕、文件、内存等&#xff09…...

解决splice改变原数组的BUG(拷贝数据)

项目场景&#xff1a; 项目中难免遇到需要删除改变数组的方法&#xff0c;去重&#xff0c;删除不要的数据等 问题描述&#xff1a; 但是splice方法会删除掉数据改变原数组&#xff0c;返回的是改变之后的数组&#xff0c;即使你是赋值的还是会影响到原数组的数据 GoodsInfo…...

ARINC818协议(二)

ARINC818对图像数据进行帧分割 1.FC协议定了5层模型结构&#xff1a;FC-4;FC-3;FC-2;FC-1;FC-0; 2.ARINC818协议位于FC-4层&#xff1b; 3.ARINC818协议在FC-4层使用FHCP帧头控制协议进行实现数据传递&#xff1b; 4.协议中有容器&#xff0c;容器头&#xff0c;object0~object…...

【Netty篇】Future Promise 详解

目录 一、 Netty Future 与 Promise —— 异步世界的“信使”与“传话筒”&#x1f680;1、 理解 Netty Future2、 理解 Netty Promise 二、 代码案例解读&#x1f4bb;例1&#xff1a;同步处理任务成功&#x1f44d;例2&#xff1a;异步处理任务成功&#x1f4f2;例3&#xff…...

【LaTeX】Misplaced alignment tab character . ^^I

目录 公式中出现Misplaced alignment tab character &. ^^I& 解决1&#xff1a;采用&& 解决2&#xff1a; 公式中出现Misplaced alignment tab character &. ^^I& \begin{equation}J_r & \dfrac{i\hbar}{2m}\left[\psi_2 \dfrac{\partial \psi^…...

数据中台(大数据平台)之元数据管理

&#x1f449;元数据管理是数据管理的基础&#xff0c;数据中台产品要能够提供各类元数据采集的适配器&#xff0c;自动化采集技术元数据&#xff0c;并在技术元数据的基础上补充管理属性和业务属性&#xff0c;为后续的数据资源目录、数据安全管控、报表开发提供统一的口径。并…...

基于RRT的优化器:一种基于快速探索随机树算法的新型元启发式算法

受机器人路径规划中常用的快速探索随机树&#xff08;RRT&#xff09;算法的搜索机制的启发&#xff0c;我们提出了一种新颖的元启发式算法&#xff0c;称为基于RRT的优化器&#xff08;RRTO&#xff09;。这是首次将RRT算法的概念与元启发式算法相结合。RRTO的关键创新是其三种…...

设计模式每日硬核训练 Day 13:桥接模式(Bridge Pattern)完整讲解与实战应用

&#x1f504; 回顾 Day 12&#xff1a;装饰器模式小结 在 Day 12 中&#xff0c;我们学习了装饰器模式&#xff08;Decorator Pattern&#xff09;&#xff1a; 强调在不改变原类结构的前提下&#xff0c;动态为对象增强功能。通过“包装对象”实现运行时组合&#xff0c;支…...

【开发语言】悬空指针问题

悬空指针&#xff08;Dangling Pointer&#xff09;是编程中常见的内存管理问题&#xff0c;尤其在C/C这类手动管理内存的语言中。以下是详细解释&#xff1a; 什么是悬空指针&#xff1f; 悬空指针是指向已经被释放&#xff08;或失效&#xff09;内存的指针。这段内存可能已…...

深入剖析 WiFi 定位解析功能:原理、技术优势与应用场景

WiFi 定位解析功能的原理​ 信号强度与距离的关系​ WiFi 定位的核心原理基于无线信号传播过程中的一个基本特性&#xff1a;信号强度与信号发射源&#xff08;即 WiFi 接入点&#xff0c;Access Point&#xff0c;简称 AP&#xff09;和接收设备之间距离的关联。一般来说&am…...

从标准九九表打印解读单行表达式的书写修炼(Python)

解读单行表达式书写&#xff0c;了解修习单行捷径。 笔记模板由python脚本于2025-04-16 23:24:17创建&#xff0c;本篇笔记适合喜欢单行喜好python的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述…...

HTML5好看的水果蔬菜在线商城网站源码系列模板4

文章目录 1.设计来源1.1 主界面1.2 关于我们1.3 商品信息1.4 新闻资讯1.5 联系我们1.5 登录注册 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/147264262 HTML5好看的水果…...

Arkts应用全局UI状态存储和持久化V2(AppStorageV2、PersistenceV2和@Type)

目录 应用全局UI状态存储和持久化V2版本 AppStorageV2 connect remove keys 示例 使用限制 PersistenceV2 connect remove keys save notifyOnError 示例 使用限制 Type 使用限制 应用全局UI状态存储和持久化V2版本 以下实例AppStorageV2、PersistenceV2和装饰…...

【QT】常用控件 【多元素类 | 容器类 | 布局类】

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; QT 常用控件【多元素类】 &#x1f98b; List Widget -- 列表&#x1f98b; Table Widget -- 表格&#x1f98b; Tree Widget -- 树形 二&#xff1a;&#x…...

uniapp实现图文聊天功能

Uniapp 实现图文聊天功能 下面我将介绍如何在 Uniapp 中实现一个基本的图文聊天功能&#xff0c;包括消息发送、接收和展示。 一、准备工作 创建 Uniapp 项目准备后端接口&#xff08;可以使用云开发、自己的服务器或第三方服务&#xff09; 二、实现步骤 1. 页面结构 &l…...

【场景应用9】多语言预训练语音模型进行自动语音识别

一、理论介绍 “多语言预训练语音模型进行自动语音识别”这个模块是近年来语音识别(ASR, Automatic Speech Recognition)领域非常重要的发展方向。下面我来为你系统地讲解这个模块的基础理论与算法流程,尤其聚焦在如 wav2vec 2.0 multilingual、XLSR(cross-lingual speech…...

华为HCIE-openEuler认证:能否成为国产操作系统领域的技术稀缺人才?

HCIE-openEuler是华为面向开源操作系统领域的高级专家认证&#xff0c;聚焦openEuler系统的深度运维、性能调优与生态集成。作为华为鲲鹏计算生态的核心技术栈&#xff0c;该认证要求持证者具备从底层内核优化到上层云原生适配的全栈能力。以下从技术能力、实验设计、行业适配三…...

Uniapp:列表选择提示框

目录 一、出现场景二、效果展示三、具体使用 一、出现场景 在项目的开发过程中&#xff0c;有这样一种场景&#xff0c;就是点击按钮走后续的逻辑之前还需要选择前提条件&#xff0c;就一个条件的情况下如果使用弹出框就显示比较多余&#xff0c;列表选择提示框刚好能够满足我…...

uni-app 开发安卓 您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求

您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求。 测试步骤:1、 工作台 -打卡,申请定位权限;2、工作台-设置-编辑资料-更换头像,申请相机、存 储权限。 修改建议:APP在申请敏感权限时,应同步说明权限申…...

李宏毅NLP-4-语音识别part3-CTC

Connectionist Temporal Classification&#xff5c;CTC 基于连接主义时间分类&#xff08;CTC&#xff09;的语音识别架构&#xff0c;具体描述如下&#xff1a; 输入层&#xff1a;底部的 x 1 , x 2 , x 3 , x 4 x^1, x^2, x^3, x^4 x1,x2,x3,x4代表输入的语音信号分帧数据…...

基于.NET后端实现图片搜索图片库 核心是计算上传图片与库中图片的特征向量相似度并排序展示结果

基于.NET 后端实现图片搜索图片库的方案&#xff0c;核心是计算上传图片与库中图片的特征向量相似度并排序展示结果。 整体思路 图像特征提取&#xff1a;使用深度学习模型&#xff08;如 ResNet&#xff09;提取图片的特征向量。特征向量存储&#xff1a;将图片的特征向量存…...

数据中台(大数据平台)之数据仓库建设

数据中台作为企业数据管理的核心枢纽&#xff0c;应支持并促进企业级数据仓库的建设&#xff0c;确保数据的有效整合、治理和高效应用。在建设数据仓库的过程中&#xff0c;设计和规划显得尤为重要&#xff0c;需要深入理解业务需求&#xff0c;制定合理的技术架构&#xff0c;…...

设计模式之工厂模式(factory pattern):在商品对象创建系统中的应用

目录 一、设计思路 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 二、UML类图&#xff08;PlantUML格式&#xff09; 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 三、实现过程与结果 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 四、总结 在面向对…...

在ubuntu20.04+系统部署VUE及Django项目的过程记录——以腾讯云为例

目录 1. 需求2. 项目准备3. VUE CLI项目部署3.1 部署前的准备3.1.1 后端通信路由修改3.1.2 导航修改 3.2 构建项目3.3 配置nginx代理 4. 后端配置4.1 其他依赖项4.2 单次执行测试4.3 创建Systemd 服务文件4.4 配置 Nginx 作为反向代理 5. 其他注意事项 1. 需求 近期做一些简单…...

解决前端vue项目在linux上,npm install,node-sass 安装失败的问题

Unable to save binary /var/lib/jenkins/workspace/xxx/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir ‘/var/lib/jenkins/workspace/x/node_modules/node-sass/vendor’ 这个是node-sass安装失败导致的。 #将npm的默认仓库更改为…...

FPGA_YOLO(四)用HLS实现循环展开以及存储模块

Vivado HLS&#xff08;High-Level Synthesis&#xff0c;高层次综合&#xff09;是赛灵思&#xff08;Xilinx&#xff09;在其 Vivado 设计套件 中提供的一款工具&#xff0c;用于将 高级编程语言&#xff08;如 C、C、SystemC&#xff09; 直接转换为 硬件描述语言&#xff0…...