lightgbm

科大讯飞工程机械核心部件寿命预测挑战赛冠军方案分享

狂风中的少年 提交于 2021-02-18 08:50:48
本次分享从以下几个方面展开,尽可能做到有理有据,希望对读者有所帮助:赛题简介、赛题难点、数据预处理、特征工程、数据增强、模型构建、其他、总结。 1.赛题简介 预测性维护是工业互联网应用“皇冠上的明珠”,实现预测性维护的关键是对设备系统或核心部件的寿命进行有效预测。对工程机械设备的核心耗损性部件的剩余寿命进行预测,可以据此对于相关部件的进行提前维护或者更换,从而减少整个设备非计划停机时间,避免因计划外停机而带来的经济损失,比如导致整个生产现场其他配套设备等待故障设备部件的修复。本赛题由中科云谷科技有限公司提供某类工程机械设备的核心耗损性部件的工作数据,包括部件工作时长、转速、温度、电压、电流等多类工况数据。希望参赛者利用大数据分析、机器学习、深度学习等方法,提取合适的特征、建立合适的寿命预测模型,预测核心耗损性部件的剩余寿命。 2.赛题难点 针对数据量以及划分构造训练集的问题采用以下方案解决: 训练集与测试集的构造: a.一个训练样本按照寿命的一定比例进行构造多个小样本; 这里有两种方法,一是采用固定的比例列表,例如[0.45,0.55,0.63,0.75,0.85]。 二是采用多次选取随机比例构造。 b.测试集不变。 (队友周杰曾尝试过测试集也进行比例划分,有提升) 比如说一个样本的寿命为1000,我们截取450前的数据作为一个训练样本,其剩余寿命为550; 然后截取550前的数据

LightGBM windows installation issue - cmake - does not support platform specification

北城以北 提交于 2021-02-17 07:01:26
问题 I am trying to install LightGBM in windows 10 using cmake. I am following the process given on this link on this command cmake -DCMAKE_GENERATOR_PLATFORM=x64 .. it gives the error saying CMake Error at CMakeLists.txt:7 (PROJECT): Generator NMake Makefiles does not support platform specification, but platform x64 was specified. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!

What is leaf_values from Python LightGBM?

牧云@^-^@ 提交于 2021-02-10 19:35:42
问题 I'm using the LightGBM Package. I have successfully created a new tree using "create_tree_digraph" but I face some trouble understanding the result. There is "leaf_value" in a leaf node. I don't know what it means. Please, somebody help me understand this. Thanks. :) I used this example code from here: https://www.analyticsvidhya.com/blog/2017/06/which-algorithm-takes-the-crown-light-gbm-vs-xgboost/ #importing standard libraries import numpy as np import pandas as pd from pandas import Series

Reproduce LightGBM Custom Loss Function for Regression

这一生的挚爱 提交于 2021-02-07 09:40:39
问题 I want to reproduce the custom loss function for LightGBM. This is what I tried: lgb.train(params=params, train_set=dtrain, num_boost_round=num_round, fobj=default_mse_obj) With default_mse_obj being defined as: residual = y_true - y_pred.get_label() grad = -2.0*residual hess = 2.0+(residual*0) return grad, hess However, eval metrics are different for the default "regression" objective, compared to the custom loss function defined. I would like to know, what is the default function used by

小白学PyTorch | 11 MobileNet详解及PyTorch实现

╄→гoц情女王★ 提交于 2021-02-07 00:18:35
【机器学习炼丹术】的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 10 pytorch常见运算详解 小白学PyTorch | 9 tensor数据结构与存储结构 小白学PyTorch | 8 实战之MNIST小试牛刀 小白学PyTorch | 7 最新版本torchvision.transforms常用API翻译与讲解 小白学PyTorch | 6 模型的构建访问遍历存储(附代码) 小白学PyTorch | 5 torchvision预训练模型与数据集全览 小白学PyTorch | 4 构建模型三要素与权重初始化 小白学PyTorch | 3 浅谈Dataset和Dataloader 小白学PyTorch | 2 浅谈训练集验证集和测试集 小白学PyTorch | 1 搭建一个超简单的网络 小白学PyTorch | 动态图与静态图的浅显理解 参考目录: 1 背景 2 深度可分离卷积 2.2 一般卷积计算量 2.2 深度可分离卷积计算量 2.3 网络结构 3 PyTorch实现 本来计划是想在今天讲EfficientNet PyTorch的,但是发现EfficientNet是依赖于SENet和MobileNet两个网络结构,所以本着本系列是给“小白”初学者学习的,所以这一课先讲解MobileNet,然后下一课讲解SENet

双节棍「大师」鱼佬亲传武功秘籍:如何进行一场数据挖掘算法竞赛?

