【阿里云新人赛】恶意程序检测-项目实践总结

1. 比赛信息

比赛地址:阿里云恶意程序检测新人赛
比赛介绍:使用自然语言处理的方法对恶意程序的行为(API调用序列)进行分析,实现对恶意程序鉴别及分类。

2. 我的主要工作

1)数据预处理:格式转换csv->txt->pkl,根据fileid分组数据,排序后生成api序列,用于训练;
2)数据分析及可视化:主要是数据分布分析,包括恶意程序类别分布分析、调用api的类别及频率分析,训练集与测试集分布差异分析(计算交叉熵)等,
得出结论:此任务训练集与测试集分布差异不大,恶意程序类型更多是与api调用序列有关,与api类别及api调用次数关系不大;
3)模型训练及测试:使用了ngram,tf-idf等方法,使用word2vec训练了词向量,xgboost进行了集成学习,并使用了n折交叉验证。
心得:ngram比tf-idf更适合于此任务,
原因在于IDF是一种试图抑制噪音的加权,单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,而对于此任务来说,出现频率小的api也是很有用的。
4)线上成绩:0.472587,129名(2019-11-04)

3. 实践记录(博客形式)

【新人赛】阿里云恶意程序检测 -- 实践记录10.20 - 数据预处理 / 训练数据分析 / TF-IDF模型调参
【新人赛】阿里云恶意程序检测 -- 实践记录10.27 - TF-IDF模型调参 / 数据可视化
【新人赛】阿里云恶意程序检测 -- 实践记录11.3 - n-gram模型调参
【新人赛】阿里云恶意程序检测 -- 实践记录 11.24 - word2vec模型 + xgboost

4. 个人主页

天池主页: Yenchiang-阿里天池
博客主页:Yanqiang-博客园
Github主页:YanqiangWang-Github

原文地址:https://www.cnblogs.com/yanqiang/p/12335178.html

时间: 2024-08-27 18:35:56

【阿里云新人赛】恶意程序检测-项目实践总结的相关文章

解决阿里云服务器提示挖矿程序风险

今天大早上收到阿里云邮件通知,提示有挖矿程序.一个激灵爬起来,折腾了一早上,终于解决问题了. 其实前两天就一直收到阿里云的通知,检测到对外攻击,阻断了对其他服务器6379. 6380和22端口的访问,当时没怎么当一回儿事,反正是我用来自己学习用的,就放着不管了,结果今天事态就大了.那就来解决吧. 首先xshell连接服务器,这时候输入命令时明显感觉巨卡. 肯定是cpu被占满了,输入 top -c 命令查看有个进程叫 kworkerds.占用了将近100%的CPU. 这 kworkerds 是个啥

阿里云ESC学生服务器搭建springboot项目生产环境(Mysql+JDK)不需要上传安装包

嗯,之前服务器被挖矿的病毒弄的登录不进去了,所以联系了阿里云客服,提交工单,最后建议重置,所以我就重置了,之后只能在装一次了 嗯,学习经验,docker如果懂的不是太多,不要随便云部署,都给别人挖矿了.   Mysql安装:中间有选择输入 y 即可: 下载mysql源安装包: wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装MySQL源: yum localinstall mysql57-com

基于阿里云服务器Linux系统部署JavaWeb项目(一)

前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法.之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服务器.学生可以选择学生机,价格非常优惠.本人选择的是系统镜像:CentOS 7.3 64位. 根据需要部署了以下环境: 1.配置Java环境 2.安装Tomcat及配置.war包部署 3.安装MySql及配置.运行sql文件 准备工作: 1.首先需要开通项目用到的端口,例如8080端口,下图为本人开

golang sms阿里云发送短信(公司实际项目)

话不多说,直接上代码!!! 要先下载两个包 (可以go get -u +你想要的包) github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi package main import ( "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" &

阿里云实战之一(必备程序安装)

为了放我的在线代码编辑器,我用了阿里云的空间,用的linux服务器,空间性能见探针http://www.wcodei.com/i.php 1.安装远程操作工具 下载putty.exe,输入公网ip,端口22,SSH连入,按提示输入root和密码登入. 2.安装apache,mysql,php 参见http://bbs.aliyun.com/read.php?spm=5176.7150518.1996836753.6.cw39IN&tid=130069 使用yum install httpd命令来

如何在阿里云的虚机 部署laravel项目

转发链接:https://jingyan.baidu.com/article/22a299b595425d9e19376aed.html laravel 版本:5.7 修改key生成方式,解决阿里云万网不支持AES-256-CBC: /config/app.php 找到 'cipher' => 'AES-256-CBC',改为 'cipher' => 'AES-128-CBC', 运行 php artisan key:generate 为.env 重新生成key后,通过FTP上传服务器 修改e

javaWeb项目部署到阿里云服务器步骤

记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以完成打包,如下图: 2.安装Xshell和Xftp两种软件 简单介绍下这两种软件作用(详情请百度相关文档) Xshell:通过网络连接到远程服务器主机. Xftp:能在Linux.Unix和Windows之间互传文件. 3.通过Xshell连接远程主机,如下图    4.创建会话完成,点击连接,显示

【转载】使用阿里云code和git管理项目

使用代码云托管和git来管理项目可以使多客户端和多人开发更加高效.通过对比github,bitbucket和国内一些云托管服务发现阿里云在项目空间和传输速度及稳定性上更能满足公司开发的要求.本文将介绍关于阿里云code及git的简单使用. 一.注册阿里云 可以直接使用淘宝账号登录,根据官网提示注册登录即可.推荐使用绑定了邮箱的淘宝账号,这样可以避免一些设置git和ssh时可能遇到的问题. 二.下载和配置git 登录阿里云code之后再右上角个人头像边上有个帮助按钮,这里给出了简单的git教程.

.NET Core 跨平台物联网开发:连接阿里云IOT(一)

系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/AliIOTXFclient-dll类库&response 下载三个库,头部引入 即可使用 using AliIOTXFClient; 示例下载地址 http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/demo示例 本章使用