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

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略

完整代码请私聊 博主

一、 背景

近年来,随着互联网与通信技术的高速发展,学习资源的建设与共享呈现出新的发展趋势,各种网课、慕课、直播课等层出不穷,各种在线教育平台和学习应用纷纷涌现。尤其是 2020 年春季学期,受新冠疫情影响,在教育部“停课不停学”的要求下,网络平台成为“互联网+教育”成果的重要展示阵地。因此,如何根据教育平台的线上用户信息和学习信息,通过数据分析为教育平台和用户提供精准的课程推荐服务就成为线上教育的热点问题。
本赛题提供了某教育平台近两年的运营数据,希望参赛者根据这些数据,为平台制定综合的线上课程推荐策略,以便更好地服务线上用户。

二、 目标

  1. 分析平台用户的活跃情况,计算用户的流失率。
  2. 分析线上课程的受欢迎程度,构建课程智能推荐模型,为教育平台的线上
    推荐服务提供策略。

三、 任务

附件是某教育平台 2018 年 9 月至 2020 年 6 月的线上课程运营数据,请根据附件数据,自行选择分析工具完成以下任务,并撰写报告(报告的要求详见: 四、竞赛成果提交说明)。如使用“TipDM 大数据挖掘建模平台”实现,使用方式详见附录二。

任务 1 数据预处理

任务 1.1

对照附录 1,理解各字段的含义,进行缺失值、重复值等方面的必要处理,将处理结果保存为“task1_1_X.csv”(如果包含多张数据表,X 可从 1 开始往后编号),并在报告中描述处理过程。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 读取数据
data_login = pd.read_csv('../../login.csv', encoding='gbk')
data_login
data_study_information = pd.read_csv('../../study_information.csv', encoding='gbk')
data_study_information
data_users = pd.read_csv('../../users.csv', encoding='gbk')
data_users
# 任务1.1 login处理
data_users = data_users.drop('school', axis=1)
data_users = data_users.dropna()
data_users = data_users[data_users['user_id'].duplicated() == False]
data_users.to_csv('../../result/task1_1_X.csv', encoding='gbk', index=None)
# 任务1.1 study_information处理
data_study_information['price'] = data_study_information['price'].fillna(0)
data_study_information.to_csv('../../result/task1_1_X1.csv')
data_users
user_id	register_time	recently_logged	number_of_classes_join	number_of_classes_out	learn_time
0	用户44251	2020/6/18 9:49	2020/6/18 9:49	0	0	41.25
1	用户44250	2020/6/18 9:47	2020/6/18 9:48	0	0	0
2	用户44249	2020/6/18 9:43	2020/6/18 9:43	0	0	16.22
3	用户44248	2020/6/18 9:09	2020/6/18 9:09	0	0	0
4	用户44247	2020/6/18 7:41	2020/6/18 8:15	0	0	1.8
...	...	...	...	...	...	...
43978	用户6	2018/9/11 16:13	2018/9/11 16:14	0	0	0
43979	用户5	2018/9/10 15:48	2020/6/15 17:13	9	5	2,116.15
43980	用户4	2018/9/10 14:15	2020/6/5 9:50	4	0	341.2
43981	用户3	2018/9/4 13:32	2020/6/18 9:18	2	1	370.35
43982	用户1	2018/9/3 10:00	2018/11/4 11:20	0	0	0
43908 rows × 6 columns
data_study_information
	user_id	course_id	course_join_time	learn_process	price
0	用户3	课程106	2020-04-21 10:11:50	width: 0%;	0.0
1	用户3	课程136	2020-03-05 11:44:36	width: 1%;	0.0
2	用户3	课程205	2018-09-10 18:17:01	width: 63%;	0.0
3	用户4	课程26	2020-03-31 10:52:51	width: 0%;	319.0
4	用户4	课程34	2020-03-31 10:52:49	width: 0%;	299.0
...	...	...	...	...	...
194969	用户44245	课程76	2020-06-17 22:16:56	width: 0%;	0.0
194970	用户44246	课程76	2020-06-17 22:36:41	width: 4%;	0.0
194971	用户44247	课程19	2020-06-18 07:54:07	width: 100%;	499.0
194972	用户44247	课程32	2020-06-18 07:41:38	width: 0%;	499.0
194973	用户44247	课程76	2020-06-18 08:15:52	width: 4%;	0.0
194974 rows × 5 columns

