daguansummary

机器学习算法梳理(六):XGB XGB 阅读详情

1.参赛指导
1.1 背景

这个比赛是文本分类比赛,比传统的短文本(300词)分类难,现在是长文本(3000词)分类。

1.2 监督学习进行分类的基本过程 (假设有一个学习模型f供你使用)

原始数据(一段原始文本)→数据预处理(处理后的文本)→特征工程(Features)→输入(模型f)→输出(类别)

数据预处理:表情、符号会影响后续的处理,所以去掉;

特征工程:生成向量=feature;(是机器学习中最重要的部分,深度学习也是完成这一步。有个说法是:特征决定了机器学习的上限,而机器学习算法只是为了逼近这个上限)

模型的输入输出:都是模型所规定好的特征空间和类别空间。

注:字和词:单个词才能表达一个完整的意思,比如“垃圾”,分开一个字意思,就不能够表达组合的意思(有些情况是可以的)。

1.3 脱敏数据

图1 脱敏数据(每个数字代表一个字、词)
上图有标的数据用于训练,测试集没有数据,提交了才回有成绩。

1.4 如何提高模型的性能

(1)数据预处理:当所给的数据不全,其中可能也有错误的数据;(本源问题)(但可以数据增强,来增加数据来提高效果)

(2)特征工程:技巧性,需要积累经验,比如区分人的话,用人脸特征就比身高特征好太多了; (是决定模型好坏的关键)

(3)机器学习算法:不同的算法适合不同的问题,如这个简单的分类问题,逻辑回归比其他复杂的模型要好;

(4)模型集成

https://www.jianshu.com/p/a565f9512a17

baseline

# -*- coding: utf-8 -*-

"""
@简介:tfidf特征/ SVM模型
@成绩: 0.77
"""
#导入所需要的软件包
import pandas as pd
from sklearn.svm import LinearSVC
from sklearn.feature_extraction.text import TfidfVectorizer

print("开始...............")

#====================================================================================================================
# @代码功能简介:从硬盘上读取已下载好的数据,并进行简单处理
# @知识点定位:数据预处理
#====================================================================================================================
df_train = pd.read_csv('./data/train_set.csv')  # 数据读取
df_test = pd.read_csv('./data/test_set.csv')

# 观察数据,原始数据包含id、article(原文)列、word_seg(分词列)、class(类别标签)
df_train.drop(columns=['article', 'id'], inplace=True) # drop删除列
df_test.drop(columns=['article'], inplace=True)

#==========================================================
# @代码功能简介:将数据集中的字符文本转换成数字向量,以便计算机能够进行处理(一段文字 ---> 一个向量)
# @知识点定位:特征工程
#==========================================================
vectorizer = TfidfVectorizer(ngram_range=(1, 2), min_df=3, max_df=0.9)
'''
    ngram_range=(1, 2) : 词组长度为1和2
    min_df : 忽略出现频率小于3的词
    max_df : 忽略在百分之九十以上的文本中出现过的词
'''
vectorizer.fit(df_train['word_seg'])  # 构造tfidf矩阵
x_train = vectorizer.transform(df_train['word_seg'])  # 构造训练集的tfidf矩阵
x_test = vectorizer.transform(df_test['word_seg'])  # 构造测试的tfidf矩阵

y_train = df_train['class']-1 #训练集的类别标签(减1方便计算)

#==========================================================
# @代码功能简介:训练一个分类器
# @知识点定位:传统监督学习算法之线性逻辑回归模型
#==========================================================

classifier = LinearSVC()  # 实例化逻辑回归模型
classifier.fit(x_train, y_train)  # 模型训练,传入训练集及其标签

#根据上面训练好的分类器对测试集的每个样本进行预测
y_test = classifier.predict(x_test)

#将测试集的预测结果保存至本地
df_test['class'] = y_test.tolist()
df_test['class'] = df_test['class'] + 1
df_result = df_test.loc[:, ['id', 'class']]
df_result.to_csv('./results/beginner.csv', index=False)

print("完成...............")
机器学习算法梳理(四):随机森林 RF梳理一、集成学习二、个体学习器三、Boosting&BaggingBoostingBagging四、组合策略五、随机森林思想六、优缺点七、随机森林推广八、sklearn参数 一、集成学习 使用一些(不同的)方法改变原始训练样本的分布,从而构建多个不同的分类器,并将这些分类器线性组合得到一个更强大的分类器,来做最后的决策。也就是常说的“三个臭皮匠顶个诸葛亮”的想法。 二、个体学习器 个体... 阅读详情

