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

书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类

书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类

文本分类器,提供多种文本分类和聚类算法,支持句子和文档级的文本分类任务,支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类,开箱即用。python3开发。

  • Classifier支持算法

    • LogisticRegression
    • Random Forest
    • Decision Tree
    • K-Nearest Neighbours
    • Naive bayes
    • Xgboost
    • Support Vector Machine(SVM)
    • TextCNN
    • TextRNN
    • Fasttext
    • BERT
  • Cluster

    • MiniBatchKmeans

While providing rich functions, pytextclassifier internal modules adhere to low coupling, model adherence to inert loading, dictionary publication, and easy to use.

  • 安装
  • Requirements and Installation
pip3 install torch # conda install pytorch
pip3 install pytextclassifier

or

git clone https://github.com/shibing624/pytextclassifier.git
cd pytextclassifier
python3 setup.py install

1. English Text Classifier

包括模型训练、保存、预测、评估等

examples/lr_en_classification_demo.py:

import syssys.path.append('..')
from pytextclassifier import ClassicClassifierif __name__ == '__main__':m = ClassicClassifier(output_dir='models/lr', model_name_or_model='lr')# ClassicClassifier support model_name:lr, random_forest, decision_tree, knn, bayes, svm, xgboostprint(m)data = [('education', 'Student debt to cost Britain billions within decades'),('education', 'Chinese education for TV experiment'),('sports', 'Middle East and Asia boost investment in top level sports'),('sports', 'Summit Series look launches HBO Canada sports doc series: Mudhar')]# train and save best modelm.train(data)# load best model from model_dirm.load_model()predict_label, predict_proba = m.predict(['Abbott government spends $8 million on higher education media blitz'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')test_data = [('education', 'Abbott government spends $8 million on higher education media blitz'),('sports', 'Middle East and Asia boost investment in top level sports'),]acc_score = m.evaluate_model(test_data)print(f'acc_score: {acc_score}')

output:

ClassicClassifier instance (LogisticRegression(fit_intercept=False), stopwords size: 2438)
predict_label: ['education'], predict_proba: [0.5378236358492112]
acc_score: 1.0

2. Chinese Text Classifier(中文文本分类)

文本分类兼容中英文语料库。

example examples/lr_classification_demo.py

import syssys.path.append('..')
from pytextclassifier import ClassicClassifierif __name__ == '__main__':m = ClassicClassifier(output_dir='models/lr-toy', model_name_or_model='lr')# 经典分类方法,支持的模型包括:lr, random_forest, decision_tree, knn, bayes, svm, xgboostdata = [('education', '名师指导托福语法技巧:名词的复数形式'),('education', '中国高考成绩海外认可 是“狼来了”吗?'),('education', '公务员考虑越来越吃香,这是怎么回事?'),('sports', '图文:法网孟菲尔斯苦战进16强 孟菲尔斯怒吼'),('sports', '四川丹棱举行全国长距登山挑战赛 近万人参与'),('sports', '米兰客场8战不败国米10年连胜'),]m.train(data)print(m)# load best model from model_dirm.load_model()predict_label, predict_proba = m.predict(['福建春季公务员考试报名18日截止 2月6日考试','意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')test_data = [('education', '福建春季公务员考试报名18日截止 2月6日考试'),('sports', '意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'),]acc_score = m.evaluate_model(test_data)print(f'acc_score: {acc_score}')  # 1.0#### train model with 1w dataprint('-' * 42)m = ClassicClassifier(output_dir='models/lr', model_name_or_model='lr')data_file = 'thucnews_train_1w.txt'm.train(data_file)m.load_model()predict_label, predict_proba = m.predict(['顺义北京苏活88平米起精装房在售','美EB-5项目“15日快速移民”将推迟'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')

output:

ClassicClassifier instance (LogisticRegression(fit_intercept=False), stopwords size: 2438)
predict_label: ['education' 'sports'], predict_proba: [0.5, 0.598941806741534]
acc_score: 1.0
------------------------------------------
predict_label: ['realty' 'education'], predict_proba: [0.7302956923617372, 0.2565005445322923]

3.可解释性分析

例如,显示模型的特征权重,以及预测词的权重 examples/visual_feature_importance.ipynb