任务 1.2

对用户信息表中 recently_logged 字段的“–”值进行必要的处理,将处理结果保存为“task1_2.csv”,并在报告中描述处理过程。

# 任务1.2def def1_2(table, row, clounm):dict1_2 = {}def sel(x):if x in data_null:return Trueelse:return Falsedata_null = data_users[data_users['recently_logged'] == '--']['user_id']data_null = list(data_null)table_select = table[table['user_id'].map(sel)]for i in table_select.groupby('user_id'):dict1_2[i[0]] = i[1].iloc[row][clounm]for i in dict1_2:data_users.loc[data_users['user_id'] == i, 'recently_logged'] = dict1_2[i]# print(dict1_2)def1_2(data_login, -1, 1)
def1_2(data_study_information, 0, 2)data_users_ = data_users[data_users['recently_logged'] != '--']
data_users_.to_csv('../../result/task1_2.csv', encoding='gbk')
data_users_
	user_id	register_time	recently_logged	number_of_classes_join	number_of_classes_out	learn_time
0	用户44251	2020/6/18 9:49	2020/6/18 9:49	0	0	41.25
1	用户44250	2020/6/18 9:47	2020/6/18 9:48	0	0	0
2	用户44249	2020/6/18 9:43	2020/6/18 9:43	0	0	16.22
3	用户44248	2020/6/18 9:09	2020/6/18 9:09	0	0	0
4	用户44247	2020/6/18 7:41	2020/6/18 8:15	0	0	1.8
...	...	...	...	...	...	...
43978	用户6	2018/9/11 16:13	2018/9/11 16:14	0	0	0
43979	用户5	2018/9/10 15:48	2020/6/15 17:13	9	5	2,116.15
43980	用户4	2018/9/10 14:15	2020/6/5 9:50	4	0	341.2
43981	用户3	2018/9/4 13:32	2020/6/18 9:18	2	1	370.35
43982	用户1	2018/9/3 10:00	2018/11/4 11:20	0	0	0
43732 rows × 6 columns
​

任务 2 平台用户活跃度分析

任务 2.1

分别绘制各省份与各城市平台登录次数热力地图,并分析用户分布情况。

在这里插入图片描述

在这里插入图片描述

df2=df2.sort_values(by='数量',ascending=False)
df2=df2.head()
df2.to_csv('任务2.1主要省份表格.csv')df4=df4.sort_values(by='数量',ascending=False)
df4=df4.iloc[:,1:3].head()
df4.to_csv('任务2.1主要城市表格.csv')

任务 2.2

分别绘制工作日与非工作日各时段的用户登录次数柱状图,并分析用户活跃的主要时间段。

非工作日的用户登录次数: [1538, 628, 323, 148, 96, 118, 297, 1131, 3854, 6422, 7555, 6592, 5506, 6100, 7198, 7663, 7162, 6250, 5470, 7245, 8138, 7448, 6019, 3781]
工作日的用户登录次数: [3520, 1315, 612, 350, 215, 242, 786, 3734, 13963, 20203, 23028, 17284, 13662, 17104, 21117, 21165, 19934, 15860, 14446, 17668, 17535, 16278, 12654, 7787]

在这里插入图片描述

任务 2.3

记𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒为数据观察窗口截止时间(如:赛题数据的采集截止时间为2020 年 6 月 18 日),𝑇𝑇𝑖𝑖为用户 i 的最近访问时间,𝜎𝜎𝑖𝑖 = 𝑇𝑇𝑒𝑒𝑒𝑒𝑒𝑒 − 𝑇𝑇𝑖𝑖,若𝜎𝜎𝑖𝑖 > 90天,则称用户 i 为流失用户。根据该定义计算平台用户的流失率。