自作多情 提交于 2021-02-06 15:11:16
当我们掌握了一定的机器学习和数据挖掘基础理论后,参加一场数据算法竞赛可以接触真实的业务和数据,将理论知识过渡到工程应用,同时可以在竞赛过程中进行反复地思考,强化对理论知识的理解。 本次分享,我将以个人竞赛经历和圈内整体情况为背景和大家聊聊如何进行一场数据挖掘算法竞赛,以及赛前、赛中和赛后需要做哪些事情。最后还将进行一个案例分享,来看看我是如何进行一场比赛的。 注: 本文详细视频 晚7点 在阿里天池分享,链接可回看 https://tianchi.aliyun.com/course/live?liveId=41153 主题大纲 为什么要参加数据挖掘竞赛?能带来什么? 参加竞赛需要哪些基础知识和技能? 如何选择适合自己的竞赛? 竞赛中的几个主要模块议 竞赛过程中最重要的事情 好的竞赛总结比竞赛过程更重要 案例分享( 天池“全国城市计算AI挑战赛”) 为什么要参加数据挖掘竞赛? 从理论知识到从理论知识到工程应用;真实数据,增加项目经验 求职加分,企业看重;企业办赛,人才选拔 奖金的激励(丰厚) 交友,学习,PK高手 参加竞赛需要的基础知识和技能? 理论知识掌握:评价指标、数据分析、特征工程、常用模型 工具的掌握 语言的选择:Python 可视化工具:Matplotlib、Seaborn 数据处理工具:Pandas、NumPy 机器学习库:Sklearn、XGBoost、LightGBM

如何解决树模型中one_hot的问题

£可爱£侵袭症+ 提交于 2021-01-30 08:30:10
问题引入 在做特征工程的时候,都会使用到one_hot编码,编码可以解决某些不能被数值化的问题,但是这种编码会带来很多问题,这点之前已经说过,那么如何解决这个问题呢? 问题解答 类别特征的最优切分。这个方法需要对应工具的支持,我所知的支持这个方法的工具有h2o.gbm和LightGBM,用LightGBM可以直接输入类别特征,并产生同图1右边的最优切分。在一个k维的类别特征寻找最优切分,朴素的枚举算法的复杂度是指数的 O(2^k)。LightGBM 用了一个 O(klogk)[1] 的算法。算法流程如图2所示:在枚举分割点之前,先把直方图按照每个类别对应的label均值进行排序;然后按照排序的结果依次枚举最优分割点。当然,这个方法很容易过拟合,所以LightGBM里面还增加了很多对于这个方法的约束和正则化。图3是一个简单的对比实验,可以看到Optimal的切分方法在AUC提高了1.5个点,并且时间只多了20% 。 转成数值特征。在使用 sklearn 或 XGBoost 等不支持类别特征的最优切分工具时,可以用这个方法。常见的转换方法有: a) 把类别特征转成one-hot coding扔到NN里训练个embedding;b) 类似于CTR特征,统计每个类别对应的label(训练目标)的均值。统计的时候有一些小技巧,比如不把自身的label算进去(leave-me-out,

LightGBM Warning: There are no meaningful features, as all feature values are constant

旧时模样 提交于 2021-01-29 10:40:28
问题 I have tried the following simple code: import lightgbm, pandas params = {'objective': 'multiclass', 'num_classes': 4} train_df = pandas.DataFrame({'f0': [0, 1, 2, 3] * 5, 'f1': [0, 0, 1] * 6 + [1, 2]}, dtype=float) train_target = pandas.Series([0, 1, 2, 3] * 5) train_set = lightgbm.Dataset(train_df, train_target) model = lightgbm.train(params=params, train_set=train_set) The output is as follows: [LightGBM] [Warning] There are no meaningful features, as all feature values are constant.

LightGBM plot_tree() Leaf numbers

霸气de小男生 提交于 2021-01-29 06:36:45
问题 What do the numbers on the LightGBM plot_tree method represent? As an example, I used the Pima Indian Diabettes dataset and then used the plot_tree method to yield the following: What do the numbers on the leaf nodes represent? 来源: https://stackoverflow.com/questions/60713364/lightgbm-plot-tree-leaf-numbers

Accessing LightGBM model parameters

怎甘沉沦 提交于 2021-01-27 14:58:21
问题 Sometimes I save a LightGBM model and later, upon reloading it, want to access some details about how the model was built. Is there a way to recover the fact that objective = "regression" , for example? For convenience, here is brief code to play with: library(lightgbm) data(agaricus.train, package = "lightgbm") train <- agaricus.train dtrain <- lgb.Dataset(train$data, label = train$label) data(agaricus.test, package = "lightgbm") params <- list(objective = "regression", metric = "l2") model