基于UEBA的用户上网异常行为分析

比赛地址链接:https://www.datafountain.cn/competitions/520

数据:


代码:

import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
import lightgbm as lgb
from sklearn.model_selection import KFold
from category_encoders import TargetEncoder
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import mean_squared_error
import math
from sklearn import ensemble
from datetime import datetime# 读取数据
train = pd.read_csv('train_data.csv',encoding='gb18030')
test = pd.read_csv('A_test_data.csv',encoding='gb18030')
data = pd.concat([train, test]).reset_index(drop=True)
# 特征处理
for col in data.columns:if col not in ['ret','time','id']:le = LabelEncoder()data[col] = le.fit_transform(data[col])
# 时间戳的处理
data['time']= pd.to_datetime(data['time'], format='%Y-%m-%d')
data['month']= data['time'].dt.month
data['day']= data['time'].dt.day
data['weekday']= data['time'].dt.weekday
data['hour'] = data['time'].dt.hour
# 类别特征
data = pd.get_dummies(data, columns=['vlan','group'],drop_first=True)
# 训练
train_x = data[data['ret'].notnull()]
train_y = train['ret']
test_A = data[data['ret'].isnull()]
target=train['ret']
features=[x for x in data.columns if x not in ['ret', 'time', 'id']]predictions_lgb= np.zeros((len(test)))
KF = KFold(n_splits=5, shuffle=True, random_state=2021)
params={"objective": "regression", "learning_rate": 0.05,"max_depth": 7, "num_leaves": 32, "bagging_fraction": 0.8, "feature_fraction": 0.8, "num_threads": 64,'metric': 'rmse',"verbose": -1}oof_lgb = np.zeros(len(train_x))
for fold_, (trn_idx, val_idx) in enumerate(KF.split(train_x.values, train_y.values)):print("fold n°{}".format(fold_))trn_data = lgb.Dataset(train_x.iloc[trn_idx][features], label=train_y.iloc[trn_idx])val_data = lgb.Dataset(train_x.iloc[val_idx][features], label=train_y.iloc[val_idx])num_round = 6000clf = lgb.train(params,trn_data,num_round,valid_sets=[trn_data, val_data],verbose_eval=500,)oof_lgb[val_idx] = clf.predict(train_x.iloc[val_idx][features], num_iteration=clf.best_iteration)predictions_lgb[:] += clf.predict(test_A[features], num_iteration=clf.best_iteration)predictions_lgb= predictions_lgb / 5
print('score:',  (1/((math.sin(math.atan(np.sqrt(mean_squared_error(oof_lgb,target)))))+1)))
test['ret'] = predictions_lgb
test[['id', 'ret']].to_csv("submission.csv", index=False)


参考:
https://blog.csdn.net/qq_44694861/article/details/120423658

CCF的基于UEBA的用户上网异常行为分析baseline(线上0.9263)相关推荐

  1. 2021 CCF基于UEBA的用户上网异常行为分析baseline线上0.90

    2021CCF BDCI 今年CCF又来了,每年都有大佬选手夺冠,也有黑马新人突出重围,对于新人来说一份baseline是很好的起点,可以更快入门数据竞赛.(大佬请忽略!!!) 基于UEBA的用户上网 ...

  2. 基于UEBA的用户上网异常行为分析

    1. 引言 1.1 项目介绍 ✅ 随着企业信息化水平的不断提升,数据作为一种资产成为越来越多企业的共识,企业在产业与服务.营销支持.业务运营.风险管控.信息纰漏等生产.经营.管理活动中涉及到大量的商业 ...

  3. UEBA的用户上网异常行为分析方案总结

    文章目录 1. 赛题背景 2. 算法方案整体流程 3. 特征分析与选择 3.1 数据量基本描述 3.2 类别特征编码 3.3 移除均匀分布变量 3.4 移除取值过多的干扰变量 3.5 最终变量 4. ...

  4. Openwrt/koolshare基于接口控制用户上网时间的方法

    准备 openwrt分支:koolshare koolshare版本:Linux Dhlwrt 4.14.115 #0 SMP Tue May 7 03:04:33 2019 x86_64 Openw ...

  5. WSDM-爱奇艺:用户留存预测挑战赛 线上0.865

    赛题介绍 http://challenge.ai.iqiyi.com/detail?raceId=61600f6cef1b65639cd5eaa6 https://www.datafountain.c ...

  6. jpa,分析duid参数,当前用户的最大线程数,线上问题排查,stack命令查看占用CPU高的线程堆栈信息

    1.先查看应用进程号: ps -ef | grep 应用名 ,也就是 pid 2.查看pid垃圾回收情况: jstat -gc pid 5000(时间间隔) 3.dump jvm二进制的内存详细使用情 ...

  7. 线上发生死锁异常了,该怎么办

    前言 MySQL 死锁异常是我们经常会遇到的线上异常类别,一旦线上业务日间复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常.这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,并且分 ...

  8. 基于thinkphp线上考试系统

    开发语言:PHP 框架:原生php/thinkphp5 服务器:Apache 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat 11 运行软件:小皮phpStudy 随着社会 ...

  9. 论文阅读:基于用户上网数据的电影个性化推荐系统研究

    基于用户上网数据的电影个性化推荐系统研究 赵鹏程,黄韬* *(北京邮电大学信 工程学院,北京 100876) 摘要:本文讲述了如何构建出完整电影知识图谱的方法,同时提出了一套发掘电影系列的实现算法.基 ...

最新文章

  1. jdk 环境配量配置
  2. C++知识点60——非类型模板参数
  3. 【Tools】RDB打包工具详解
  4. 斯坦福大学机器学习第五课正则化“
  5. Subversion(SVN)/TortoiseSVN 的分支合并方法
  6. AppScan api登录接口 postman_如何通过Postman调用EDI系统的API?
  7. 深度学习李宏毅PPT学习笔记一(深度学习介绍)
  8. 数字化方法基础(二)_点的投影
  9. 我的计时软件TimeDogV13
  10. 177.第N高的薪水
  11. Matlab动态PID仿真及PID知识梳理
  12. 图像压缩之DCT变换
  13. 大数据 排错日记0004——Unable to check if JNs are ready for formatting
  14. [转载]VBA创建数据透视表
  15. 短视频矩阵系统源码。抖音矩阵系统源码。抖音SEO源码。
  16. 租车APP开发的市场优势和主要功能
  17. Java常用缓存组件和方法
  18. 微信小程序在开发者工具和预览下边跳转都好好的真机预览就找不到页面,报错 {“errMsg“:“navigateTo:fail page \“***\“ is not found“}
  19. 交换机进阶配置 、 路由器组网 、 企业网架构
  20. unity3d5.1物体椭圆旋转选择界面实现(一)

热门文章

  1. c语言如何判定是32位系统还是64位系统
  2. Python札记 -- 使用easy_install进行模块/包管理
  3. 【\u20a 错误解决】
  4. python爱意满满_抖音ohbaby你就是我最想要的是什么歌 歌曲分享
  5. 为什么HashMap默认初始容量为2次幂?不是2次幂会怎样?讲讲 HashMap 扰动函数?
  6. 双月报8.24-10.23
  7. 泛型编程和STL基础学习(C++)(未完待续)
  8. android 键盘快捷指令
  9. 抓住那头牛(宽搜bfs)
  10. UI设计课程教程分享:Banner的设计和技巧