相关推荐

机器学习算法梳理(二):逻辑回归

逻辑回归与线性回归的联系与区别 逻辑回归的原理 3、逻辑回归损失函数推导及优化 4、 正则化与模型评估指标 5、逻辑回归的优缺点 6、样本不均衡问题解决办法 7. sklearn参数 ...

devcy的博客 1900

使用LR和SVM对文本数据进行分类

使用LR和SVM对文本数据进行分类 import numpy as np import pandas as pd training = pd.read_csv("D:/ML/competition/daguan/new_data/train_set.csv") # print(training.head()) # # print(training.shape) # print(training....

devcy的博客 695

NLP-task2

NLP-task21. 基本文本处理技能2. 语言模型3. 文本矩阵化:要求采用词袋模型且是词级别的矩阵化 1. 基本文本处理技能 1.1 分词的概念(分词的正向最大、逆向最大、双向最大匹配法); 正向最大匹配 从左到右将待切分句子的m个字符作为匹配字符,m为初始词典中最长词条的长度。 将字符与字典中元素进行匹配: 若匹配成功,则将这个字符作为一个词切分出来 若匹配不成功,则将这个字符的最后一...

devcy的博客 457

线性回归代码实现

单变量线性回归: h(x)=theta0 + theta1* x 1 多变量线性回归: h(x)=theta0 + theta1* x 1 + theta2* x 2 + theta3* x 3 多项式回归: h(x)=theta0 + theta1* x 1 + theta2* (x2^2) + theta3* (x3^3) import numpy as np from py...

devcy的博客 666

机器学习算法梳理(五):GBDT梯度提升树

GBDTGBDTGBDT思想负梯度拟合损失函数 GBDT GBDT思想 负梯度拟合 损失函数 GBDT算法 正则化 优缺点及与RF的比较 sklearn参数 应用场景

devcy的博客 432

机器学习算法梳理(三):决策树

决策树梳理决策树梳理一、信息论基础二、决策树的不同分类算法三、回归树原理四、决策树防止过拟合手段五、模型评估六、sklearn参数详解,Python绘制决策树 决策树梳理 一、信息论基础 熵是用来衡量一个系统混论程度的物理量,代表一个系统中蕴含多少信息量,信息量越大表明一个系统不确定性就越大,就存在越多的可能性。 信息熵便是信息的期望值,可以记作: 条件熵 信息增益 信息增益率 基尼指数...

devcy的博客 335

机器学习算法梳理(一):线性回归

线性回归梳理

devcy的博客 573

chrome-headless-shell-mac-x64-160.0.8160.0(Canary).zip

内容概要:Chrome for Testing 官方 chrome-headless-shell 160.0.8160.0 x64 平台(金丝雀版通道),原版未修改,附来源说明。 适合人群:x64 上的自动化测试工程师、爬虫开发者、CI 环境搭建者。 使用场景及目标:①无头浏览器(Playwright/Puppeteer/Selenium 无界面自动化与爬虫的运行内核);②服务器/容器离线内置;③版本精准匹配(chromedriver 与 Chrome 需同大版本)。 其他说明:Chrome for Testing 为 Google 官方发布、允许自由分发的文件;本资源为第三方整理的下载便利服务。

《李宏毅机器学习》task5

《李宏毅机器学习》task5推导LR损失函数(1)学习LR梯度下降(2)利用代码描述梯度下降(选做)(3)Softmax原理(4)softmax损失函数(5)softmax梯度下降(6)参考文献 推导LR损失函数(1) 假定: LR逻辑回归假设样本服从泊松0–1分布,因此p(y|x)表达式: 求最大似然估计: 进而求最大对数似然估计: 损失函数: 损失函数表征预测值与真实值之间的差异程度...

devcy的博客 436

多智能体-系统-形成-控制 附matlab代码.rar

多智能体-系统-形成-控制 附matlab代码.rar

具有PWM控制VSC-HVDC链路的IEEE30总线传输系统(Simulink仿真实现)

