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

【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类

    • 一、项目背景与目标
    • 二、数据集介绍
    • 三、完整代码实现
      • 1. 环境准备与数据加载
      • 2. 数据预处理
      • 3. LightGBM 模型构建与训练
      • 4. 模型评估与预测
      • 5. 交叉验证优化
      • 6. 输出最佳参数与评估
      • 7. 特征重要度可视化
    • 四、分析结论与业务洞见
      • 关键发现
      • 业务建议
    • 五、优化方向与思考
      • 模型优化
    • 六、完整代码


一、项目背景与目标

  在5G时代,智能手机用户的使用行为日益多样化,理解这些行为对于产品优化和个性化服务至关重要。通过分析用户行为数据,可以深入理解不同用户群体的使用模式,为手机制造商、应用开发者和运营商提供决策支持。本项目致力于构建一个高效、准确的用户行为分类模型。

二、数据集介绍

  数据集包含以下字段:

  • User ID:用户唯一标识符
  • Device Model:智能手机型号
  • Operating System:操作系统类型
  • App Usage Time (min/day) :每日应用使用时间
  • Screen On Time (hours/day) : 屏幕开启时间
  • Battery Drain (mAh/day) : 电池消耗量
  • Number of Apps Installed :安装的应用程序数量
  • Data Usage (MB/day) :每日数据耗用量
  • Age:用户年龄
  • Gender:用户性别
  • User Behavior Class:用户行为类别标签(1-5个等级)

三、完整代码实现

1. 环境准备与数据加载

import pandas as pd
import numpy as np
import lightgbm as lgb
from sklearn.model_selection import train_test_split, StratifiedKFold
from sklearn.metrics import classification_report, accuracy_score# 加载数据
data = pd.read_csv("user_behavior_dataset.csv")

2. 数据预处理

# 处理分类变量
categorical_columns = ['Device Model','Operating System','Gender']
data = pd.get_dummies(data, columns=categorical_columns)
# 划分特征与标签
X = data.drop(['User Behavior Class','User ID'], axis=1)
y = data['User Behavior Class']# 分层抽样拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, stratify=y,  random_state=42
)

3. LightGBM 模型构建与训练

# 创建 LightGBM 数据集
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_test, label=y_test)# 设置模型参数
model = lgb.LGBMClassifier()model.fit(X_train, y_train)

4. 模型评估与预测

# 使用最佳参数训练模型
best_model = random_search.best_estimator_
best_model.fit(X_train, y_train)# 预测
y_pred = best_model.predict(X_test)
y_pred = [round(i) for i in y_pred]  # 将概率转换为类别# 评估模型
print('Accuracy: %.4f' % accuracy_score(y_test, y_pred))

5. 交叉验证优化