import syssys.path.append('..')
from pytextclassifier import ClassicClassifier
import jiebatc = ClassicClassifier(output_dir='models/lr-toy', model_name_or_model='lr')
data = [('education', '名师指导托福语法技巧:名词的复数形式'),('education', '中国高考成绩海外认可 是“狼来了”吗?'),('sports', '图文:法网孟菲尔斯苦战进16强 孟菲尔斯怒吼'),('sports', '四川丹棱举行全国长距登山挑战赛 近万人参与'),('sports', '米兰客场8战不败国米10年连胜')
]
tc.train(data)
import eli5infer_data = ['高考指导托福语法技巧国际认可','意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜']
eli5.show_weights(tc.model, vec=tc.feature)
seg_infer_data = [' '.join(jieba.lcut(i)) for i in infer_data]
eli5.show_prediction(tc.model, seg_infer_data[0], vec=tc.feature,target_names=['education', 'sports'])

output:

4. Deep Classification model

本项目支持以下深度分类模型:FastText、TextCNN、TextRNN、Bert模型,import模型对应的方法来调用:

from pytextclassifier import FastTextClassifier, TextCNNClassifier, TextRNNClassifier, BertClassifier

下面以FastText模型为示例,其他模型的使用方法类似。

4.1 FastText 模型

训练和预测FastText模型示例examples/fasttext_classification_demo.py

import syssys.path.append('..')
from pytextclassifier import FastTextClassifier, load_dataif __name__ == '__main__':m = FastTextClassifier(output_dir='models/fasttext-toy')data = [('education', '名师指导托福语法技巧:名词的复数形式'),('education', '中国高考成绩海外认可 是“狼来了”吗?'),('education', '公务员考虑越来越吃香,这是怎么回事?'),('sports', '图文:法网孟菲尔斯苦战进16强 孟菲尔斯怒吼'),('sports', '四川丹棱举行全国长距登山挑战赛 近万人参与'),('sports', '米兰客场8战不败保持连胜'),]m.train(data, num_epochs=3)print(m)# load trained best modelm.load_model()predict_label, predict_proba = m.predict(['福建春季公务员考试报名18日截止 2月6日考试','意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')test_data = [('education', '福建春季公务员考试报名18日截止 2月6日考试'),('sports', '意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'),]acc_score = m.evaluate_model(test_data)print(f'acc_score: {acc_score}')  # 1.0#### train model with 1w dataprint('-' * 42)data_file = 'thucnews_train_1w.txt'm = FastTextClassifier(output_dir='models/fasttext')m.train(data_file, names=('labels', 'text'), num_epochs=3)# load best trained model from model_dirm.load_model()predict_label, predict_proba = m.predict(['顺义北京苏活88平米起精装房在售','美EB-5项目“15日快速移民”将推迟'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')x, y, df = load_data(data_file)test_data = df[:100]acc_score = m.evaluate_model(test_data)print(f'acc_score: {acc_score}')

4.2 BERT 类模型

4.2.1 多分类模型

训练和预测BERT多分类模型,示例examples/bert_classification_zh_demo.py

import syssys.path.append('..')
from pytextclassifier import BertClassifierif __name__ == '__main__':m = BertClassifier(output_dir='models/bert-chinese-toy', num_classes=2,model_type='bert', model_name='bert-base-chinese', num_epochs=2)# model_type: support 'bert', 'albert', 'roberta', 'xlnet'# model_name: support 'bert-base-chinese', 'bert-base-cased', 'bert-base-multilingual-cased' ...data = [('education', '名师指导托福语法技巧:名词的复数形式'),('education', '中国高考成绩海外认可 是“狼来了”吗?'),('education', '公务员考虑越来越吃香,这是怎么回事?'),('sports', '图文:法网孟菲尔斯苦战进16强 孟菲尔斯怒吼'),('sports', '四川丹棱举行全国长距登山挑战赛 近万人参与'),('sports', '米兰客场8战不败国米10年连胜'),]m.train(data)print(m)# load trained best model from model_dirm.load_model()predict_label, predict_proba = m.predict(['福建春季公务员考试报名18日截止 2月6日考试','意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')test_data = [('education', '福建春季公务员考试报名18日截止 2月6日考试'),('sports', '意甲首轮补赛交战记录:米兰客场8战不败国米10年连胜'),]acc_score = m.evaluate_model(test_data)print(f'acc_score: {acc_score}')# train model with 1w data file and 10 classesprint('-' * 42)m = BertClassifier(output_dir='models/bert-chinese', num_classes=10,model_type='bert', model_name='bert-base-chinese', num_epochs=2,args={"no_cache": True, "lazy_loading": True, "lazy_text_column": 1, "lazy_labels_column": 0, })data_file = 'thucnews_train_1w.txt'# 如果训练数据超过百万条,建议使用lazy_loading模式,减少内存占用m.train(data_file, test_size=0, names=('labels', 'text'))m.load_model()predict_label, predict_proba = m.predict(['顺义北京苏活88平米起精装房在售','美EB-5项目“15日快速移民”将推迟','恒生AH溢指收平 A股对H股折价1.95%'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')