内容概要:本文构建了一个包含PWM控制VSC-HVDC链路的IEEE30节点电力传输系统,并基于Simulink平台完成了系统的建模仿真。该模型聚焦于高压直流输电(HVDC)技术在区域电网互联中的应用,采用电压源型换流器(VSC)与脉宽调制(PWM)技术实现高效、灵活的电能传输。研究重点在于分析VSC-HVDC链路在复杂多节点电网中对潮流分布、系统稳定性及电能质量的调控能力,特别关注其在区域电网互联、新能源大规模接入以及跨区域电力交换等场景下的动态响应特性与控制性能,为现代智能电网的发展提供技术支撑与仿真验证手段。; 适合人群:具备电力系统、电气工程或自动化等相关专业背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究VSC-HVDC在多节点电网(如IEEE30节点)中的建模与仿真方法;②分析PWM控制策略下HVDC链路对电网潮流分布、电压稳定性和故障穿越能力的影响;③为区域电网互联、新能源并网及智能电网调度等课题提供仿真基础和技术验证。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者在掌握电力电子技术和电力系统分析基础知识的前提下,结合仿真模型深入理解VSC-HVDC的工作原理与控制策略。在学习过程中,应着重关注模型参数设置、控制环路设计及仿真结果的分析,以达到理论与实践相结合的目的。

《李宏毅机器学习》task2

《李宏毅机器学习》task21.偏差和方差学习误差由偏差和方差而产生过拟合,欠拟合2.鞍点,全局最优和局部最优3.梯度下降Mini-Batch与SGDBatch与Mini-Batch,SGD的区别如何根据样本大小选择哪个梯度下降写出SGD和Mini-Batch的代码4.交叉验证5.归一化6.回归模型评价指标 1.偏差和方差 学习误差由偏差和方差而产生 偏差与方差分别是用于衡量一个模型泛化误差的...

devcy的博客 424

基于KDE-CDF置信带的不确定综合能源系统鲁棒调度优化研究(Matlab代码实现)

内容概要:本研究针对不确定综合能源系统中的鲁棒调度优化问题,提出一种基于核密度估计-累积分布函数(KDE-CDF)置信带的建模方法,用以精确刻画风能、光伏及负荷等不确定性因素的非正态概率分布特征。通过构建KDE-CDF模型,能够有效捕捉实际运行中新能源出力与负荷需求的波动性与随机性,并在此基础上设计鲁棒优化调度框架,提升系统在不确定性环境下的运行可靠性与经济性。该方法结合Matlab编程实现,综合考虑系统运行成本、峰谷差、碳排放等多重目标,实现多维度协调优化。研究还探讨了与智能优化算法(如粒子群算法)相结合的应用路径,增强了模型的求解效率与工程实用性,为含多种储能装置、电转气设备及碳捕集系统的复杂综合能源系统提供了科学的调度决策支持。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事综合能源系统规划、运行与调度工作的工程技术人员。; 使用场景及目标:①解决高比例可再生能源接入背景下综合能源系统调度中的不确定性建模难题;②提升调度方案在面对新能源强波动性时的鲁棒性与适应能力;③为融合多类型灵活性资源(如储能、电转气、碳捕集)的综合能源系统提供精细化、可落地的优化运行策略。; 阅读建议:建议读者在掌握概率统计、随机优化与电力系统运行基础知识的前提下,结合文中提供的Matlab代码进行实践操作,重点关注KDE-CDF置信带的构建流程及其在鲁棒优化模型中的嵌入机制,通过调整输入数据分布、参数设置与场景配置开展仿真对比实验,深入理解不确定性建模精度对调度决策质量的影响,进而掌握从数据驱动角度提升系统鲁棒性的关键技术路径。

《李宏毅机器学习》-task4

1.贝叶斯公式 (1)条件概率公式 设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件概率(conditional probability)为: P(A|B)=P(AB)/P(B) (2)乘法公式 1.由条件概率公式得: P(AB)=P(A|B)P(B)=P(B|A)P...

devcy的博客 392

含分布式电源的配电网可靠性评估研究(Matlab代码实现)