# 计算流失用户的数量与总用户数量的比例,得到流失率
churn_rate = churned_users['user_id'].nunique() / task['user_id'].nunique()# 输出流失率
print(f"流失率: {churn_rate}")
流失率: 0.577746272752218

任务 2.4

根据任务 2.1 至任务 2.3,分析平台用户的活跃度,为该教育平台的线上管理决策提供建议。

建议 1: 在工作日的高峰时段增加课程发布和推广活动。
建议 2: 实施用户挽留策略,如发送优惠券或免费课程体验。

任务 3 线上课程推荐

任务 3.1

根据用户参与学习的记录,统计每门课程的参与人数,计算每门课程的受欢迎程度,列出最受欢迎的前 10 门课程,并绘制相应的柱状图。受欢迎程度定义如下:𝛾𝛾𝑖𝑖 = 𝑄𝑄𝑖𝑖 − 𝑄𝑄min/𝑄𝑄max− 𝑄𝑄min其中,𝛾𝛾𝑖𝑖为第 i 门课程的受欢迎程度,𝑄𝑄𝑖𝑖为参与第 i 门课程学习的人数,𝑄𝑄max和𝑄𝑄min分别为所有课程中参与人数最多和最少的课程所对应的人数。

在这里插入图片描述

任务 3.2

根据用户选择课程情况,构建用户和课程的关系表(二元矩阵),使用基于物品的协同过滤算法计算课程之间的相似度,并结合用户已选课程的记录,为总学习进度最高的 5 名用户推荐 3 门课程。

	用户	推荐课程
0	用户18436	(课程40, 课程152, 课程236)
1	用户4	(课程29, 课程133, 课程60)
2	用户24	(课程48, 课程104, 课程236)
3	用户33203	(课程66, 课程20, 课程65)
4	用户29672	(课程80, 课程20, 课程137)

任务 3.3

在任务 3.1 和任务 3.2 的基础上,结合用户学习进度数据,分析付费课程和免费课程的差异,给出线上课程的综合推荐策略。

用户18436 推荐课程: ['课程167', '课程101', '课程70']
用户4 推荐课程: ['课程165', '课程166', '课程167']
用户24 推荐课程: ['课程106', '课程70', '课程167']
用户33203 推荐课程: ['课程78', '课程78', '课程70']
用户29672 推荐课程: ['课程167', '课程52', '课程117']