PS:如果训练数据超过百万条,建议使用lazy_loading模式,减少内存占用

4.2.2 多标签分类模型

分类可以分为多分类和多标签分类。多分类的标签是排他的,而多标签分类的所有标签是不排他的。

多标签分类比较直观的理解是,一个样本可以同时拥有几个类别标签,
比如一首歌的标签可以是流行、轻快,一部电影的标签可以是动作、喜剧、搞笑等,这都是多标签分类的情况。

训练和预测BERT多标签分类模型,示例examples/bert_multilabel_classification_zh_demo.py.py

import sys
import pandas as pdsys.path.append('..')
from pytextclassifier import BertClassifierdef load_jd_data(file_path):"""Load jd data from file.@param file_path: format: content,其他,互联互通,产品功耗,滑轮提手,声音,APP操控性,呼吸灯,外观,底座,制热范围,遥控器电池,味道,制热效果,衣物烘干,体积大小@return: """data = []with open(file_path, 'r', encoding='utf-8') as f:for line in f:line = line.strip()if line.startswith('#'):continueif not line:continueterms = line.split(',')if len(terms) != 16:continueval = [int(i) for i in terms[1:]]data.append([terms[0], val])return dataif __name__ == '__main__':# model_type: support 'bert', 'albert', 'roberta', 'xlnet'# model_name: support 'bert-base-chinese', 'bert-base-cased', 'bert-base-multilingual-cased' ...m = BertClassifier(output_dir='models/multilabel-bert-zh-model', num_classes=15,model_type='bert', model_name='bert-base-chinese', num_epochs=2, multi_label=True)# Train and Evaluation data needs to be in a Pandas Dataframe containing at least two columns, a 'text' and a 'labels' column. The `labels` column should contain multi-hot encoded lists.train_data = [["一个小时房间仍然没暖和", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]],["耗电情况:这个没有注意", [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]],]data = load_jd_data('multilabel_jd_comments.csv')train_data.extend(data)print(train_data[:5])train_df = pd.DataFrame(train_data, columns=["text", "labels"])print(train_df.head())m.train(train_df)print(m)# Evaluate the modelacc_score = m.evaluate_model(train_df[:20])print(f'acc_score: {acc_score}')# load trained best model from model_dirm.load_model()predict_label, predict_proba = m.predict(['一个小时房间仍然没暖和', '耗电情况:这个没有注意'])print(f'predict_label: {predict_label}, predict_proba: {predict_proba}')

5.模型验证

  1. THUCNews中文文本数据集(1.56GB):官方下载地址,抽样了10万条THUCNews中文文本10分类数据集(6MB),地址:examples/thucnews_train_10w.txt。
  2. TNEWS今日头条中文新闻(短文本)分类 Short Text Classificaiton for News,该数据集(5.1MB)来自今日头条的新闻版块,共提取了15个类别的新闻,包括旅游,教育,金融,军事等,地址:tnews_public.zip

在THUCNews中文文本10分类数据集(6MB)上评估,模型在测试集(test)评测效果如下:

模型acc说明
LR0.8803逻辑回归Logistics Regression
TextCNN0.8809Kim 2014 经典的CNN文本分类
TextRNN_Att0.9022BiLSTM+Attention
FastText0.9177bow+bigram+trigram, 效果出奇的好
DPCNN0.9125深层金字塔CNN
Transformer0.8991效果较差
BERT-base0.9483bert + fc
ERNIE0.9461比bert略差

在中文新闻短文本分类数据集TNEWS上评估,模型在开发集(dev)评测效果如下:

模型acc说明
BERT-base0.5660本项目实现
BERT-base0.5609CLUE Benchmark Leaderboard结果 CLUEbenchmark
  • 以上结果均为分类的准确率(accuracy)结果
  • THUCNews数据集评测结果可以基于examples/thucnews_train_10w.txt数据用examples下的各模型demo复现
  • TNEWS数据集评测结果可以下载TNEWS数据集,运行examples/bert_classification_tnews_demo.py复现
  • 命令行调用

提供分类模型命令行调用脚本,文件树:

pytextclassifier
├── bert_classifier.py
├── fasttext_classifier.py
├── classic_classifier.py
├── textcnn_classifier.py
└── textrnn_classifier.py

每个文件对应一个模型方法,各模型完全独立,可以直接运行,也方便修改,支持通过argparse 修改--data_path等参数。

直接在终端调用fasttext模型训练:

python -m pytextclassifier.fasttext_classifier -h

6.文本聚类算法