内容概要:本文系统研究了含分布式电源的配电网可靠性评估方法,基于Matlab代码实现了完整的评估模型与算法框架。研究深入分析了分布式电源接入后对配电网结构与运行特性的影响,重点探讨了其对供电可靠性的作用机制。采用序贯蒙特卡洛模拟法对系统各类状态进行抽样与仿真,综合考虑了分布式电源出力的随机性、负荷波动性以及网络拓扑变化等多种不确定性因素,精确计算了系统及负荷点的多项可靠性指标。通过在标准测试系统上的仿真实验,验证了所提方法的有效性和实用性,为新型电力系统环境下配电网的规划、运行与可靠性提升提供了有力的技术支撑和决策依据。; 适合人群:具备电力系统分析、概率统计及可靠性基础理论知识,熟悉Matlab编程语言,从事电力系统规划、运行、可靠性评估等相关工作的科研人员、高校研究生以及电力行业工程师。; 使用场景及目标:①掌握含分布式电源的现代配电网可靠性评估的核心理论与关键技术;②学习并实践基于序贯蒙特卡洛模拟的电力系统可靠性分析算法的Matlab实现方法;③为实际工程中分布式电源的优化配置、配电网的升级改造以及制定可靠性提升策略提供科学的仿真工具和量化分析依据。; 阅读建议:建议读者结合文中提供的Matlab代码,逐行阅读并运行程序,重点理解系统建模、状态抽样、潮流计算与指标统计等核心模块的实现逻辑。可尝试调整分布式电源的类型、容量、接入位置及负荷水平等参数,观察其对系统可靠性指标的影响趋势,从而深化对系统动态行为与关键影响因素的理解。

从ResNet到EfficientNet:特征金字塔网络(FPN)在不同骨干网中的适配指南

本文深入探讨了特征金字塔网络(FPN)与ResNet、VGG、EfficientNet等主流骨干网络的适配策略。文章详细解析了FPN的核心原理,并针对不同骨干网络的特征提取特性,提供了通道对齐、参数量估算及迁移学习的系统化指南,旨在帮助开发者在目标检测等视觉任务中构建高性能、高效率的模型。

weixin_29047919的博客 222

《李宏毅机器学习》task1

1.什么是机器学习 2.中心极限定理、正态分布、最大似然估计 3.线性回归loss function推导 4.损失函数和凸函数之间的关系

devcy的博客 316

手把手教你做基于stm32的红外、语音、按键智能灯光控制(上)

这次项目使用的板子是stm32f103c8t6最小系统板,这个板子在tb上都能够买到,随便一个最小系统板都可以,== 注意在买最小系统板的时候需要买一个stlink下载器来下载程序。显示模块是使用的0.96英寸的OLED屏幕,注意是使用的IIC通信协议的OLED屏幕,不是使用SPI总线协议的。这次写的代码还顺便集成了检测温湿度的功能,所以要使用DHT11温湿度传感器,来采集温度。本文所设计的基于单片机的灯光控制系统主要由模式选择功能、手动模式和自动模式组成。LED灯自然就是要控制的部件了。

nbbskk的博客 6559

《李宏毅机器学习》task8

《李宏毅机器学习》task8一、决策树的模型结构二、理解递归 一、决策树的模型结构 算法 支持模型 树结构 特征选择 连续值处理 缺失值处理 剪枝 ID3 分类 多叉树 信息增益 不支持 不支持 不支持 C4.5 分类 多叉树 信息增益比 支持 支持 支持 CART 分类/回归 二叉树 基尼系数,均方差 支持 支持 支持 ID3 由于期望信息越小,信息增益越大,从而纯...

devcy的博客 299

西门子工业物联网云平台 Insights Hub 技术白皮书

Insights Hub是西门子公司推出的工业物联网云平台,它是一个使用开放技术的基于云架构的平台,能够为制造业企业提供物联网连接、数据分析、应用开发等一系列服务。Insights Hub的设计理念是“连接、分析和运营”,即通过连接物理设备、收集数据并进行分析,来优化工业生产的运营和管理。

可爱的刘三岁的博客 3336

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 798

线性回归算法梳理-Task3

线性回归算法梳理-Task3回归评价指标MSE、RMSE、MAE、R-Squared波士顿房产数据 回归评价指标MSE、RMSE、MAE、R-Squared 波士顿房产数据 波士顿房产数据(只使用房间数量这个特征) 数据切分(train_test_split) MSE、MAE、RMSE、r2_score(自己写)VS scikit-learn中的MSE和MAE、r2_score ...

devcy的博客 294

新能源充电桩充电枪口标准

建立的标准确保了新能源汽车充电的安全性、兼容性和效率,促进了新能源汽车产业的发展。

网络安全的研究者、新能源行业的追求者 4697
上一篇: [转]我在阿里这两年
下一篇: checkpoint
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值