# 战队名:学不动
初赛33,决赛19,相关代码说明可以去CSDN博客上查阅:https://blog.csdn.net/qq_26593695/article/details/105834660
比赛地址:https://tianchi.aliyun.com/competition/entrance/231775/introduction
## requirements
* lightgbm 2.3.0
* sklearn
* pandas==0.24.2
* pickle
* numpy
* tqdm
* scipy ==>1.1.0
##data目录下
```text
tcdata|-disk_sample_smart_log_round2 线上测试数据
round1_train|- 所有数据集,包括tag
```
需要按照以下步骤依次执行.py文件
```python
#"generate process data...."
python home/semi/feature/generate.py
# "train model ...."
python home/semi/model/basic_model.py
python home/semi/model/basic_tag_model.py
#"inference ...."
python home/semi/main.py
```
特征说明:
```text
主要做了以下特征工程:
在做特征之前,对Nan值进行了处理,采用三次样条差值补全nan。
由于有些数据前后nan值缺失较多,无法插值补齐,故插值之后还有少量nan值,
lgb模型可以自动处理nan值,故插值未对少量nan值做后续处理。
1、**时序的差分特征**
用当前log的feature与之前log的feature做差值,时间间隔可以取
例如 1 3 7,但由于设备有限,支撑不了这么多特征,
所以选取了部分特征做差值,同时取1 3 7 间隔差值的mean 来将三个
不同时间间隔的特征融合成一个。
2、**初始状态变化特征**
同样用当前log的feature与serial表中,disk的初始状态做差值,同样由于设备内存
限制,只选了几个做,如果全做,效果会好很多。
3、**disk使用时长**
一般来说disk 使用的时间越久,坏的机率越大
serve_time=dt-init_dt
4、**数据丢失率特征**
通过观察数据分布,发现数据缺失越多,越容易发生故障。
miss_data_rate=(disk当前为止所有log数量)/(disk使用时长)
5、**其他特征**
比如加窗的统计特征,由于是时间序列,可以构建加窗的聚合函数
由于设备原因,以及这些特征构建后发现效果不是很明显,故舍去
6、**尝试的特征提取**
对于时序数据,采用LSTM提取时序特征,初步尝试,效果不好,可能是数据
预处理不恰当,后期可以继续尝试。对于连续特征和部分可以当作离散特征的高阶
组合,可以采用DNN,FM 进一步挖掘。
对于数据的预处理还尝试用Log平滑化,以及标准化处理,但是从结果上看,
由于分布差异较大,标准化会改变feature一些特性,所以舍去这部分处理
## 相对于初赛增加了一些特征:
1、curr rate :当天统计分数,即特征在当天log中的评分
2、model count:发现disk分布中 拥有两种model的disk 坏其中一个的概率较大
3、 gather erro: 选取了几种对于错误描述的smart进行累和。
4、 gct_change: 带窗函数的特征变化率
5、 ewm_calculate: 指数平滑 取mean 和std
6、 ewm_var_diff : var*diff 增大变异程度
7、 scale_smart : raw/normlized 一种规范化的方式
8、 diff_cumsum : 在原差分的基础上,做了积分,仿照dpi类似的思想,累计误差
9、 data_smoother: 一种加权的线下处理
10、 tag_predict :给每个disk 打上tag的标签,一定程度上预知坏的类别
```
模型说明:
```text
主要模型还是lgbm,对于数据的效果最佳
初赛时采用分类建模,复赛后转向回归建模,打标签的方式非常重要!!!
tag是个很重要的特征,对于不同类型的损坏应该加以区分,最大化利用tag的信息
lgb多分类模型来预先给disk打上tag标签
```
## 阈值设定
```text
由于赛方要求不能rank求阈值,所以复赛改变了之前的筛选策略,详细可查看
code/evalues.py
制定了多种筛选策略,最后选取了实时分model取top的机制
线上只是简单融合了两个不同参数的lgb模型,
model 放了两个lgb模型,和预测tag的模型,或者运行basic_tag_model.py
和lgb_regressionModel.py训练并生成模型。
线上的predict原始文件也一并保留了
main.py可直接生成predict.csv 和zip 到../prediction_result/
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的竞赛项目学习资料,作为参考学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 2020阿里巴巴智能运维算法大赛参赛源码(决赛19).zip
资源推荐
资源详情
资源评论
收起资源包目录
2020阿里巴巴智能运维算法大赛参赛源码(决赛19).zip (21个子文件)
code_20105
qualifications
feature
generate.py 13KB
predict.py 26KB
model
basic_model.py 7KB
prediction_result
predictions.csv 2KB
import_feature.npy 18KB
code
main.py 2KB
hellow.py 20B
main.sh 170B
semi
feature
generate.py 21KB
predict.py 26KB
Dockerfile 615B
model
lgb_regressionModel.py 6KB
basic_tag_model.py 4KB
ensenble_lgb2_59.pkl 2.37MB
ensenble_lgb1_58.pkl 2.51MB
prediction_result
predictions.csv 2KB
README.md 4KB
code
main.py 23KB
evalues.py 12KB
main.sh 214B
README.md 4KB
共 21 条
- 1
资源评论
土豆片片
- 粉丝: 1562
- 资源: 5642
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于ARM的指令调度和延迟分支
- 基于Vue和TypeScript的极简聊天应用设计源码 - HasChat
- 基于Vue2全家桶和Zcool数据的图片收集网站设计源码 - cool-picture
- 基于C和C++的二维绘制工具设计源码 - DrawPro
- Object.defineProperty 的 IE 补丁object-defineproperty-ie-master.zip
- 整卷预览.mhtml
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见
- MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了丰富的SQL语句用于数据库的创建、查询、更新和管理 以下是一些常见的
- 基于Javascript的结婚请帖设计源码 - Invitation
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功