Text clustering, for example examples/cluster_demo.py

import syssys.path.append('..')
from pytextclassifier.textcluster import TextClusterif __name__ == '__main__':m = TextCluster(output_dir='models/cluster-toy', n_clusters=2)print(m)data = ['Student debt to cost Britain billions within decades','Chinese education for TV experiment','Abbott government spends $8 million on higher education','Middle East and Asia boost investment in top level sports','Summit Series look launches HBO Canada sports doc series: Mudhar']m.train(data)m.load_model()r = m.predict(['Abbott government spends $8 million on higher education media blitz','Middle East and Asia boost investment in top level sports'])print(r)########### load chinese train data from 1w data filefrom sklearn.feature_extraction.text import TfidfVectorizertcluster = TextCluster(output_dir='models/cluster', feature=TfidfVectorizer(ngram_range=(1, 2)), n_clusters=10)data = tcluster.load_file_data('thucnews_train_1w.txt', sep='\t', use_col=1)feature, labels = tcluster.train(data[:5000])tcluster.show_clusters(feature, labels, 'models/cluster/cluster_train_seg_samples.png')r = tcluster.predict(data[:30])print(r)

output:

TextCluster instance (MiniBatchKMeans(n_clusters=2, n_init=10), <pytextclassifier.utils.tokenizer.Tokenizer object at 0x7f80bd4682b0>, TfidfVectorizer(ngram_range=(1, 2)))
[1 1 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 1 9 1 1 8 1 1 9 1]

clustering plot image:

参考链接:https://github.com/shibing624/pytextclassifier

如果github进入不了也可进入 https://download.csdn.net/download/sinat_39620217/88205140 免费下载相关资料

相关文章:

书写自动智慧:探索Python文本分类器的开发与应用:支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类

书写自动智慧&#xff1a;探索Python文本分类器的开发与应用&#xff1a;支持二分类、多分类、多标签分类、多层级分类和Kmeans聚类 文本分类器&#xff0c;提供多种文本分类和聚类算法&#xff0c;支持句子和文档级的文本分类任务&#xff0c;支持二分类、多分类、多标签分类…...

前端Webpack面试题

1.说说你对webpack的理解 ​ 开发时&#xff0c;我们会使用框架 (React、Vue) &#xff0c;ES6 模块化语法&#xff0c;Less/Sass 等 CSS 预处理器等语法进行开发&#xff0c;这样的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、CSS语法才能运行。所以我们需要打包工…...

LabVIEW使用边缘检测技术实现彩色图像隐写术

LabVIEW使用边缘检测技术实现彩色图像隐写术 隐写术是隐藏信息的做法&#xff0c;以隐瞒通信的存在而闻名。该技术涉及在适当的载体&#xff08;如图像&#xff0c;音频或视频&#xff09;中插入秘密消息。在这些载体中&#xff0c;数字图像因其在互联网上的广泛使用而受到青睐…...

第一次参加计算机会议报告注意事项以及心得

计算机会议参会报告 注意事项参会前参会中参会后 参会心得 注意事项 接下来的会议注意事项分为&#xff1a;&#xff08;1&#xff09;参会前&#xff0c;&#xff08;2&#xff09;参会中&#xff0c;&#xff08;3&#xff09;参会后 参会前 参会前&#xff0c;一般被邀请…...

TypeScript教程(二)基础语法与基础类型

一、基础语法 TypeScript由以下几个部分组成 1.模块 2.函数 3.变量 4.语句和表达式 5.注释 示例&#xff1a; Runoob.ts 文件代码&#xff1a; const hello : string "Hello World!" console.log(hello) 以上代码首先通过 tsc 命令编译&#xff1a; tsc …...

问道管理:网上如何打新股?

随着资本市场的不断敞开&#xff0c;越来越多的人开始重视股票市场&#xff0c;并想经过网上打新股来取得更大的出资收益。但是&#xff0c;网上打新股的办法并不简略&#xff0c;怎样才能成功地打新股呢&#xff1f;本文将从多个角度剖析&#xff0c;协助广阔出资者处理这一问…...

重磅更新,HertzBeat 集群版发布,易用友好的开源实时监控系统!

什么是 HertzBeat? HertzBeat 赫兹跳动 是一个拥有强大自定义监控能力&#xff0c;高性能集群&#xff0c;无需 Agent 的开源实时监控告警系统。 特点 集 监控告警通知 为一体&#xff0c;支持对应用服务&#xff0c;数据库&#xff0c;操作系统&#xff0c;中间件&#xf…...

.NET6使用微信小程序授权登录,获取手机号

