DataWhale—PumpkinBook(TASK05决策树)
课程开源地址及相关视频链接:(当然这里也希望大家支持一下正版西瓜书和南瓜书图书,支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(°▽°)ノ✿)
Datawhale-学用 AI,从此开始
【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导_哔哩哔哩_bilibili
正文部分
决策树是一种有监督的机器学习算法,可用于解决分类和回归问题,是使用分支方法说明决策的所有可能结果的图,可理解为实现某一特定结果的决策,随机森林是基于树的机器学习算法,是随机创造的决策树组成的森林,该算法利用了多棵决策树来进行决策,是用于分类、回归和其他任务的集成学习方法,输出结果是将单个决策树的输出整合起来生成最后的输出结果。主要区别:
- 输出结果不同
- 复杂度不同
决策树的一些优点是
-
易于理解和解释。树可以可视化。
-
需要很少的数据准备。其他技术通常需要数据归一化,需要创建虚拟变量,并删除空白值。一些树和算法组合支持 缺失值。
-
使用树的成本(即预测数据)与用于训练树的数据点的数量的对数成正比。
-
能够处理数值数据和分类数据。但是,scikit-learn 实现目前不支持分类变量。其他技术通常专门用于分析仅包含一种变量类型的数据集。有关更多信息,请参阅 算法。
-
能够处理多输出问题。
-
使用白盒模型。如果在模型中观察到特定情况,则该条件的解释可以通过布尔逻辑轻松解释。相比之下,在黑盒模型(例如,在人工神经网络中),结果可能更难解释。
-
可以使用统计检验来验证模型。这使得可以考虑模型的可靠性。
-
即使其假设在一定程度上被生成数据的真实模型所违反,也能表现良好。
决策树的缺点包括
-
决策树学习器可以创建过度复杂的树,这些树不能很好地概括数据。这被称为过拟合。为了避免这个问题,需要使用修剪、设置叶节点所需的最小样本数或设置树的最大深度等机制。
-
决策树可能不稳定,因为数据中的微小变化可能会导致生成完全不同的树。这个问题可以通过在集成中使用决策树来缓解。
-
决策树的预测既不平滑也不连续,而是如上图所示的分段常数逼近。因此,它们不擅长外推。
-
学习最优决策树的问题在几个方面(包括最优性和简单概念)都是已知的 NP 完全问题。因此,实际的决策树学习算法基于启发式算法,例如贪婪算法,在每个节点上做出局部最优决策。此类算法不能保证返回全局最优决策树。这可以通过在集成学习器中训练多棵树来缓解,其中特征和样本是随机抽取并替换的。
-
有一些概念很难学习,因为决策树不容易表达它们,例如 XOR、奇偶校验或多路复用器问题。
-
如果某些类占主导地位,决策树学习器会创建有偏差的树。因此,建议在使用决策树拟合之前平衡数据集。
决策树算法的主要步骤
(1)选择最优属性(根节点)
决策树判断一个属性是不是当前数据集的最优属性,是依靠信息熵变化的程度来选择的。选择某个属性,依照这个属性的值,对训练集进行划分,划分后的子训练集的信息熵之和,相比未分割前的数据集信息熵,下降最多的,就是当前的最优属性。也就是说,根据这个属性,我们就可以对数据集进行很大程度上的区分,例如猫和狗之间用耳朵区分,非常快。
(2)生成决策树。(叶子节点的选择)
选取最优属性后,根据此属性的取值,对原始数据集划分,得到子数据集,再将每个子数据集当作完整数据集,迭代进行最优属性的选取,直到数据集中样本都是同一个分类标签时,决策树生成过程结束。
有时根据场景业务需求的不同,也不要求数据集分割到无法再分类的程度,而是指定迭代的次数,即决策树到第几层就不再分割了,直接把当前叶子数据集中数量最多的分类标签作为叶子节点。这是不同的停止规则。
而决策树的三种常见算法,则是根据选择最优属性时计算的信息熵函数不同划分的。ID3 是根据信息熵,C4.5是根据信息增益率。CART是采用了基尼Gini系数。
(3)剪枝(防止过拟合)
剪枝就是给决策树瘦身,这一步想实现的目标就是,不需要太多的判断,同样可以得到不错的结果。
之所以这么做,是为了防止“过拟合”(Overfitting)现象的发生。
过拟合:指的是模型的训练结果“太好了”,以至于在实际应用的过程中,会存在“死板”的情况,导致分类错误。
欠拟合:指的是模型的训练结果不理想。
数据集为:
input = [[0.697, 0.460, 1],
[0.774, 0.376, 1],
[0.634, 0.264, 1],
[0.608, 0.318, 1],
[0.556, 0.215, 1],
[0.403, 0.237, 1],
[0.481, 0.149, 1],
[0.437, 0.211, 1],
[0.666, 0.091, 0],
[0.243, 0.267, 0],
[0.245, 0.057, 0],
[0.343, 0.099, 0],
[0.639, 0.161, 0],
[0.657, 0.198, 0],
[0.360, 0.370, 0],
[0.593, 0.042, 0],
[0.719, 0.103, 0]]
pandas
:决策树的构建涉及到数据集的一些操作,利用pandas的DataFrame
数据结构可以很好方便的完成
copy
:在递归时浅拷贝会导致问题,使用copy.deepcopy()
进行深拷贝
matplot.pyplot
:绘制决策树的划分图像
import pandas as pd
import copy
import matplotlib.pyplot as plt
import numpy as np
from math import fabs
定义回归树的节点类Node
attrList 节点剩下的属性列表
Dataset 节点划分到的数据集
left/right 左右子树
c 叶节点的预测值
description 该节点的描述(可选)
attr 该节点划分属性
s 划分属性的值
class Node:def __init__(self, description="", c = -1, Dataset=pd.DataFrame(), attrList=[]):self.attrList = attrListself.Dataset = Datasetself.left = Noneself.right = Noneself.c = cself.attr = ""self.s = -1self.desciption = description
损失函数计算:
def loss(attr, s, data):D1 = data[data[attr] <= s]D1_mean = D1['label'].std() * D1.sizeD2 = data[data[attr] > s]D2_mean = D2['label'].std() * D2.sizereturn D1_mean + D2_mean
def findOptDiv(root):losses = []for attr in root.attrList:for s in root.Dataset[attr]:losses.append((loss(attr, s, root.Dataset), attr, s))minLoss = min(losses)return minLoss
二叉树的构建
在以下情况返回IF
len(attrList) == 0
:此时所有属性已经划分完毕, 就以该集合所有样本的label
的均值作预测值 Dataset.size == 1
:此时该节点的样本仅有一个 就 以该样本的label
值做预测值
ELSE 将样本按最优划分划分为两个集合D1,D2,并分别构建subTree
def buildTree(root):# if root.Dataset.size() <= 1:# description = "leaf node"# c_p = root.Dataset['label'].mean()# leaf = Node(description=description, c = c_p) # 如果样本集合中只有一个样本那么该节点为叶节点,该叶节点的预测值是该唯一样本的labelif root.Dataset.size == 1:root.c = root.Dataset['label']return# 如果已经将属性分完了,那么该节点为叶节点,剩下的样本集中label的期望为该叶节点的预测值elif len(root.attrList) == 0:root.description = "leaf node"root.c = root.Dataset['label'].mean()return else:# 找到最优化分(_, attr, s) = findOptDiv(root)# 将节点的划分属性设为找到的attrroot.attr = copy.deepcopy(attr)# 将按属性attr划分该节点值划分值s设为最优的sroot.s = copy.deepcopy(s)# 将样本集合按照找到的最优化分划分为D1, D2D1 = copy.deepcopy(root.Dataset[root.Dataset[attr] <= s])D2 = copy.deepcopy(root.Dataset[root.Dataset[attr] > s])# 将划分该节点属性从属性集合中删除list_notremoved = copy.deepcopy(root.attrList)root.attrList.remove(attr)list_removed = copy.deepcopy(root.attrList)root.attrList = copy.deepcopy(list_notremoved)# 构建左子树和右子树root.left = Node(Dataset = D1, attrList=copy.deepcopy(list_removed))root.right = Node(Dataset = D2, attrList=copy.deepcopy(list_removed))buildTree(root.left)buildTree(root.right)return root
可以大致看出决策过程
- 先看含糖率:
- 小于.13
- 小于.666 坏瓜
- 大于.666 好瓜
- 大于.13
- 小于.697 0.6的概率是好瓜
- 大于.697 1的概率是好瓜
- 小于.13
参考文献
算法——感知机详解(推导+证明)
数学基础-机器学习
1.10. Decision Trees — scikit-learn 1.5.2 documentation
相关文章:
DataWhale—PumpkinBook(TASK05决策树)
课程开源地址及相关视频链接:(当然这里也希望大家支持一下正版西瓜书和南瓜书图书,支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(▽)ノ✿) Datawhale-学用 AI,从此开始 【吃瓜教程】《机器学习公式详解》(南瓜…...
空间注意力网络的性能优化与多维评估
在本文中,首先分析空间注意力网络(Spatial Attention Neural Network)在五个不同数据集上的训练结果。这些数据集包括Daily_and_Sports_Activities、WISDM、UCI-HAR、PAMAP2和OPPORTUNITY。通过对比这些结果,我们可以深入理解空间…...
linux基本命令2
7. 文件查找和搜索 (继续) find — 查找文件 find /path/to/search -name "file_name" # 根据名称查找文件 find /path/to/search -type f # 查找所有普通文件 find /path/to/search -type d # 查找所有目录 find /path/to/search -name "*.txt" # 查找…...
c++-练习2-类的封装练习(msg队列)
要求: 1、构造函数:创建一个消息队列,或者访问该消息队列 2、operator[] :通过index,切换send和recv的消息类型; 3、snd(const string& data) 向消息队列的指定频道中发送消息; 4、recv(int…...
战争迷雾FogOfWar---Unity中实现
从最初的即时战略《沙丘2》开始,战争迷雾的概念开始被引入和正式提出。在沙丘中每一次新开始游戏时,玩家只能观察到自己基地及单位周围极小的范围,而绝大多数地图区域均被黑色遮盖。当他命令单位向黑暗区移动后,经过的区域会被自动…...
[译]Elasticsearch Sequence ID实现思路及用途
原文地址:https://www.elastic.co/blog/elasticsearch-sequence-ids-6-0 如果 几年前,在Elastic,我们问自己一个"如果"问题,我们知道这将带来有趣的见解: "如果我们在Elasticsearch中对索引操作进行全面排序会怎样…...
C#构建一个简单的前馈神经网络
1. 神经网络的基本概念 神经网络是一种模拟人脑神经元结构的计算模型,由多个神经元(节点)组成,这些神经元通过连接(边)相互作用。每个连接都有一个权重,用于表示连接的重要性。神经网络通常分为…...
241123-UEFI模式下Linux-Windows双系统通过Grub设置选择开机系统
A. 准备工作: 将Linux系统作为默认启动系统 通过BIOS或EasyUEFI设置启动首选项为对应的Linux系统 A.1 通过BIOS选择对应的Linux系统 技嘉进入BIOS的按键 A.2 通过绿色向上箭头置顶Linux系统,下载地址: EasyUEFI A.1 与 A.2本质上执行的相同的操作 B. …...
LLaMA-Factory 上手即用教程
LLaMA-Factory 是一个高效的大型语言模型微调工具,支持多种模型和训练方法,包括预训练、监督微调、强化学习等,同时提供量化技术和实验监控,旨在提高训练速度和模型性能。 官方开源地址:https://github.com/hiyouga/L…...
单片机_简单AI模型训练与部署__从0到0.9
IDE: CLion MCU: STM32F407VET6 一、导向 以求知为导向,从问题到寻求问题解决的方法,以兴趣驱动学习。 虽从0,但不到1,剩下的那一小步将由你迈出。本篇主要目的是体验完整的一次简单AI模型部署流程&#x…...
Java-08 深入浅出 MyBatis - 多对多模型 SqlMapConfig 与 Mapper 详细讲解测试
点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatisÿ…...
单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
目录 1.单元测试 实现单元测试的方法: 注意事项: 2.集成测试 需注意事项: 实现集成测试的方法: 如何实现高效且可靠的集成测试: 3.系统测试 实现系统测试的方法: 须知注意事项: 4.验收测试 实现验…...
整车安全需求考量的多维度深度剖析
在汽车工程领域,整车安全需求的确定是一项复杂且系统的工程,其涵盖了多个关键维度的综合考量。从需求的萌生到最终的落地实施,每一个环节都紧密相扣,涉及众多技术细节与实际操作的权衡。 一、需求来源的多渠道挖掘 整车安全需求的来源广泛,其中 TARA(威胁分析与风险评估)…...
虚幻引擎---初识篇
一、学习途径 虚幻引擎官方文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-5-5-documentation虚幻引擎在线学习平台:https://dev.epicgames.com/community/unreal-engine/learning哔哩哔哩:https://www.b…...
Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(二)
Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案https://blog.csdn.net/shijianduan1/article/details/133386281 某业务配置表,按配置的时间区间及组织层级取方案,形成报表展示出所有部门方案的取值; 例如࿰…...
线性代数的发展简史
线性代数的发展简史 线性代数作为数学的一个重要分支,其发展历史悠久而丰富。从古代文明中的基础计算到现代复杂的理论体系,线性代数经历了多个阶段的演变。 古代的起源 线性代数的雏形可以追溯到古埃及、古希腊、古印度和古代中国时期。这些早期文明…...
git使用详解
一、git介绍 1、git简介 Git 是一个开源的分布式版本控制系统(最先进的,没有之一),用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用…...
ros2学习日记_241124_ros相关链接
前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…...
【SQL】【数据库】语句翻译例题
SQL自然语言到SQL翻译知识点 以下是将自然语言转化为SQL语句的所有相关知识点,分门别类详细列出,并结合技巧说明。 1. 数据库操作 创建数据库 自然语言:创建一个名为“TestDB”的数据库。 CREATE DATABASE TestDB;技巧:识别**“创…...
图书管理系统(源码+数据库+报告)
基于SpringBoot的图书管理系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 前台: - 首页:展示系统推荐、热门图书等信息。 - 论坛:提供用户交流讨论的平台。 - 公告信息&a…...
python中lxml 库之 etree 使用详解
目录 一、 etree 介绍二、xpath 解析 html/xml1、第一步就是使用 etree 连接 html/xml 代码/文件。2、 xpath 表达式定位① xpath结合属性定位② xpath文本定位及获取③ xpath层级定位④ xpath索引定位⑤ xpath模糊匹配 一、 etree 介绍 lxml 库是 Python 中一个强大的 XML 处…...
vue3(十九)-基础入门之vue-nuxt反向代理
一、反向代理 1、下载 nuxtjs/proxy 使用 npm npm install nuxtjs/proxy 或使用 yarn yarn add nuxtjs/proxy 2、配置 nuxt.config.js 文件 export default {modules: [nuxtjs/axios,nuxtjs/proxy],axios: {baseURL: /,proxy: true},proxy: {/api/: {target: https://i.maoya…...
Unity3D 截图
使用 Unity3D 自带的截图接口,制作截图工具。 截图 有时候我们想对 Unity 的窗口进行截图,如果直接使用一些截图工具,很难截取到一张完整分辨率的图片(例如,我们想要截取一张 1920 * 1080 的图片)。 其实…...
【机器学习】近似分布的熵到底是p(x)lnq(x)还是q(x)lnq(x)?
【1】通信的定义 信息量(Information Content)是信息论中的一个核心概念,用于定量描述一个事件发生时所提供的“信息”的多少。它通常用随机变量 𝑥的概率分布来定义。事件 𝑥发生所携带的信息量由公式给出࿱…...
C语言:深入理解指针
一.内存和地址 我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,那我们买电脑的时候,电脑上内存是 8GB/16GB/32GB 等,那这些内存空间…...
Vue实训---4-使用Pinia实现menu菜单展示/隐藏
0.menu菜单展示/隐藏实现方法 Menu 菜单 | Element Plus中,当:collapse"isCollapse"其中isCollapse的值为true时菜单栏隐藏,当isCollapse的值为false时菜单栏显示。接下来使用pinia实现CommonAside.vue和CommonHeader.vue组件之间数据的共享&…...
Fakelocation Server服务器/专业版 Centos7
前言:需要Centos7系统 Fakelocation开源文件系统需求 Centos7 | Fakelocation | 任务一 更新Centos7 (安装下载不再赘述) sudo yum makecache fastsudo yum update -ysudo yum install -y kernelsudo reboot//如果遇到错误提示为 Another app is curre…...
网络安全,文明上网(4)掌握网络安全技术
前言 在数字化时代,个人信息和企业数据的安全变得尤为重要。为了有效保护这些宝贵资产,掌握一系列网络安全技术是关键。 核心技术及实施方式 1. 网络监控与过滤系统: 这些系统构成了网络防御体系的基石,它们负责监控网络通信&…...
Ettus USRP X410
总线连接器: 以太网 RF频率范围: 1 MHz 至 7.2 GHz GPSDO: 是 输出通道数量: 4 RF收发仪瞬时带宽: 400 MHz 输入通道数量: 4 FPGA: Zynq US RFSoC (ZU28DR) 1 MHz to 7.2 GHz,400 MHz带宽,GPS驯服OCXO,USRP软件无线电设备 Ettus USRP X410集…...
在SQLyog中导入和导出数据库
导入 假如我要导入一个xxx.sql,我就先创建一个叫做xxx的数据库。 然后右键点击导入、执行SQL脚本 选择要导入的数据库文件的位置,点击执行即可 注意: 导入之后记得刷新一下导出 选择你要导出的数据库 右键选择:备份/导出、…...
一文了解Spring提供的几种扩展能力
基于 spring bean 的扩展 1. BeanPostProcessor spring 提供的针对 bean 的初始化过程时提供的扩展能力,从方法名也很容易看出,提供的两个方法分别是为 bean 对象提供了初始化之前以及初始化之后的扩展能力。 package com.wyl.conf;import org.spring…...
VXLAN说明
1. 什么是 VXLAN ? VXLAN(Virtual Extensible LAN,虚拟扩展局域网)是一种网络虚拟化技术,旨在通过在现有的物理网络上实现虚拟网络扩展,从而克服传统 VLAN 的一些限制。 VXLAN 主要用于数据中心、云计算环…...
MyBatis基本使用
一、向SQL语句传参: 1.MyBatis日志输出配置: mybatis配置文件设计标签和顶层结构如下: 可以在mybatis的配置文件使用settings标签设置,输出运过程SQL日志,通过查看日志,可以判定#{}和${}的输出效果 settings设置项: logImpl指定 MyBatis 所用日志的具…...
Linux笔记---进程:进程切换与O(1)调度算法
1. 补充概念 1.1 并行与并发 竞争性:系统进程数目众多,而CPU资源只有少量,甚至只有1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。独立性:多进程运…...
Flink学习连载第二篇-使用flink编写WordCount(多种情况演示)
使用Flink编写代码,步骤非常固定,大概分为以下几步,只要牢牢抓住步骤,基本轻松拿下: 1. env-准备环境 2. source-加载数据 3. transformation-数据处理转换 4. sink-数据输出 5. execute-执行 DataStream API开发 //n…...
[AutoSar]BSW_Diagnostic_007 BootLoader 跳转及APP OR boot response 实现
目录 关键词平台说明背景一、Process Jump to Bootloader二、相关函数和配置2.1 Dcm_GetProgConditions()2.2 Dcm_SetProgConditions() 三、如何实现在APP 还是BOOT 中对10 02服务响应3.1 配置3.2 code 四、报文五、小结 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagno…...
用 Python 写了一个天天酷跑(附源码)
Hello,大家好,给大家说一下,我要开始装逼了 这期写个天天酷跑玩一下叭! 制作一个完整的“天天酷跑”游戏涉及很多方面,包括图形渲染、物理引擎、用户输入处理、游戏逻辑等。由于Python是一种高级编程语言,…...
WebGL进阶(九)光线
理论基础: 点光源 符合向量定义,末减初。 平行光 环境光 效果: 点光源 平行光 环境光 源码: 点光源 // 顶点着色器程序let vertexstring attribute vec4 a_position; // 顶点位置属性uniform mat4 u_formMatrix; // 用于变换…...
Lucene(2):Springboot整合全文检索引擎TermInSetQuery应用实例附源码
前言 本章代码已分享至Gitee: https://gitee.com/lengcz/springbootlucene01 接上文。Lucene(1):Springboot整合全文检索引擎Lucene常规入门附源码 如何在指定范围内查询。从lucene 7 开始,filter 被弃用,导致无法进行调节过滤。 TermInSetQuery 指定…...
HarmonyOS(57) UI性能优化
性能优化是APP开发绕不过的话题,那么在HarmonyOS开发过程中怎么进行性能优化呢?今天就来总结下相关知识点。 UI性能优化 1、避免在组件的生命周期内执行高耗时操作2、合理使用ResourceManager3、优先使用Builder方法代替自定义组件4、参考资料 1、避免在…...
机器学习周志华学习笔记-第5章<神经网络>
机器学习周志华学习笔记-第5章<神经网络> 卷王,请看目录 5模型的评估与选择5.1 神经元模型5.2 感知机与多层网络5.3 BP(误逆差)神经网络算法 5.4常见的神经网络5.4.1 RBF网络(Radial Basis Function Network,径向基函数网络࿰…...
SQL进阶技巧:如何进行数字范围统计?| 货场剩余货位的统计查询方法
目录 0 场景描述 1 剩余空位区间和剩余空位编号统计分析 2 查找已用货位区间 3 小结 0 场景描述 这是在做一个大型货场租赁系统时遇到的问题,在计算货场剩余存储空间时,不仅仅需要知道哪些货位是空闲的,还要能够判断出哪些货位之间是连续的。因为在新货物入场时,可…...
Xilinx IP核(3)XADC IP核
文章目录 1. XADC介绍2.输入要求3.输出4.XADC IP核使用5.传送门 1. XADC介绍 xadc在 所有的7系列器件上都有支持,通过将高质量模拟模块与可编程逻辑的灵活性相结合,可以为各种应用打造定制的模拟接口,XADC 包括双 12 位、每秒 1 兆样本 (MSP…...
现代大数据架构设计与实践:从数据存储到处理的全面解读
1. 引言 随着信息技术的不断发展,数据已经成为企业和组织最宝贵的资产之一。大数据的应用已经渗透到各个行业,无论是电商、金融,还是医疗、物流,如何有效管理、存储和处理海量的数据已经成为企业成功的关键之一。本文将深入探讨现代大数据架构的设计理念与技术实践,从数据…...
详细教程-Linux上安装单机版的Hadoop
1、上传Hadoop安装包至linux并解压 tar -zxvf hadoop-2.6.0-cdh5.15.2.tar.gz 安装包: 链接:https://pan.baidu.com/s/1u59OLTJctKmm9YVWr_F-Cg 提取码:0pfj 2、配置免密码登录 生成秘钥: ssh-keygen -t rsa -P 将秘钥写入认…...
前端项目支持tailwindcss写样式
安装 npm install -D tailwindcss npx tailwindcss init配置 tailwind.config.js //根据个人需求填写,比如vue简单配置 /** type {import(tailwindcss).Config} */ module.exports {darkMode: "class",corePlugins: {preflight: false},content: [&quo…...
工程师 - 智能家居方案介绍
1. 智能家居硬件方案概述 智能家居硬件方案是实现家庭自动化的重要组件,通过集成各种设备来提升生活的便利性、安全性和效率。这些方案通常结合了物联网技术,为用户提供智能化、自动化的生活体验。硬件方案的选择直接影响到智能家居系统的性能、兼容性、…...
H.264/H.265播放器EasyPlayer.js网页全终端安防视频流媒体播放器关于iOS不能系统全屏
在数字化时代,流媒体播放器已成为信息传播和娱乐消遣的主流载体。随着技术的进步,流媒体播放器的核心技术和发展趋势不断演变,影响着整个行业的发展方向。 EasyPlayer播放器属于一款高效、精炼、稳定且免费的流媒体播放器,可支持…...
2.langchain中的prompt模板 (FewShotPromptTemplate)
本教程将介绍如何使用 LangChain 库中的 PromptTemplate 和 FewShotPromptTemplate 来构建和运行提示(prompt),并通过示例数据展示其应用。 安装依赖 首先,确保你已经安装了 langchain 和相关依赖: pip install lan…...
TCP/IP
1、浏览器输入网址后发生了什么 1)应用层:浏览器解析ULR,生成发送给web服务器的请求信息,HTTP请求报文生成,委托给操作系统将消息发送给web服务器,发送之前需要查询服务器域名对应的IP地址(需要…...