Python数据分析案例73——基于多种异常值监测算法探查内幕交易信息
背景
之前有监督模型案例都做烂了,现在来做一下无监督的模型吧,异常检测模型。
其实这个案例主要目的是为了展示这些异常值的无监督算法怎么使用的,本文是一个无监督算法的总结大全。只是恰巧有同学需要做这个内幕交易的数据,因此才使用这个数据作为展示异常时监测算法的使用罢了。
内部交易不可能是凭借几个数据就能检测出来的,因此本文的这个实际背景经济含义可以看看就行了,没啥真正的作用,主要还是展示怎么使用这些异常值检测算法。
其实大多数时候,异常时检测算法,由于基本是无监督模型,效果肯定是没有有监督好的。
那为什么还是有很多人会用?主要就是因为很多情况下我们都是没有标签的,在你不知道他是不是异常的情况下,你必须用一些方法去给他强行聚类出来,就得使用无监督的算法,将一些异常的点找出来。(虽然可能并不是你想要的异常点)
数据介绍
大体上就是一些公司,然后他们各自的财务数据,这些公司有的是阳性,也就是说他可能存在内幕交易,有的是阴性,那么就不存在内部交易。
特征X就是各种市场的数据,例如换手率,市盈率,市净率,还有一些资产负债表的数据以及上市股东的一些持仓市值等。
本来无监督学习不应该是有y的,也就是说不应该是有响应变量标签的。但是这里为了评估一下这个模型效果好不好,所以说我们还是把标签带上,用无监督方法锯出来的标签和这些真实的标签进行一个对比。
当然本次的数据和全部代码文件获取还是可以参考:内幕异常监测
算法介绍
无监督的方法其实没有有监督用的那么常见,所以知道的人不是很多,但是总体而言还是有不少的,例如下面十几种:
如何选择算法?
数据规模:
- 小规模数据:KNN、LOF、One-Class SVM。
- 大规模数据:HBOS、IForest、COPOD、ECOD。
数据维度:
- 低维数据:KNN、LOF。
- 高维数据:PCA、IForest、COPOD、AutoEncoder。
数据分布:
- 线性分布:PCA。
- 非线性分布:LOF、One-Class SVM、AutoEncoder。
是否需要调参:
- 无需调参:COPOD、ECOD。
- 需要调参:KNN、LOF、One-Class SVM。
而这些方法都可以很便捷的使用 pyod 进行获取对应写好的类,调包就行了。那些指望看手搓代码的兄弟就不用指望了。手搓这些异常时检测的代码可能搓到明年一个都写出不来.....出来了可能换个数据就会报错。我一直都是实用主义,能用就行了,明明别人已经写好的轮子,明明别人写好的,现成的封装的类更好用,干嘛还要自己手搓?.........98%的人写论文和研究都是掉包的。(当然需要真正创新的大佬当我没说)
普通人安装 pyod 库就行了,不会安装可以问AI。反正都是PIP的方法。
代码实现
我们先导入这个现成的异常检测模型的类看一看:
# 导入所有常用的 PyOD 模型
from pyod.models.knn import KNN
from pyod.models.pca import PCA
from pyod.models.hbos import HBOS
from pyod.models.lof import LOF
from pyod.models.iforest import IForest
from pyod.models.ocsvm import OCSVM
from pyod.models.copod import COPOD
from pyod.models.ecod import ECOD
from pyod.models.abod import ABOD
from pyod.models.feature_bagging import FeatureBagging
from pyod.models.lscp import LSCP# 将所有模型类放入一个列表
models_dict = {"KNN": KNN,"PCA": PCA,"HBOS": HBOS,"LOF": LOF,"IForest": IForest,"One-Class SVM": OCSVM,
# "COPOD": COPOD,
# "ECOD": ECOD,
# "ABOD": ABOD,
# "Feature Bagging": FeatureBagging,
}
# 打印模型列表
for model in models_dict.values():print(model.__name__)
我在模型字典里面注释掉了一些模型,主要是因为这些模型需要安装一些别的库,我没有装........
pyod这个库看来也不是自己纯手搓的,也是从别人的库上面建成的。如果需要用到这些被注释掉的方法,那就去看它对应的调用的时候报错,没有哪些库就去装一下好了。
下面开始正式的数据分析过程,数据分析第一步,先导入数据分析四剑客的包。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsplt.rcParams ['font.sans-serif'] ='SimHei' #显示中文
plt.rcParams ['axes.unicode_minus']=False #显示负号
再导入一些机器学习常用的预处理的方法
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
读取数据
df=pd.read_excel('data.xlsx',sheet_name='总表').iloc[:,:].set_index('证券代码').drop(columns='证券简称')
df=df[df['市净率']!='市净率']
然后我们需要将阴性,阳性的这种文本型的标签处理为数值型。
def check(txt):if '阳性' in txt:return 1elif '阴性' in txt:return 0else:return np.nan
apply向量化处理
df['label']=df['[阳性样本]总表'].astype('str').apply(check)
df=df.iloc[:,1:]
df.shape
可以看到数据只有300多条,然后有30列特征以及一个y,总共31列。
查看前五行
df.head()
查看数据信息
df.info()
可以看到有些数据存在一定的缺失值,不过没关系,这些都是不重要的,因为pyod里面的类都还是支持缺失数据直接输入的。
特征工程
分离X和y
X=df.drop(columns='label')y=df['label']
X.shape,y.shape
查看y的分布比例
y.value_counts(normalize=True)
进行数据标准化
scaler = StandardScaler()# 进行标准化
X_s = scaler.fit_transform(X)# 将标准化后的数据转换为DataFrame
X_s = pd.DataFrame(X_s, columns=X.columns)X_s=X_s.fillna(X_s.mean())
X_s.shape
无监督 效果对比
自定义一个函数,输入我们的标准化后的数据和标签,还有模型的类,可以自动训练这个模型,然后在这个上面进行预测。得到他这个模型认为的所谓异常的标签之后,再跟真实值去做对比,计算一些评价指标分类问题很常见的一些评价指标,例如准确率,精准率,召回率,F1值,特异度,灵敏度等。
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix# 定义函数:训练模型、预测并评估
def evaluate_model(model_class, X, y):"""训练模型并返回评估指标。参数:- model_class: 模型的类(如 KNN, PCA 等)。- X: 数据特征。- y: 数据标签。返回:- 包含评估指标的字典。"""# 初始化模型model = model_class(contamination=0.358255)X=np.array(X)# 训练模型model.fit(X)# 预测y_pred = model.predict(X) # 预测标签(0: 正常, 1: 异常)y_pred_score=model.decision_function(X)# 计算评估指标accuracy = accuracy_score(y, y_pred)precision = precision_score(y, y_pred)recall = recall_score(y, y_pred)f1 = f1_score(y, y_pred)# 计算特异率(Specificity)tn, fp, fn, tp = confusion_matrix(y, y_pred).ravel()specificity = tn / (tn + fp)# 返回评估指标return {'Accuracy': accuracy,'Precision': precision,'Recall': recall,'F1': f1,'Specificity': specificity},y_pred_score
# 初始化结果数据框
df_eval = pd.DataFrame(columns=['Accuracy', 'Precision', 'Recall', 'F1', 'Specificity'])
# 遍历模型列表,将所有的模型都进行统一的训练评估,然后将评估结果存在一个数据框里面查看。
y_pred_score_dict={}
models=models_dict.values()
for model_class in models:model_name = model_class.__name__ # 获取模型名称print(f"Evaluating {model_name}...")# 训练模型并评估metrics, y_pred_score = evaluate_model(model_class, X_s, y)y_pred_score_dict[model_name]=y_pred_score# 将结果添加到数据框df_eval.loc[model_name,:] = list(metrics.values())df_eval.shape
查看评价指标
df_eval#.style.bar(color='pink')
从F1值上来看的话,大概是PCA的效果是最好的。准确率上来说也是如此,大概能有61%的样本能被正确分类。召回率上来看的话,大概只有46.95%的黑样本,也就是所谓的内幕交易能够被检测出来。
评价指标可视化其柱状图
bar_width = 0.4
colors=['c', 'b', 'g', 'tomato', 'm', 'y', 'lime', 'k','orange','pink','grey','tan','gold','r']
fig, ax = plt.subplots(2,2,figsize=(8,6),dpi=128)
for i,col in enumerate(df_eval.columns[:-1]):n=int(str('22')+str(i+1))plt.subplot(n)df_col=df_eval[col]m =np.arange(len(df_col))plt.bar(x=m,height=df_col.to_numpy(),width=bar_width,color=colors)#plt.xlabel('Methods',fontsize=12)names=df_col.indexplt.xticks(range(len(df_col)),names,fontsize=10)plt.xticks(rotation=40)plt.ylabel(col,fontsize=14)plt.tight_layout()
#plt.savefig('柱状图.jpg',dpi=512)
plt.show()
画出ROC曲线图,计算AUC
for k,v in y_pred_score_dict.items():y_pred_score_dict[k]=(v-v.min())/(v.max()-v.min())
from sklearn.metrics import roc_curve, aucplt.figure(figsize=(7, 4.5),dpi=128)# 遍历每个模型绘制 ROC 曲线
for model_name, y_scores in y_pred_score_dict.items():fpr, tpr, _ = roc_curve(y, y_scores) # 计算假阳性率和真阳性率roc_auc = auc(fpr, tpr) # 计算 AUC 值plt.plot(fpr, tpr, label=f'{model_name} (AUC = {roc_auc:.4f})') # 绘制 ROC 曲线# 绘制对角线
plt.plot([0, 1], [0, 1], 'k--', label='Random Classifier (AUC = 0.50)') # 添加图例和标签
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC) Curve')
plt.legend(loc='lower right')# 显示图形
plt.show()
可以看到虽然模型的召回和F1值没有那么高,并且也只有60%的准确率,但是总体上来说比随机猜测效果还是要好一些的。从AUC上来看的话,效果最好的是LOF模型。
也就是说这些模型用来做异常检测的话还是能起到一定的判断效果的。
总结
其实本文具体的数据含义或者说经济业务含义不用太关注,因为本身想从几个数据指标,财务公司指标去判断这个公司有没有内幕交易,本身就是一件很困难的事情,数据决定预测效果质量,模型只是逼进这个上限罢了。如果这个数据本身就对我们的标签没有太多的解释力,那么模型再厉害也不可能能够准确的预测出来。本身这个内幕交易的数据x对y只有这么点解释力,所以说异常检测的模型只有这么点效果也是很正常的,但整体上来说还是比随机猜测要好一些。
由于异常检测是无监督的,其实其检测方式还是和模型算法自身的特性有很强的关系。这个肯定得需要根据特定的数据找特定的异常的时候去设计特定的算法罢了,本文只是对通用的,简便的,能快速使用的,一些异常值检测的方法的一个总结演示。
创作不易,看官觉得写得还不错的话点个关注和赞吧,本人会持续更新python数据分析领域的代码文章~(需要定制类似的代码可私信)
相关文章:
Python数据分析案例73——基于多种异常值监测算法探查内幕交易信息
背景 之前有监督模型案例都做烂了,现在来做一下无监督的模型吧,异常检测模型。 其实这个案例主要目的是为了展示这些异常值的无监督算法怎么使用的,本文是一个无监督算法的总结大全。只是恰巧有同学需要做这个内幕交易的数据,因…...
电商数据中台架构:淘宝 API 实时采集与多源数据融合技术拆解
引言 在当今竞争激烈的电商领域,数据已成为企业决策和业务发展的核心驱动力。电商数据中台能够整合和管理企业内外部的各种数据,为业务提供有力支持。其中,淘宝 API 实时采集与多源数据融合技术是数据中台架构中的关键部分。本文将深入探讨这…...
【C语言】动态经典试题练习
前言: 在上一章节讲解了动态的常见错误,在上上章节讲解了动态内存的概念。 古人云: 习题一 请大家看下面的习题,试着分析输出结果 / 找出代码错误的地方。 #include <stdio.h>void GetMemory(char* p) {p (char*)mall…...
Memcached 主主复制架构搭建与 Keepalived 高可用实现
实验目的 掌握基于 repcached 的 Memcached 主主复制配置 实现通过 Keepalived 的 VIP 高可用机制 验证数据双向同步及故障自动切换能力 实验环境 角色IP 地址主机名虚拟 IP (VIP)主节点10.1.1.78server-a10.1.1.80备节点10.1.1.79server-b10.1.1.80 操作系统: CentOS 7 软…...
详解 Servlet 处理表单数据
Servlet 处理表单数据 1. 什么是 Servlet?2. 表单数据如何发送到 Servlet?2.1 GET 方法2.2 POST 方法 3. Servlet 如何接收表单数据?3.1 获取单个参数:getParameter()示例: 3.2 获取多个参数:getParameterV…...
八大排序——冒泡排序/归并排序
八大排序——冒泡排序/归并排序 一、冒泡排序 1.1 冒泡排序 1.2 冒泡排序优化 二、归并排序 1.1 归并排序(递归) 1.2 递归排序(非递归) 一、冒泡排序 1.1 冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换…...
高等数学第三章---微分中值定理与导数的应用(3.1微分中值定理3.2洛必达法则)
3.1 微分中值定理 一、罗尔(Rolle)中值定理 1. 费马(Fermat)引理 定义: 设函数 y f ( x ) y f(x) yf(x) 满足以下条件: 在点 x 0 x_0 x0 的某邻域 U ( x 0 ) U(x_0) U(x0) 内有定义࿱…...
AI超级智能体项目教程(二)---后端项目初始化(设计knif4j接口文档的使用)
文章目录 1.选择JDK的版本和相关配置2.添加依赖信息2.1指定lombok版本信息2.2引入hutool工具类2.3了解knif4j依赖2.4引入knif4j依赖 3.contrller测试3.1完成yml文件配置3.2修改默认扫描路径3.3controller具体的内容3.4配置接口和访问路径3.5如何访问3.6调试接口3.6调试接口 1.选…...
C++面试复习日记(8)2025.4.25,malloc,free和new,delete的区别
1,malloc,free和new,delete的区别 答:malloc和free是c语言中库函数; new和delete是c的操作符; 分配内存:malloc和new 区别: malloc:需要手动计算存储空间 new&#…...
14.ArkUI Radio的介绍和使用
ArkUI Radio 组件介绍与使用指南 什么是 Radio 组件? Radio(单选框)是 ArkUI 中的单选按钮组件,允许用户从一组互斥的选项中选择一个选项。它通常用于表单、设置界面等需要用户做出单一选择的场景。 Radio 的核心特性 单选功能…...
数据结构------C语言经典题目(7)
1.系统栈和数据结构中的栈有什么区别? 1.本质: 系统栈:由程序运行时由操作系统自动分配的一块连续内存区域,用于存储函数调用过程中的临时数据(参数、局部变量、返回地址),是程序运行的底层机制…...
Python教程(一)——Python速览
目录 1. 引言2. Python用作计算器2.1 数字2.2 文本2.3 列表 3. 走向编程的第一步参考 1. 引言 本系列的目的主要是重新回顾Python的语法,以供阅读由Python编写的源码。 在安装完Python后,在命令行中输入python就可以进入交互模式。下文代码段中以>…...
跟我学C++中级篇——处理对象的复制
一、对象的传递 在应用程序中,经常会遇到不同线程或不同模块间需要进行对象的传递,本来传递不是什么多大的事。但问题是,如果对象的值大到一定的程度后,传递不是问题可对象值的处理反而成了问题了。举一个现实世界的例子…...
基于PyQt5实现仿QQ-第二章-用户登录
基于PyQt5实现仿QQ-第二章-用户登录 Author: Daydreamer 项目简介 本项目基于PyQt5仿照目前流行的即时通信软件QQ,实现了新用户注册、用户登录、自动登录、记住多用户账号、用户搜索、添加好友、好友间聊天(消息持久化、同步化)等功能。 …...
[OS_8] 终端和 UNIX Shell | 会话和进程组 | sigaction | dash
我们已经知道如何用 “文件描述符” 相关的系统调用访问操作系统中的对象:open, read, write, lseek, close。操作系统也提供了 mount, pipe, mkfifo 这些系统调用能 “创建” 操作系统中的对象。 当然,我们也知道操作系统中的对象远不止于此࿰…...
IP查询专业版:支持IPv4/IPv6自动识别并切换解析的API接口使用指南
以下是根据您提供的网页内容编辑的符合CSDN内容发布要求的Markdown格式文本: 一、API概述 在开发过程中,我们常常需要对IP地址进行查询,以获取其详细信息,如地理位置、运营商等。万维易源的“IP查询专业版”API接口能够提供丰富…...
ESG跨境电商如何为国内的跨境电商企业打开国外的市场
现在不管是国内还是国外,做电商的企业都非常的多,那么既然有这么多大电商公司,就要有为这些电商公司提供服务的公司,这就是ESG,它是专门为跨境电商服务的公司,那么这家公司的主要业务是什么呢?它…...
建筑节能成发展焦点,楼宇自控应用范围持续扩大
在全球能源危机日益严峻、环保意识不断增强的大环境下,建筑节能已成为建筑行业发展的核心议题。从大型商业综合体到普通住宅,从公共建筑到工业厂房,节能需求贯穿建筑全生命周期。而楼宇自控系统凭借其对建筑设备的智能化管理和精准调控能力&a…...
中国矿业大学iGMAS分析中心介绍
一、关于GNSS和iGMAS 在浩瀚的太空中,全球卫星导航系统(GNSS)构建起精准定位的时空基准。IGMAS——国际GNSS监测评估系统,是由中国倡导并主导建设的全球GNSS监测网络,旨在提供高精度、高可靠的导航、定位与授时服务。 …...
python如何取消word中的缩进
在python-docx中,取消缩进可以通过将相应的缩进属性设置为None或0来实现。以下是取消不同类型缩进的方法: 取消左缩进 from docx import Documentdoc Document(existing_document.docx)for paragraph in doc.paragraphs:# 取消左缩进paragraph.paragr…...
Lesar: 面向 Lustre/Scade 语言的形式化模型检测工具
在《同步反应式系统》的第一课中,介绍了同步数据流语言 Lustre 生态中的形式化模型检查器 Lesar 的用法。Lesar 可对 lustre v4 语言以及 Scade 语言中部分数据流核心特性进行模型检查。 Lesar 介绍 Lesar 是 Verimag 研发维护的形式化方法模型检查工具。该工具的理…...
YOLOv12 改进有效系列目录 - 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制 - 针对多尺度、小目标、遮挡、复杂环境、噪声等问题!
🔥 在 YOLO 系列一路狂飙之后,YOLOv12 带来了令人耳目一新的范式转变——它不再以 CNN 为绝对核心,而是首次 围绕注意力机制构建 YOLO 框架,在保证实时性的前提下,将检测精度再次推向新高度! 为了进一步探…...
STM32 I2C总线通信协议
引言 在嵌入式系统开发领域,I2C(Inter-Integrated Circuit)总线作为经典的双线制串行通信协议,凭借其简洁的物理层设计和灵活的通信机制,在传感器互联、存储设备控制、显示模块驱动等场景中占据重要地位。本文将深入剖…...
多物理场耦合低温等离子体装置求解器PASSKEy2
文章目录 PASSKEy2简介PASSKEY2计算流程PASSKEy2 中求解的物理方程电路模型等离子体模型燃烧模型 PASSKEy2的使用 PASSKEy2简介 PASSKEy2 是在 PASSKEy1 的基础上重新编写的等离子体数值模拟程序。 相较于 PASSKEy1, PASSKEy2 在具备解决低温等离子体模拟问题的能力…...
【Harmony_Bug】forEach + asyncawait 的异步陷阱
一、问题描述 今天在做一个RDB的小项目时,遇到一个问题,因为没报错其实也是不算是BUG,以下描述时我就直接说关键点,其他代码忽略。 我的数据模型初始化有六条数据如图 在持久化层,通过initUserData这个方法执行插入。…...
智慧医院建设的三大关键领域
智慧医院建设是医疗行业数字化转型的核心载体,其本质是通过新一代信息技术重构医疗服务模式、优化管理流程、提升患者体验。在当前医疗资源供需矛盾突出的背景下,智慧医院建设已从单纯的设备智能化向系统性变革演进,主要集中在以下三大关键领…...
雷电模拟器怎么更改IP地址
游戏搬砖会使用雷电模拟器多开窗口,若模拟器窗口开多了,IP地址是一样的就怕有限制,很容易被游戏后台检测到。在雷电模拟器中更改IP地址可以通过以下方法实现: 方法一:通过模拟器内设置代理 1. 打开雷电模拟器 启动雷…...
软件编程命名规范
编程命名规范是保证代码可读性、可维护性和团队协作效率的重要基础。以下是涵盖主流编程语言的通用命名规范,结合行业最佳实践和常见规范(如Google、Microsoft、Airbnb等风格指南): 一、通用命名原则 清晰优先:名称应…...
#什么是爬虫?——从技术原理到现实应用的全面解析 VI
什么是爬虫?——从技术原理到现实应用的全面解析 V 二十六、异构数据采集技术突破 26.1 PDF文本与表格提取 import pdfplumber import pandas as pddef extract_pdf_data(pdf_path):"""从PDF中提取文本和表格数据:param pdf_path: PDF文件路径:return: 包含…...
芯岭技术XL32F003单片机 32位Cortex M0+ MCU简单介绍 性能优异
XL32F003单片机是深圳市芯岭技术有限公司的一款基于 32 位 ARM Cortex-M0 内核的高性能微控制器,提供SOP8/SOP14/SOP16/TSSOP20/SSOP24/QFN20/QFN32多种封装可选,可满足不同设计需求。XL32F003可用于工业控制、手持设备、PC 外设、传感器节点等应用场景&…...
使用浏览器的Clipboard API实现前端复制copy功能
在前端开发中,复制文本到剪贴板的功能通常使用浏览器的 Clipboard API 实现。比如 navigator.clipboard.writeText 方法。以下是一个简单的案例,展示如何使用 Clipboard API 实现复制文本的功能。 基本用法 首先,你需要创建一个按钮&#x…...
Struts2框架学习
文章目录 基础实战配置文件NameSpaces 基础 实战 配置文件 文件1: <?xml version"1.0" encoding"UTF-8"?> // 声明这是一个 XML 文件,且使用 UTF - 8 编码 <!DOCTYPE struts PUBLIC"-//Apache Software Foundat…...
React 实现爱心花园动画
主页: import React, { useEffect, useRef, useState } from react; import /assets/css/Love.less; import { Garden } from /utils/GardenClasses;// 组件属性接口 interface LoveAnimationProps {startDate?: Date; // 可选的开始日期messages?: { // 可…...
CAPL编程_03
1_文件操作的相关函数: 读文本文件内容 读取文本文件操作的三部曲 1)打开文件 —— openFileRead ( ) 2)逐行读取 —— fileGetString ( ) 、fileGetStringSZ ( ) 3)关闭文件 —— fileClose ( ) char content[100];…...
网络准入控制系统:2025年网络安全的坚固防线
在当今数字化时代,网络安全已成为至关重要的议题。阳途网络准入控制系统作为保障网络安全的关键机制,发挥着不可替代的作用。 阳途网络准入控制系统核心目的在于确保只有合法、合规的设备与用户能够接入网络。从本质上讲,它通过一系列技术手段…...
【音视频】⾳频处理基本概念及⾳频重采样
一、重采样 1.1 什么是重采样 所谓的重采样,就是改变⾳频的采样率、sample format、声道数等参数,使之按照我们期望的参数输出。 1.2 为什么要重采样 为什么要重采样? 当然是原有的⾳频参数不满⾜我们的需求,⽐如在FFmpeg解码⾳频的时候…...
自然语言处理将如何颠覆未来教育?个性化学习新纪元
教育领域正经历着自印刷术发明以来最深刻的变革。自然语言处理(NLP)技术突破传统教育框架的桎梏,正在重塑人类知识传递的基本范式。这场变革的实质不在于教学工具的数字化升级,而在于重新定义了"教"与"学"的本…...
4月25日星期五今日早报简报微语报早读
4月25日星期五,农历三月廿八,早报#微语早读。 1、祝贺!神舟二十号载人飞船发射取得圆满成功; 2、文旅部:今年一季度国内出游人次17.94亿,同比增长26.4%; 3、2025五一档新片预售票房破1000万&…...
秒级到毫秒:BFD的速度革命
一、BFD技术概述 双向转发检测(BFD)是一种轻量级的网络协议,专门用于快速检测、监控网络链路或IP路由的连通性状态。作为网络领域的"心跳检测器",BFD通过毫秒级(默认1000ms)的快速探测机…...
systemctl 命令详解与常见问题解决
在 Linux 系统中,service 命令和 chkconfig 命令一直用于管理服务,但随着 systemd 的引入,systemctl 命令逐渐成为主流。systemctl 命令不仅功能强大,而且使用简单。本文将详细介绍 systemctl 命令的作用以及常见问题的解决方法。…...
5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
5.6.1 Semantic Kernel概述 Microsoft Semantic Kernel(以下简称SK)是一个开源的软件开发工具包(SDK),旨在帮助开发者将大型语言模型(LLM)无缝集成到现有的应用程序中。它支持C#、Python和Java…...
vite+vue构建的网站项目localhost:5173打不开
原因:关掉了cmd命令提示符,那个端口就没有被配置上,打开就是这样的。 解决方法:重新在工作目录下打开cmd,输入npm run dev重新启动项目。 重新出现这样的界面说明已经成功启动项目,再次在浏览器中刷新并输入…...
电脑屏幕录制软件Captura源码编译(Win10,VS2022)
屏幕录像的意义: 教育教学方面 制作教学资源:教师可以通过录制屏幕来制作教学视频,演示软件操作、讲解复杂的知识点等。学生可以随时观看这些视频,便于复习和巩固知识,尤其对于一些抽象的概念或难以在课堂上一次性掌握…...
【版本控制】SVN + TortoiseSVN版本管理实用教程(附安装+开发常用操作)
摘要: 本文将带你从零开始掌握 SVN 版本控制系统,结合 TortoiseSVN 图形客户端工具,深入学习包括安装、检出、提交、更新、回滚、冲突解决等常用开发操作,快速上手团队协作! 🧩 什么是 SVN? SV…...
常见网络安全攻击类型深度剖析(二):SQL注入攻击——原理、漏洞利用演示与代码加固方法
常见网络安全攻击类型深度剖析(二):SQL注入攻击——原理、漏洞利用演示与代码加固方法 在Web应用安全领域,SQL注入(SQL Injection)是历史最悠久、危害最广泛的攻击类型之一。据OWASP(开放式Web应用安全项目)统计,SQL注入连续多年稳居“OWASP Top 10”漏洞榜单前列,每…...
DeepSeek智能时空数据分析(三):专业级地理数据可视化赏析-《杭州市国土空间总体规划(2021-2035年)》
序言:时空数据分析很有用,但是GIS/时空数据库技术门槛太高 时空数据分析在优化业务运营中至关重要,然而,三大挑战仍制约其发展:技术门槛高,需融合GIS理论、SQL开发与时空数据库等多领域知识;空…...
day49—双指针+贪心—验证回文串(LeetCode-680)
题目描述 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。 示例 1: 输入:s "aba" 输出:true…...
AI电视里的达摩
2025年,所有电视都搭载了AI功能,所有电视厂商都在宣传AI能力。但问题是,消费者依旧没有对AI电视做出什么积极的回应。“AI电视是鸡肋”“AI只是电视的又一轮泡沫”等观点层出不穷。 为什么明明AI技术能够解决电视的很多问题,但AI电…...
算力网络(CFN)在跨校联合科研中的应用:安全性挑战与联邦调度实践
引言:科研协作的算力困境 上海交通大学与麻省理工学院联合开展的高能物理模拟实验,因算力资源分配不均导致部分节点连续72小时处于空转状态。这个典型案例揭示了当前跨机构科研协作的痛点:算力资源无法实现安全可信的细粒度共享。算力网…...
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
面向对象编程核心:封装、继承、多态与 static 关键字深度解析 一、封装:数据安全与接口规范 1. 封装的本质与作用 核心定义:将数据(属性)与操作数据的方法(行为)绑定在类中,隐藏内…...