1.在appsettings配置你的小程序配置信息 //微信小程序信息配置"WechatConfig": {"appid": "", //小程序ID"secret": "" //小程序秘钥},2.请求接口时先获取Access_token #region 获取小程序的Access_tokenpublic object GetA…...

游戏类APP如何提升用户的活跃度?

移动游戏行业&#xff0c;追求使用率的营销能发挥强大的功效&#xff0c;可帮助减少玩家流失、追回流失的玩家、提高活跃玩家所带来的价值以及增加付费玩家贡献的收入。 一、了解玩家需求 想要提升玩家的活跃&#xff0c;首先要知道&#xff0c;玩家喜欢玩哪些平台的游戏&…...

【Sklearn】基于支持向量机算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于支持向量机算法的数据分类预测(Excel可直接替换数据) 1.模型原理1.1 数学模型1.2 模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 支持向量机(Support Vector Machine,SVM)是一种用于分类和回归的监督学习算法,其基本…...

抽象类与接口

一&#xff0c;类 定义类 部分与ES6用法基本一致。通过class定义类名&#xff0c;并通过constructor定义构造函数&#xff0c;通过super关键字来调用父类的方法。 class Person {name: string; // 属性constructor(name: string) { // 构造函数this.name name;}eat()…...

第三章,矩阵,09-线性方程组解的判断与求法、矩阵方程

第三章&#xff0c;矩阵&#xff0c;09-线性方程组解的判断与求法、矩阵方程 定理推论1推论2推论3推论4 矩阵方程AXB解法解的存在性推论 玩转线性代数(21)线性方程组解的判断与求法的笔记&#xff0c;相关证明以及例子见原文 定理 对n元线性方程组 A x b Axb Axb&#xff0c;…...

Vue-4.编译器VsCode

准备 Vue-1.零基础学习Vue Vue-2.nodejs的介绍和安装 Vue-3.vue简介 为什么用VsCode VsCode 是Vue官网首推的编译器它是完全免费的 下载安装VsCode 下载地址 安装的时候不停地下一步直到完成即可 安装插件 安装汉化插件 要将 Visual Studio Code&#xff08;VSCode&am…...

Neo4j之Aggregation基础

在 Neo4j 中&#xff0c;聚合&#xff08;Aggregation&#xff09;是对数据进行计算、汇总和统计的过程。以下是一些使用聚合函数的常见例子&#xff0c;以及它们的解释&#xff1a; 计算节点数量&#xff1a; MATCH (p:Person) RETURN count(p) AS totalPersons;这个查询会计…...

Python 函数

Built-in Functions — Python 3.11.4 documentation...

Spring(三):Spring中Bean的生命周期和作用域

前言 在 Spring 中&#xff0c;那些组成应用程序的主体及由 Spring IOC 容器所管理的对象&#xff0c;被称之为 bean。简单地讲&#xff0c;bean 就是由 IOC 容器初始化、装配及管理的对象&#xff0c;除此之外&#xff0c;bean 就与应用程序中的其他对象没有什么区别了。而 b…...

【AutoLayout案例03-设置底部按钮之间相同间距 Objective-C语言】

一、好,咱们继续啊 1.咱们继续把autoLayout介绍一下 咱们的自动布局 给大家介绍一下 那么,自动布局呢 继续咱们给大家做的案例 做几个例子 把这几个例子做完以后 我们再给它 我们再给大家说一下,如何通过代码,来实现自动布局 虽然说,通过代码来实现自动布局,并不推荐 但…...

代码随想录算法训练营20期|第七天|哈希表part02|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结

454.四数相加II 比较巧思的解法&#xff0c;先把nums1 和nums2的数两两相加&#xff0c;并存储sum和次数 再在nums3和nums4里找对应和sum和为0的数值i,j Time: N^2 Space:N^2, 最坏情况下A和B的值各不相同&#xff0c;相加产生的数字个数为 n^2 class Solution {public int fo…...

NavMeshPlus 2D寻路插件

插件地址:h8man/NavMeshPlus&#xff1a; Unity NavMesh 2D Pathfinding (github.com) 我对Unity官方是深恶痛觉,一个2D寻路至今都没想解决,这破引擎早点倒闭算了. 这插件是githun的开源项目,我本身是有写jps寻路的,但是无法解决多个单位互相阻挡的问题(可以解决但是有性能问…...

【03】基础知识:typescript中的函数

一、typescript 中定义函数的方法 函数声明法 function test1(): string {return 返回类型为string }function test2(): void {console.log(没有返回值的方法) }函数表达式/匿名函数 const test3 function(): number {return 1 }二、typescript 中 函数参数写法 1、typesc…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...