四、 竞赛成果提交说明

  1. 登录方式
    请使用队员 1 的账号登录数睿思,进入第三届技能大赛页面。为保证成功提交,请使用谷歌浏览器无痕模式。
  2. 报告提交
    报告以 PDF 格式提交,文件名为“report.pdf”。要求逻辑清晰、条理分明,内容包括每个任务的完成思路、操作步骤、必要的中间过程、任务的结果及分析。针对各子任务,报告中应包含但不限于如下要点:
    (1) 任务 1.1 应包含每个表中缺失值和重复值的记录数以及有效数据的记录数。
    (2) 任务 1.2 应包含 recently_logged 字段的“–”值的记录数以及数据处理的方法。
    (3) 任务 2.1 应包含各省份与各城市的热力地图以及主要省份和主要城市的数据表格,并进行分析。
    (4) 任务 2.2 应包含工作日与非工作日各时段的柱状图,并进行分析。
    (5) 任务 2.3 应包含对流失率的定义,并给出流失率的结果。
    (6) 任务 2.4 应根据计算结果给出合理的建议。
    (7) 任务 3.1 应包含最受欢迎的前 10 门课程的参与人数、受欢迎程度及柱状图。
    (8) 任务 3.2 应包含相应推荐算法的描述,并给出总学习进度最高的 5 个用户的课程推荐数据。
    (9) 任务 3.3 应包含数据分析的方法、算法描述以及主要结果。
  3. 附件提交
    3.1 如使用编程实现,将任务 1、2、3 的源程序分别保存到“program1”,“program2”,“program3”文件夹,然后存放到“program”文件夹中;如使用TipDM 大数据挖掘建模平台实现,将使用平台建立的工程截图保存到“program”文件夹中。
    3.2 将任务 1、2、3 所产生的结果文件,分别保存到“result1”,“result2”,“result3”文件夹,然后存放到“result”文件夹中。
    3.3 将 “program” 、 “result” 及 报 告 的 word 版本打包成 文 档“appendix.zip”作为附件提交。
  4. 提交界面
    4.1 在依次上传完“竞赛承诺书”、“作品”、“附件”后,点击“提交”。
    4.2 待页面弹出“上传成功”对话框,点击“确定”,在相应位置可以看到“已上传 XXX”字样,表示相关文件提交成功。
    4.3 在比赛当天 20:00 竞赛成果截止提交之前,可多次上传相关文件,系统默认以最后上传的文件为准。
    附录 1 数据说明
    赛题附件包含三张数据表,分别为 users.csv ( 用 户 信 息 表 )、study_information.csv(学习详情表)和 login.csv(登录详情表),它们的数据说明分别如表 1、表 2 和表 3 所示。
    在这里插入图片描述
    附录二 TipDM 大数据挖掘建模平台使用说明
    TipDM 大数据挖掘建模平台(以下简称平台)是由广东泰迪智能科技股份有限公司提供的一个数据挖掘建模工具(官网:http://python.tipdm.org/)。基于该平台,参赛者可在没有编程基础的情况下,通过拖拽的方式进行操作,将数据输入输出、数据预处理、挖掘建模等环节通过流程化的方式进行连接,以达到数据分析挖掘的目的。
    竞赛专用平台访问网址(请使用谷歌浏览器无痕模式,该链接仅供竞赛期间使用,竞赛之后链接自动失效):eb.tipdm.org:10011
    竞赛专用平台访问账号:jn+队伍号(如队号为 2020200001,则平台访问账号为 jn2020200001)
    竞赛专用平台初始密码:Jn123456(为保证账户安全,请尽快修改密码。修改密码方式详见“修改平台登录密码.PDF”)
    赛题数据已通过公共数据集的方式,分享给所有参赛者,如图 1 所示,参赛者可以直接在公共数据集中查看并复制数据集到我的数据集中,然后在工程中配置“输入源”使用,无需上传数据

相关文章:

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略 完整代码请私聊 博主 一、 背景 近年来,随着互联网与通信技术的高速发展,学习资源的建设与共享呈现出新的发展趋势,各种网课、慕课、直播课等层出不穷&#xff0c…...

运维面试题

1 deployment和statefulset区别 Kubernetes (k8s) 中的 Deployment 和 StatefulSet 是两种不同类型的控制器,用于管理应用的生命周期,但它们适用于不同的应用场景。以下是它们在存储、调度顺序和网络分配方面的区别: 存储 Deployment: 适用…...

计算机网络之网络层超详细讲解

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络之网络层超详细讲解 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌 …...

Windows桌面系统管理2:VMware Workstation使用和管理

Windows桌面系统管理0:总目录-CSDN博客 Windows桌面系统管理1:计算机硬件组成及组装-CSDN博客 Windows桌面系统管理2:VMware Workstation使用和管理 Windows桌面系统管理3:Windows 10操作系统部署与使用-CSDN博客 Windows桌面系统管理4:Windows 10操作系统运维管理-…...

深入理解 CSS 文本换行: overflow-wrap 和 word-break

前言 正常情况下,在固定宽度的盒子中的中文会自动换行。但是,当遇到非常长的英文单词或者很长的 URL 时,文本可能就不会自动换行,而会溢出所在容器。幸运的是,CSS 为我们提供了一些和文本换行相关的属性;今…...

【Linux】Ubuntu:安装系统后配置

hostname:更改主机名 打开终端。 使用hostnamectl命令更改主机名。 sudo hostnamectl set-hostname 新的主机名你可以使用hostnamectl 命令来验证更改是否成功: hostnamectlChrome:更换默认浏览器 以下是从 Ubuntu 中移除预装的 Snap 版 Fi…...

我们来学mysql -- MSI安装(安装篇)

主题 书接上文,在《探讨win安装方式》中官方推荐MSI要是把大厂的标准奉为圭臬,说啥认啥,他一翻脸,小丑不就是咱了再说了,都干到家门口了8.4版本官方文档,还不给他梭罗下 MSI 点击**.msi弹出MySQL Install…...

MySQL其一,概念学习,可视化软件安装以及增删改查语句

目录 MySQL 1、数据库的概念 2、数据库分类 3、MySQL的安装 4、安装过程中的问题 DataGrip的使用: SQLynx的使用: 5、编写SQL语句 6、DDL语句 7、DML 新增数据: 删除数据: 修改数据: MySQL SQL其实是一门…...

SpringCloud 题库

这篇文章是关于 SpringCloud 面试题的汇总,包括微服务的概念、SpringCloud 的组成及相关技术,如服务注册与发现、负载均衡、容错等,还涉及 Nacos 配置中心、服务注册表结构等原理,以及微服务架构中的日志采集、服务网关、相关概念…...

【ETCD】[源码阅读]深度解析 EtcdServer 的 processInternalRaftRequestOnce 方法

在分布式系统中,etcd 的一致性与高效性得益于其强大的 Raft 协议模块。而 processInternalRaftRequestOnce 是 etcd 服务器处理内部 Raft 请求的核心方法之一。本文将从源码角度解析这个方法的逻辑流程,帮助读者更好地理解 etcd 的内部实现。 方法源码 …...

数据分析与机器学习全解析

一、数据分析基础要点 (一)数据收集 确定数据源:明确是内部数据库、外部公开数据、传感器采集还是用户调研等来源,不同来源数据质量与获取难度各异。例如内部销售数据可直接获取,而市场调研数据需设计问卷并投入人力收…...

Qt 一个简单的QChart 绘图

Qt 一个简单的QChart 绘图 先上程序运行结果图&#xff1a; “sample9_1QChart.h” 文件代码如下&#xff1a; #pragma once#include <QtWidgets/QMainWindow> #include "ui_sample9_1QChart.h"#include <QtCharts> //必须这么设置 QT_CHARTS_USE_NAME…...

力扣——322. 零钱兑换

给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

Qt之网络监测

在Qt中&#xff0c;网络监测通常涉及到检测网络连接状态、网络延迟、带宽使用情况等。Qt提供了一些类和模块来帮助开发者实现这些功能。以下是一些常用的方法和类&#xff1a; 1. 检测网络连接状态 QtNetwork模块中的QNetworkConfigurationManager类可以用来检测设备的网络连…...

抓包软件fiddler和wireshark使用手册

fiddler官方文档 Fiddler 抓包教程1 Fiddler 抓包教程2 wireshark抓包学习 2添加链接描述 ip 过滤 ip.src_host ip.dst_host ip.addr mac 过滤 eth.src eth.dst eth.addr 端口过滤 tcp.port tcp.srcport tcp.dstport 协议类型过滤 arp dhcp 规则组合 and or...

【从零开始入门unity游戏开发之——C#篇03】变量和常量

文章目录 一、变量1、什么是变量&#xff1f;2、申明变量的固定写法3、变量的类型值和引用类型的区别无符号和有符号位——表示变量所占用的内存空间的大小范围——表示变量的取值范围取值范围和存储单位的关系为什么byte的范围是 0 到 255&#xff1f;为什么 sbyte 的范围是 -…...

SpringBoot 手动实现动态切换数据源 DynamicSource (上)

大家好&#xff0c;我是此林。 在实际开发中&#xff0c;经常可能遇到在一个SpringBoot Web应用中需要访问多个数据源的情况。 下面来介绍一下多数据源的使用场景、底层原理和手动实现。 一、 多数据源经典使用场景 场景一&#xff1a;业务复杂&#xff0c;数据量过大 1. 业务…...

ERROR Error: command failed: yarnError: command failed: yarn

1、异常信息 2、解决 解决方法一&#xff1a; WinR进入命令行&#xff0c;重新安装npm(如果报镜像源问题建议镜像源也重新配置) 输入命令&#xff0c;重新安装npm/yarn #npm npm install#npm 配置镜像源 npm config set registry https://registry.npmmirror.com#npm 查看镜…...

【java】finalize方法

目录 1. 说明2. 调用过程3. 注意事项 1. 说明 1.finalize方法是Java中Object类的一个方法。2.finalize方法用于在对象被垃圾回收之前执行一些清理工作。3.当JVM&#xff08;Java虚拟机&#xff09;确定一个对象不再被引用、即将被回收时&#xff0c;会调用该对象的finalize方法…...

C++ 内存管理和模板与STL

此篇目是之后各种C库的基础 目录 内存管理 内存分布 内存管理方式 new和delete operator new 与 operator delete函数 实现原理 定位new表达式(placement-new) 模板基础 泛型编程 模板 函数模板 类模板 STL 组成部分 内存管理 内存分布 int globalVar 1; //全局变量 静…...

同一个局域网下的两台电脑实现定时或者实时拷贝数据

【亲测能用】 需求&#xff1a;从数据库服务器上将数据库备份文件*.bak&#xff0c;每天定时拷贝到局域网下另一台电脑上&#xff0c;实现异机备份。 本文中192.168.1.110是本机&#xff0c;192.168.1.130是异机&#xff08;备份机&#xff09;。需求是每天定时从192.168.1.1…...

Python毕业设计选题:基于django+vue的汽车租赁管理网站

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 用户管理 汽车品牌管理 汽车信息管理 汽车租赁管理 汽车商品信息管理 汽车租赁 购物…...

scrapy对接rabbitmq的时候使用post请求

之前做分布式爬虫的时候,都是从push url来拿到爬虫消费的链接,这里提出一个问题,假如这个请求是post请求的呢,我观察了scrapy-redis的源码,其中spider.py的代码是这样写的 1.scrapy-redis源码分析 def make_request_from_data(self, data):"""Returns a Reques…...

Netty 性能优化与调试指南

Netty 是一款高性能的网络通信框架&#xff0c;其高性能得益于良好的设计和优化。但是在实际使用中&#xff0c;如果配置或实现不当&#xff0c;可能会导致性能下降或调试困难。本文将从性能优化和调试两方面入手&#xff0c;详细讲解如何在使用 Netty 时提高应用性能和诊断问题…...

网络安全产品之认识WEB应用防火墙

随着B/S架构的广泛应用&#xff0c;Web应用的功能越来越丰富&#xff0c;蕴含着越来越有价值的信息&#xff0c;应用程序漏洞被恶意利用的可能性越来越大&#xff0c;因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节&#xff0c;对规则的过滤过于死板&#…...

R学习——因子

目录 1 定义因子&#xff08;factor函数&#xff09; 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了&#xff0c;可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8&#xff1a; 1 定义因子&#xff08;factor函数&#xff09; 要…...

2024 亚马逊云科技re:Invent:Werner Vogels架构哲学,大道至简 六大经验助力架构优化

在2024亚马逊云科技re:Invent全球大会第四天的主题演讲中&#xff0c;亚马逊副总裁兼CTO Dr.Werner Vogels分享了 The Way of Simplexity&#xff0c;繁简之道&#xff0c;浓缩了Werner在亚马逊20年构建架构的经验。 Werner表示&#xff0c;复杂性总是会“悄无声息”地渗透进来…...

【代码随想录day58】【C++复健】 117. 软件构建(拓扑排序);47. 参加科学大会(dijkstra(朴素版)精讲)

117. 软件构建&#xff08;拓扑排序&#xff09; 继续边看解析边做题&#xff0c;思考时的问题做个如下的总结&#xff1a; 1. 存边用什么数据结构&#xff1f; 在题目中&#xff0c;我们需要存储节点之间的依赖关系&#xff08;边信息&#xff09;。选择适合的数据结构非常重…...

单目深度估计模型 lite-mono 测试

lite-mono 使用工业数据集kitti 进行训练&#xff0c;目的使用单目摄像头实现物体深度预测&#xff0c;关于kitti数据集的介绍和下载参考 &#xff08;二&#xff09;一文带你了解KITTI数据集-CSDN博客文章浏览阅读2.7w次&#xff0c;点赞64次&#xff0c;收藏294次。文章介绍…...

JAVA基础学习笔记_网络编程

文章目录 网络编程网络编程三要素IPIPv4细节InetAddress 端口号协议 UDPUDP协议(发数据)UDP协议(接受数据)UDP聊天室单播,组播,广播 TCP中文乱码问题代码细节,三次握手和四次挥手 网络编程 计算机之间通过网络进行数据传输 软件结构 C/S,Client/Server,客户端服务器,精美但麻…...

说下JVM中一次完整的GC流程?

大家好&#xff0c;我是锋哥。今天分享关于【说下JVM中一次完整的GC流程&#xff1f;】面试题。希望对大家有帮助&#xff1b; 说下JVM中一次完整的GC流程&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中&#xff0c;垃圾回收&#xff08;GC&am…...

鸿蒙NEXT开发案例:保质期计算

【引言】 保质期计算应用是一个基于鸿蒙NEXT框架开发的数字和文本统计组件。用户可以输入商品的生产日期和保质期天数&#xff0c;应用会自动计算并展示相关信息&#xff0c;包括保质状态、剩余天数、生产日期和到期日期。 【环境准备】 • 操作系统&#xff1a;Windows 10 …...

LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)

大模型并发加速部署 解析当前应用较广的几种并发加速部署方案&#xff01; llama.cpp、vllm、lightllm、fastllm四种框架的对比&#xff1a; llama.cpp&#xff1a;基于C&#xff0c;①请求槽&#xff0c;②动态批处理&#xff0c;③CPU/GPU混合推理vllm&#xff1a;基于Pyth…...

用最小的代价解决mybatis-plus关于批量保存的性能问题

1.问题说明 问题背景说明&#xff0c;在使用达梦数据库时&#xff0c;mybatis-plus的serviceImpl.saveBatch()方法或者updateBatchById()方法的时候&#xff0c;随着数据量、属性字段的增加&#xff0c;效率越发明显的慢。 serviceImpl.saveBatch(); serviceImpl.updateBatch…...

蓝桥杯历届真题 --#递推 翻硬币(C++)

文章目录 思路完整代码结语 原题链接 思路 通过观察测试用例&#xff0c;我们猜测&#xff0c;从左到右依次对比每一个位置上的状态&#xff0c;如果不一样我们就翻一次&#xff0c;最终得到的答案即为正解。 完整代码 //这里是引入了一些常用的头文件,和一些常规操作 //第一…...

BurpSuite-8(FakeIP与爬虫审计)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;IP伪造和爬虫审计_哔哩哔哩_bilibili 一、FakeIP 1.配置环境 BurpSuite是java环境下编写的&#xff0c;而今天的插件是python编写的&#xff0c…...

JAVA8、Steam、list运用合集

Steam运用 Java Stream API为开发人员提供了一种函数式和声明式的方式来表达复杂的数据转换和操作,使代码更加简洁和富有表现力。 1、使用原始流以获得更好的性能【示例:求和】 使用 int、long 和 double 等基本类型时,请使用IntStream、LongStream 和 DoubleStream 等基本流…...

深入详解人工智能机器学习:强化学习

目录 强化学习概述 强化学习的基本概念 定义 关键组件 强化学习过程 常用算法 应用示例 示例代码 代码解释 应用场景 强化学习核心概念和底层原理 核心概念 底层原理 总结 强化学习概述 强化学习&#xff08;Reinforcement Learning, RL&#xff09;是机器学习中的…...

docker的简单使用

文章目录 docker简介docker架构镜像和容器镜像有关的常用命令容器相关常用命令 docker简介 Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源。 Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到…...

启动的docker容器里默认运行dockerd

问题 已在Dockerfile里yum install docker 但docker run 启动容器后, docker ps等命令无法执行 ps -aux 没有dockerd 进程 临时解决 另开一个终端 docker exec -it 容器名 bash 手动启 dockerd 默认启动 分析 现在启动容器的默认命令是 /sbin/init sbin/init 是根文件系统…...

Python爬虫技术的最新发展

在互联网的海洋中&#xff0c;数据就像是一颗颗珍珠&#xff0c;而爬虫技术就是我们手中的潜水艇。2024年&#xff0c;爬虫技术有了哪些新花样&#xff1f;让我们一起潜入这个话题&#xff0c;看看最新的发展和趋势。 1. 异步爬虫&#xff1a;速度与激情 随着现代Web应用的复…...

什么是厄尔米特(Hermitian)矩阵?

厄米矩阵&#xff08;Hermitian Matrix&#xff09;定义 在数学和物理中&#xff0c;厄米矩阵是满足以下条件的复方阵&#xff1a; A A † \mathbf{A}\mathbf{A}^\dagger AA† 其中&#xff0c; A † \mathbf{A}^\dagger A†表示矩阵 A \mathbf{A} A的共轭转置&#xff0c;即…...

从零开始:Linux 环境下的 C/C++ 编译教程

个人主页&#xff1a;chian-ocean 文章专栏 前言&#xff1a; GCC&#xff08;GNU Compiler Collection&#xff09;是一个功能强大的编译器集合&#xff0c;支持多种语言&#xff0c;包括 C 和 C。其中 gcc 用于 C 语言编译&#xff0c;g 专用于 C 编译。 Linux GCC or G的安…...

Excel + Notepad + CMD 命令行批量修改文件名

注意&#xff1a;该方式为直接修改原文件的文件名&#xff0c;不会生成新文件 新建Excel文件 A列&#xff1a;固定为 renB列&#xff1a;原文件名称C列&#xff1a;修改后保存的名称B列、C列&#xff0c;需要带文件后缀&#xff0c;为txt文件就是.txt结尾&#xff0c;为png图片…...

1.1 android:监听并处理返回事件

在Android开发过程中&#xff0c;默认执行返回事件是结束当前界面&#xff0c;返回上一个界面&#xff0c;没有任何提示&#xff0c;但用户可能会误操作&#xff0c;这时出现一个提示界面对用户较为友好&#xff0c;接下来&#xff0c;让我们探究返回事件的处理。 一、onBackP…...

解决Ubuntu关机主板不断电的问题(其它使用GRUB的Linux发行版大概率也可用)

前言&#xff1a; 在某些主板上&#xff0c;Ubuntu20.04系统关机并不会连带主板一起断电。 猜测可能是主板太老了。无法识别较新的系统的关机信号&#xff0c;导致无法断电。连带着一些电脑周边设备也不会断电导致状态无法重置&#xff0c;后续会出现一些问题。 目标&#xf…...

【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

文件上传 文章目录 文件上传 What is Upload-File&#xff1f;Upload-File In CTF Web151 考点&#xff1a;前端校验解题&#xff1a; Web152 考点&#xff1a;后端校验要严密解题&#xff1a; Web153 考点&#xff1a;后端校验 配置文件介绍解题&#xff1a; Web154 考点&am…...

无法正常启动此程序,因为计算机丢失wlanapi.dll

wlanapi.dll丢失怎么办&#xff1f;有没有什么靠谱的修复wlanapi.dll方法_无法启动此程序,因为计算机中丢失wlanapi.dll-CSDN博客 wlanapi.dll是 Windows 操作系统中的一个动态链接库文件&#xff0c;主要与 Windows 无线 LAN (WLAN) API 相关。该DLL提供了许多必要的函数&…...

C++ webrtc开发(非原生开发,linux上使用libdatachannel库)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、libdatachannel库的下载和build二、开始使用 1.2.引入库3.开始使用 总结 前言 使用c开发webrtc在互联网上留下的资料甚少&#xff0c;经过我一段时间的探…...

vue-router路由传参的两种方式(params 和 query )

一、vue-router路由传参问题 1、概念&#xff1a; A、vue 路由传参的使用场景一般应用在父路由跳转到子路由时&#xff0c;携带参数跳转。 B、传参方式可划分为 params 传参和 query 传参&#xff1b; C、而 params 传参又可分为在 url 中显示参数和不显示参数两种方式&#x…...