# 设置参数范围
param_dist = {'boosting_type': ['gbdt', 'dart'],  # 提升类型  梯度提升决策树(gbdt)和Dropouts meet Multiple Additive Regression Trees(dart)'objective': ['binary', 'multiclass'],  # 目标;二分类和多分类'num_leaves': range(20, 150),  # 叶子节点数量'learning_rate': [0.01, 0.05, 0.1],  # 学习率'feature_fraction': [0.6, 0.8, 1.0],  # 特征采样比例'bagging_fraction': [0.6, 0.8, 1.0],  # 数据采样比例'bagging_freq': range(0, 80),  # 数据采样频率'verbose': [-1]  # 是否显示训练过程中的详细信息,-1表示不显示
}from sklearn.model_selection import train_test_split, RandomizedSearchCV
# 初始化模型
model = lgb.LGBMClassifier()# 使用随机搜索进行参数调优
random_search = RandomizedSearchCV(estimator=model,param_distributions=param_dist, # 参数组合n_iter=100, cv=5, # 5折交叉验证verbose=2, random_state=42, n_jobs=-1)
# 模型训练
random_search.fit(X_train, y_train)

6. 输出最佳参数与评估

print("Best parameters found: ", random_search.best_params_)# 使用最佳参数训练模型
best_model = random_search.best_estimator_
best_model.fit(X_train, y_train)# 预测
y_pred = best_model.predict(X_test)
y_pred = [round(i) for i in y_pred]  # 将概率转换为类别# 评估模型
print('Accuracy: %.4f' % accuracy_score(y_test, y_pred))

7. 特征重要度可视化

import matplotlib.pyplot as plt
import seaborn as sns# 设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 获取特征重要度
feature_importance = best_model.feature_importances_
feature_names = X.columns# 创建特征重要度 DataFrame
importance_df = pd.DataFrame({'Feature': feature_names,'Importance': feature_importance
})# 按重要度排序
importance_df = importance_df.sort_values(by='Importance', ascending=False)# 绘制特征重要度
plt.figure(figsize=(10, 6))
sns.barplot(x='Importance', y='Feature', data=importance_df)
plt.title('特征重要度分析')
plt.xlabel('重要度')
plt.ylabel('特征')
plt.show()

四、分析结论与业务洞见

关键发现

  1. 应用使用时间:用户在移动应用上的花费时间是区分不同行为类别的关键指标。
  2. 屏幕开启时间:屏幕开启时间越长,通常对应更活跃的用户行为。
  3. 安装应用数量:设备上安装的应用数量反映了用户的多样化使用习惯。

业务建议

  1. 个性化服务:根据用户行为类别提供个性化应用推荐。
  2. 产品优化:关注高活跃用户的使用痛点,优化产品体验。
  3. 精准营销:针对不同行为类别的用户制定差异化的营销策略。

五、优化方向与思考

模型优化

  1. 超参数调优:使用网格搜索或贝叶斯优化进一步调整模型参数。
  2. 特征工程:尝试构建更多有意义的特征组合,如应用使用时间和数据耗用量的比值。

  通过基于 LightGBM 的用户行为分类模型,可以有效识别不同用户群体的使用模式,为业务决策提供有力支持。希望本文的代码和分析能为您的项目提供有价值的参考!

六、完整代码

import pandas as pd
import numpy as np
import lightgbm as lgb
from sklearn.model_selection import train_test_split, StratifiedKFold
from sklearn.metrics import classification_report, accuracy_score# 加载数据
data = pd.read_csv("user_behavior_dataset.csv")# 处理分类变量
categorical_columns = ['Device Model','Operating System','Gender']
data = pd.get_dummies(data, columns=categorical_columns)
# 划分特征与标签
X = data.drop(['User Behavior Class','User ID'], axis=1)
y = data['User Behavior Class']# 分层抽样拆分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, stratify=y,  random_state=42
)# 创建 LightGBM 数据集
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_test, label=y_test)# 设置模型参数
model = lgb.LGBMClassifier()
model.fit(X_train, y_train)# 设置参数范围
param_dist = {'boosting_type': ['gbdt', 'dart'],  # 提升类型  梯度提升决策树(gbdt)和Dropouts meet Multiple Additive Regression Trees(dart)'objective': ['binary', 'multiclass'],  # 目标;二分类和多分类'num_leaves': range(20, 150),  # 叶子节点数量'learning_rate': [0.01, 0.05, 0.1],  # 学习率'feature_fraction': [0.6, 0.8, 1.0],  # 特征采样比例'bagging_fraction': [0.6, 0.8, 1.0],  # 数据采样比例'bagging_freq': range(0, 80),  # 数据采样频率'verbose': [-1]  # 是否显示训练过程中的详细信息,-1表示不显示
}from sklearn.model_selection import train_test_split, RandomizedSearchCV
# 初始化模型
model = lgb.LGBMClassifier()# 使用随机搜索进行参数调优
random_search = RandomizedSearchCV(estimator=model,param_distributions=param_dist, # 参数组合n_iter=100, cv=5, # 5折交叉验证verbose=2, random_state=42, n_jobs=-1)
# 模型训练
random_search.fit(X_train, y_train)print("Best parameters found: ", random_search.best_params_)# 使用最佳参数训练模型
best_model = random_search.best_estimator_
best_model.fit(X_train, y_train)# 预测
y_pred = best_model.predict(X_test)
y_pred = [round(i) for i in y_pred]  # 将概率转换为类别# 评估模型
print('Accuracy: %.4f' % accuracy_score(y_test, y_pred))import matplotlib.pyplot as plt
import seaborn as sns# 设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 获取特征重要度
feature_importance = best_model.feature_importances_
feature_names = X.columns# 创建特征重要度 DataFrame
importance_df = pd.DataFrame({'Feature': feature_names,'Importance': feature_importance
})# 按重要度排序
importance_df = importance_df.sort_values(by='Importance', ascending=False)# 绘制特征重要度
plt.figure(figsize=(10, 6))
sns.barplot(x='Importance', y='Feature', data=importance_df)
plt.title('特征重要度分析')
plt.xlabel('重要度')
plt.ylabel('特征')
plt.show()

相关文章:

【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

多路转接poll服务器

目录 函数原型 poll服务器 对比select的优点 关于select的详解&#xff0c;可查看多路转接select服务器-CSDN博客 函数原型 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll作为多路转接的实现方案&#xff0c;与select要解决的问…...

全本地化智能数字人

&#x1f31f;EdgePersona- 全本地化智能数字人 ​完全离线 | 隐私无忧 | 轻量高效 |笔记本友好 测试效果&#xff1a;【纯本地部署的电子魅魔&#xff01;笔记本也能离线&#xff0c;隐私性拉满】 https://www.bilibili.com/video/BV1jydeYTETD/?share_sourcecopy_web&v…...

第6次课 贪心算法 A

向日葵朝着太阳转动&#xff0c;时刻追求自身成长的最大可能。 贪心策略在一轮轮的简单选择中&#xff0c;逐步导向最佳答案。 课堂学习 引入 贪心算法&#xff08;英语&#xff1a;greedy algorithm&#xff09;&#xff0c;是用计算机来模拟一个「贪心」的人做出决策的过程…...

Docker 部署 PostgreSQL 数据库

Docker 部署 PostgreSQL 数据库 基于 Docker 部署 PostgreSQL 数据库一、拉取 PostgreSQL 镜像二、运行 PostgreSQL 容器三、运行命令参数详解四、查看容器运行状态 基于 Docker 部署 PostgreSQL 数据库 一、拉取 PostgreSQL 镜像 首先&#xff0c;确保你的 Docker 环境已正确…...

Android如何通过aspectj打造一个无侵入式动态权限申请框架

目录 一,背景 二,通过Aspectj管理所有的注解 三,配置注解 四,通过空白Activity完成真正的权限申请 五,引入依赖配置 一,背景 在Activity或者fragment中&#xff0c;写在几个方法写一些注释&#xff0c;用来表示权限申请成功&#xff0c;申请失败&#xff0c;多次拒绝。…...

Flink介绍——实时计算核心论文之Dataflow论文详解

引入 在过去的几篇文章里&#xff0c;我们看到了大数据的流式处理系统是如何一步一步进化的。从最早出现的S4&#xff0c;到能够做到“至少一次”处理的Storm&#xff0c;最后是能够做到“正好一次”数据处理的MillWheel。我们会发现&#xff0c;这些流式处理框架&#xff0c;…...

浅克隆(--depth 1)后如何获取完整的历史记录

如果远程remote为origin&#xff0c;则origin可以不写&#xff0c;如不是&#xff0c;则必须要写 获取全部分支 git fetch origin refs/heads/*:refs/remotes/origin/* 单独获取master分支 git fetch origin refs/heads/master:refs/remotes/origin/master 获取全部历史…...

安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型

案例介绍 在全球制造业加速数字化的背景下&#xff0c;工厂的生产管理与设备维护效率愈发重要。 某知名日系汽车制造厂当前面临着设备的实时监控、故障维护&#xff0c;以及跨地域的管理协作等挑战&#xff0c;由于场地分散和突发状况的不可预知性&#xff0c;传统方式已无法…...

Feign 深度解析:Java 声明式 HTTP 客户端的终极指南

Feign 深度解析&#xff1a;Java 声明式 HTTP 客户端的终极指南 Feign 是由 Netflix 开源的 ​声明式 HTTP 客户端&#xff0c;后成为 Spring Cloud 生态的核心组件&#xff08;现由 OpenFeign 维护&#xff09;。它通过注解和接口定义简化了服务间 RESTful 通信&#xff0c;并…...

WPS Office安卓版云文档同步速度与PDF转换体验测评

WPS Office安卓版是很多人常用的移动办公软件。它支持在线编辑、文档同步、格式转换等功能&#xff0c;适合手机和平板用户随时处理文档。我们用它配合谷歌浏览器打开网页文档时&#xff0c;也可以将内容快速保存到云端或转换成PDF格式使用。 先说云文档同步。在打开WPS Office…...

ARM汇编的LDM和STM指令

批量加载/存储指令可以实现在一组寄存器和一块连续的内存单元之间传输数据.LDM 为加载多个寄存器&#xff0c;STM 为存储多个寄存器.允许一条指令传送 16 个寄存器的任何子集或所有寄存器.指令格式如下: LDM{cond}<模式> Rn{!},reglist{^} STM{cond}<模式> Rn{!}…...

Python-27:游戏英雄升级潜力评估

问题描述 小U在一款挂机游戏中拥有n个英雄。游戏中有一种历练升级机制&#xff0c;每天可以选择两个英雄进行历练&#xff0c;如果两位英雄的等级相同&#xff0c;则他们的等级都不会改变。如果英雄等级不同&#xff0c;那么等级较高的英雄会增加1级&#xff0c;而等级较低的英…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之显示勾选的购物车数据和创建订单

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f680;1.显示勾选的购物…...

AWS Lambda 架构深入探究

AWS Lambda 是现代云架构中最受欢迎的服务之一&#xff0c;因其能够在完全托管的无服务器环境中运行代码而广受认可。然而&#xff0c;尽管 Lambda 广受欢迎&#xff0c;许多开发者和架构师对它的底层运作机制却知之甚少&#xff0c;常常将其视为“编写能够在云端神奇运行的代码…...

信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路

信奥赛CSP-J复赛集训&#xff08;DP专题&#xff09;&#xff08;19&#xff09;&#xff1a;P3399 丝绸之路 题目背景 张骞于公元前 138 年曾历尽艰险出使过西域。加强了汉朝与西域各国的友好往来。从那以后&#xff0c;一队队骆驼商队在这漫长的商贸大道上行进&#xff0c;他…...

网络NAT类型测试

免费收录PCDN、GPU算力网站_算力收录站需要专业的PCDN、GPU算力网站收录服务吗&#xff1f;算力收录站为您提供高效、可信赖的收录服务&#xff0c;提升您的网站能见度。https://www.cdngpu.com/ 什么是 NAT&#xff1a;NAT代表网络地址转换&#xff0c;允许多个内网设备共享一…...

Postman下载安装与使用汉化版教程

简介&#xff1a; Postman 是一款常用的 API 测试工具&#xff0c;可以方便地进行接口测试、调试和文档编写。本文将详细介绍如何下载安装 Postman 并汉化&#xff0c;包括每个步骤的详细说明。 Postman 是一款常用的 API 测试工具&#xff0c;可以方便地进行接口测试、调试和…...

使用Python+OpenCV对视频抽帧保存为JPG图像

使用PythonOpenCV对视频抽帧保存为JPG图像 import os import cv2 import time#视频文件夹路径&#xff0c;可修改 videoPath D:\\video\\ #保存的图片文件夹路径&#xff0c;可修改 savePath D:\\images\\ videolist os.listdir(videoPath) if not os.path.exists(savePath…...

Java的反射机制(曼波超易懂图文版)

(✪▽✪)曼波~~~~&#xff01;好的呀~让曼波用最可爱的姿势为你讲解Java反射机制吧&#xff01; &#x1f31f;反射机制核心概念 曼波觉得反射就像编程世界的"魔法镜"(◕ᴗ◕✿) 可以让我们在运行时动态获取类的信息并操作类对象&#xff01; // 举个栗子&#…...

【DeepSeek 学习推理】Llumnix: Dynamic Scheduling for Large Language Model Serving实验部分

6.1 实验设置 测试平台。我们使用阿里云上的16-GPU集群&#xff08;包含4个GPU虚拟机&#xff0c;类型为ecs.gn7i-c32g1.32xlarge&#xff09;。每台虚拟机配备4个NVIDIA A10&#xff08;24 GB&#xff09;GPU&#xff08;通过PCI-e 4.0连接&#xff09;、128个vCPU、752 GB内…...

运行neo4j.bat console 报错无法识别为脚本,PowerShell 教程:查看语言模式并通过注册表修改受限模式

无法将“D:\neo4j-community-4.4.38-windows\bin\Neo4j-Management\Get-Args.ps1”项识别为cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 前提配置好环境变量之后依然报上面的错…...

AI写代码之GO+Python写个爬虫系统

下面我们我们来利用AI&#xff0c;来用GOPython写个爬虫系统。 帮我写一个Python语言爬取数据写入Mysql的案例&#xff0c;信息如下&#xff1a; 1、Mysql数据库地址是&#xff1a;192.168.1.20 &#xff0c;mysql用户名是&#xff1a;root&#xff0c; Mysql密码是&#xff1…...

【FAQ】如何配置PCoIP零客户端AWI能访问

应用场景 在安全性要求较高的环境中&#xff0c;禁用 AWI 并使用 PCoIP 管理控制台配置端点&#xff0c;建议隐藏 OSD 以提高安全性。 通过OSD和AWI: 阻止 PCoIP 管理工具管理 PCoIP 零客户端。禁用对 Tera2 PCoIP Zero Client 的 AWI 的管理访问。下次访问 AWI 或 OSD 时强…...

RAGFlow:构建高效检索增强生成流程的技术解析

引言 在当今信息爆炸的时代&#xff0c;如何从海量数据中快速准确地获取所需信息并生成高质量内容已成为人工智能领域的重要挑战。检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术应运而生&#xff0c;它将信息检索与大型语言模型&#xff08;L…...

go语言中defer使用指南

目录 1.使用场景 2.执行顺序 3.for循环中的defer及defer中的闭包陷阱 4.defer与返回值的关系 5.总结 1.使用场景 在编程的时候&#xff0c;经常需要打开一些资源&#xff0c;比如数据库连接、文件、锁等&#xff0c;这些资源需要在用完之后释放掉&#xff0c;否则会造成内…...

成熟软件项目解决方案:360°全景影像显控软件系统

​若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/147425300 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、Open…...

域名解析体系中 IPv4/IPv6 地址切换的关键技术剖析

前言&#xff1a; 对接的一家学校业务&#xff0c;学校老师要求域名解析既能解析到ipv4地址又能解析到ipv6地址。听学校老师叙述&#xff08;还是会考察v6开通率的&#xff09;&#xff0c;所以通过这个方法来实现的&#xff0c;域名解析到ipv6和ipv4都可以。 准备一台机器 机…...

PHP 爬虫如何获取 1688 商品详情(代码示例)

在电商领域&#xff0c;获取 1688 商品的详细信息对于市场分析、选品上架、库存管理和价格策略制定等方面至关重要。1688 作为国内领先的 B2B 电商平台&#xff0c;提供了丰富的商品数据。通过 PHP 爬虫技术&#xff0c;我们可以高效地获取 1688 商品的详细信息&#xff0c;包括…...

Mysql的redolog

保证事务持久性&#xff0c;用于崩溃恢复&#xff0c;崩溃恢复时&#xff0c;把redo上记载的页读到内存&#xff0c;对其修改&#xff0c;变为脏页&#xff0c;刷盘运用于WAL技术&#xff0c;将随机写改为顺序写 redo log有三种状态&#xff1a; 存在 redo log buffer 中&…...

C++ 哈希表

1. 哈希表的概念 在vector、list的顺序结构中&#xff0c;查找效率为 O ( N ) O(N) O(N)&#xff0c;在set、map的树型结构中&#xff0c;查找效率为 O ( l o g 2 N ) O(log_2{N}) O(log2​N)&#xff0c;有没有更优的结构 —— 哈希表 如果让数据按照某种规则映射到某个值&a…...

【pytorch学习】土堆pytorch笔记1

学习参考 仓库 https://github.com/xiaotudui/pytorch-tutorialhttps://github.com/xiaotudui/pytorch-tutorial https://github.com/AccumulateMore/CV 参考博客 https://blog.csdn.net/weixin_44216612/article/details/124203730? https://www.morinha.cc/posts/cours…...

使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧

使用PythonOpenCV将多级嵌套文件夹下的视频文件抽帧 import os import cv2 import time# 存放视频文件的多层嵌套文件夹路径 videoPath D:\\videos\\ # 保存抽帧的图片的文件夹路径 savePath D:\\images\\if not os.path.exists(savePath):os.mkdir(savePath) video_num 0f…...

ASP.Net Web Api如何更改URL

1.找到appsettings.json 修改如下&#xff1a; 主要为urls的修改填本机私有地址即可 {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": &q…...

毕业论文设计基本内容和要求:

毕业设计基本内容和要求&#xff1a; 研究内容 调查了解LAMP架构和PHP开发&#xff1b; 学习百度旅游调用的其他产品线服务并熟悉请求接口&#xff1b; 学习社区业务层规范&#xff1b; 设计并实现旅游主要模块&#xff1b; 技术指标 熟悉企业中流程运转的方式&#xff0c;…...

XML内容解析成实体类

XML解析成实体类 解析方法实体类测试 说明&#xff1a;直接上干货&#xff0c;不废话 解析方法 public static List<PlatJuMinBaoXian> parse(String xmlString) {List<PlatJuMinBaoXian> result new ArrayList<>();try {// 创建 DocumentBuilderDocumentB…...

推公式——耍杂技的牛

由图可知&#xff0c;只要存在一个逆序&#xff0c;把他们交换一下&#xff0c;最大风险值就会降低&#xff0c;答案更优&#xff0c;因此最优解是按照wisi从小到大升序排列&#xff0c;顺次计算每头牛的危险系数&#xff0c;最大值即是答案。 #include <iostream> #inc…...

Vue指令详解:从入门到精通

前言 Vue.js作为当下最流行的前端框架之一&#xff0c;其指令系统是Vue最核心的特性之一。指令是Vue模板中带有v-前缀的特殊属性&#xff0c;它们为HTML元素添加了特殊的响应式行为。本文将全面介绍Vue的各种指令及其用法。 一、Vue指令概述 Vue指令是带有v-前缀的特殊属性&…...

准确--CentOS 7 配置 Chrony 同步阿里云 NTP 时间服务器及手动同步指南

本文档介绍如何在 CentOS 7 系统上配置 chrony 服务&#xff0c;使其与阿里云 NTP 时间服务器保持时间同步&#xff0c;并说明如何在需要时手动触发一次立即同步。 前提条件: 拥有一台 CentOS 7 服务器。拥有 root 权限或可以使用 sudo 命令。服务器可以访问互联网 (使用公共…...

CLIP | 训练过程中图像特征和文本特征的在嵌入空间中的对齐(两个投影矩阵的学习)

在多模态学习&#xff08;Multimodal Learning&#xff09;中&#xff0c;投影矩阵 W i W_i Wi​ 和 W t W_t Wt​ 是通过训练过程学习得到的。它们的作用是将图像特征 I f I_f If​ 和文本特征 T f T_f Tf​ 映射到一个共享的嵌入空间&#xff08;embedding space&#xf…...

Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类

在 Spring 框架中,配置 Bean 的方式主要有两种:XML 配置 和 Java 配置类。这两种方式都可以实现将对象注册到 Spring 容器中,并通过依赖注入进行管理。本文将详细介绍这两种配置方式的步骤,并提供相应的代码示例。 1. 使用 XML 配置的方式 步骤 创建 Spring 配置文件 创建…...

STM32 外部中断

引言&#xff1a;嵌入式系统中的中断革命 在嵌入式系统开发领域&#xff0c;中断机制堪称现代微控制器的"神经系统"。它通过高效的异步事件处理机制&#xff0c;彻底改变了传统轮询式系统资源利用率低下的局面。STM32作为业界领先的ARM Cortex-M系列微控制器&#x…...

4.22学习总结

开始写有关图的算法 图的一些基本概念&#xff0c;图的存储主要以 邻接矩阵&#xff0c;邻接表&#xff08;数组链表的实现方式&#xff09;的方式存储 邻接矩阵的优点&#xff1a; 表达方式简单&#xff0c;易于理解检查任意两个顶点间是否存在边的操作非常快适合稠密图&a…...

list底层原理

一.结构体的构建 这个用结构体更好&#xff0c;因为我们需要不断的访问节点&#xff0c;类中的成员函数一般都是私有的&#xff0c;需要还用友元函数什么的。 这个是我们来实现的类&#xff0c;我们实现的是双向带头循环链表&#xff0c;这个是实用性最高的一个链表的形式。 这…...

python+selenium+pytest自动化测试chrome driver版本下载

chrome浏览器chromedriver版本下载地址 https://googlechromelabs.github.io/chrome-for-testing/#stable...

发布一个npm包,更新包,删除包

发布一个npm包&#xff0c;更新包&#xff0c;删除包 如何将自己的项目 发布为一个 npm 包&#xff0c;并掌握 更新 和 删除 的操作流程。 &#x1f680; 一、发布一个 npm 包的完整流程 ✅ 1. 注册并登录 npm 账号 如果还没有账号&#xff0c;先注册&#xff1a; 官网注册&…...

代码随想录训练营38天 || 322. 零钱兑换 279. 完全平方数 139. 单词拆分

322. 零钱兑换 思路&#xff1a; 动规5部曲&#xff1a; 1.确定dp数组以及下标的含义&#xff1a; dp数组表示能凑出零钱的最少硬币数&#xff0c;下标表示要兑换的零钱 2.确定递推公式&#xff1a; j为背包容量&#xff0c;i为物品的下标 dp[ j ] min(dp[ j -coins[ i…...

(最新)华为 2026 届校招实习-硬件技术工程师-硬件通用/单板开发—机试题—(共14套)(每套四十题)

&#xff08;最新&#xff09;华为 2026 届校招实习-硬件技术工程师-硬件通用/单板开发—机试题—&#xff08;共14套&#xff09;&#xff08;每套四十题&#xff09; 本套题目为硬件通用题目&#xff0c;适合多个岗位方向&#xff0c;如下 **岗位——硬件技术工程师 岗位意向…...

IOT项目——DIY Weather Station With ESP32

开源项目&#xff1a;ESP32 气象站 作者&#xff1a;GiovanniAggiustatutto 原文链接&#xff1a; ESP32 气象站 温度设备塔风向标风速计雨量计框架电子元件和压力传感器家庭助理配置及应用 气象站测量温度、湿度、气压、风速和风向以及降雨量。所有数据均由 ESP32收集&#xf…...

表格识别版面还原分析-GO语言集成-表格文字识别接口

数据驱动的时代&#xff0c;高效处理和分析各类文档中的信息变得尤为重要。无论是金融服务中的报表分析&#xff0c;制造与物流行业的库存管理&#xff0c;还是医疗卫生领域的病历记录&#xff0c;快速准确地将纸质或电子表格中的数据转换为可编辑、保存的电子数据成为提升工作…...