首页 > 其他分享 >AI训练营-baseline代码中参数精读

AI训练营-baseline代码中参数精读

时间:2023-07-27 22:44:07浏览次数:40  
标签:精读 baseline AI 模型 dataset train 拟合 test csv

# 数据准备
train_dataset = pd.read_csv("./train.csv") # 原始训练数据。
test_dataset = pd.read_csv("./test.csv") # 原始测试数据(用于提交)。

submit = pd.DataFrame() # 定义提交的最终数据。
submit["序号"] = test_dataset["序号"] # 对齐测试数据的序号。

MAE_scores = dict() # 定义评分项。

# 模型训练
pred_labels = list(train_dataset.columns[-34:]) # 需要预测的标签。因为要预测的是温度,所以是后三十四个
train_set, valid_set = train_test_split(train_dataset, test_size=0.2) # 拆分数据集。train_dataset是要划分的数据集,test_size是测试集的比例,默认为0.2(即20%的数据用于测试)

# 设定 LightGBM 训练参,查阅参数意义:https://lightgbm.readthedocs.io/en/latest/Parameters.html
lgb_params = {
        'boosting_type': 'gbdt',#梯度提升树
        'objective': 'regression',#回归
        'metric': 'mae',#评估指标为平均绝对误差MAE
        'min_child_weight': 5,#控制每个叶子节点上的最小样本权重总和,用于防止过拟合
        'num_leaves': 2 ** 5, #2的5次方,每棵决策树有32个结点

较大的num_leaves值可以增加模型的复杂度,从而提供更强大的拟合能力,但也可能导致过拟合。相反,较小的num_leaves值可以减少模型的复杂度,从而降低过拟合的风险,但可能会降低模型的表达能力。

        'lambda_l2': 10,#指定L2正则化项的权重,用于控制模型的复杂度。较大的值可以防止过拟合。
        'feature_fraction': 0.8,#指定每次迭代中随机选择的特征比例,用于加速训练并降低过拟合的风险
        'bagging_fraction': 0.8,#指定每次迭代中随机选择的样本比例,用于加速训练并降低过拟合的风险
        'bagging_freq': 4,
        'learning_rate': 0.05, #学习率控制每次迭代中模型参数的更新幅度。较小的学习率可以使模型更稳定,但可能需要更多的迭代次数
        'seed': 2003,
        'nthread' : 16,
        'verbose' : -1,
    }

标签:精读,baseline,AI,模型,dataset,train,拟合,test,csv
From: https://www.cnblogs.com/dk2154/p/17586320.html

相关文章

  • 【AI夏令营】NLP赛题解析与Baseline逐行精读
    【任务】1.深入研读baseline代码,仔细理解其每个部分,并记录详尽的学习笔记;2.主动挑战自己,对基线代码进行优化,力求改进代码的实际效果和性能;3.完成任务二,并查看个人成绩排行榜。【Baseline精读】本次主要是针对任务二(关键词提取,也会有部分任务一的内容)首先是库文件的导入:#......
  • Android studio id 'org.jetbrains.kotlin.android' version '1.7.20' apply fals
    如何实现"Androidstudioid'org.jetbrains.kotlin.android'version'1.7.20'applyfalse"在Android开发中,AndroidStudio是一个常用的集成开发环境(IDE),用于开发Android应用程序。在AndroidStudio中,我们可以使用Kotlin作为一种更现代化的编程语言。本文将向刚入行的开发者介绍......
  • Android studio DerInputStream.getLength(): lengthTag=109, too big.Failed to
    AndroidStudio:解决DerInputStream.getLength():lengthTag=109,toobig.Failedto的问题简介在使用AndroidStudio开发Android应用程序时,你可能会遇到DerInputStream.getLength():lengthTag=109,toobig.Failedto的错误。该错误通常发生在尝试使用包含较大数据的......
  • AI面试官:Xml知多少
    AI面试官:Xml知多少目录AI面试官:Xml知多少1.什么是XML?它与HTML有何不同?2.XML的常见用途是什么?3.解释XML的基本结构4.XML和JSON有什么区别?它们在什么场景下更适用?5.如何解析XML文件并提取其中的数据?请用C#代码示例。6.什么是XMLSchema(XSD)?它在XML中的作用是......
  • Still waiting to schedule task ‘nodejs-html5’ is offline
    运行任务时等待节点在线的解决方案在进行分布式任务调度时,我们可能会遇到一个问题:当一个节点不在线时,我们如何等待节点上线再执行任务?本文将介绍如何使用Node.js编写代码实现此功能。问题描述假设我们有一个任务调度程序,使用Node.js编写。在这个任务调度程序中,我们有一个名为nod......
  • android studio ninja: build stopped: subcommand failed.
    解决AndroidStudioNinjaBuild停止的问题概述在使用AndroidStudio进行开发时,有时候会遇到"androidstudioninja:buildstopped:subcommandfailed."的错误提示。这通常是由于项目构建过程中的某些问题导致的。下面我将详细介绍解决这个问题的步骤,并提供相应的代码示......
  • AIRIOT可视化组态引擎如何应用于物联业务场景中
    在物联网的业务应用场景中,可视化组态是一个必不可少的功能需求。不同的行业场景,都需要将物联设备采集的数据和业务场景状态进行直观的可视化展示,供使用者进行分析或决策。如工艺流程用能监测、3D场景构建、能耗趋势场景报警联动、重点设备视频接入、重点数据移动监测、计划用能终......
  • ASP.NET Core 使用 Claim 认证详解
    微软在早期.NETFramework时代,针对ASP.NET的用户登录身份认证,提供了Forms认证实现方案。后来在推出ASP.NETCore之后,采用Claim认证替代了Forms认证,两者本质上都是基于Cookie加解密的认证方式,学习和使用起来非常简单,比较适合在小型项目中使用,主要是方便。假设我们现......
  • SigniFi - 创新的AI与区块链相结合的算命DApp
    SigniFi是一个非常有创意和实用的web3DApp,它将人工智能、区块链技术与传统的占卜文化完美结合,为用户提供了一个独特的AI占卜/算命服务。SigniFi的产品功能SigniFi的核心产品功能是基于AI算法的智能占卜服务。用户只需要提供自己的个人信息和提出想询问的问题,SigniFi就可以根......
  • 使用ASP.NET Core Minimal API和MailKit发送电子邮件
    步骤1:创建新项目通过以下命令在终端中创建一个新的ASP.NETCoreWebAPI项目:dotnetnewwebapi-oSendingEmail由于我们正在使用MinimalAPIs,因此删除不必要的Controller文件夹和WeatherForecast类。步骤2:定义电子邮件数据传输对象(DTO)为了将数据从我们的API传递到邮件服务......