Posts

Showing posts with the label Data Mining

根因分析之iDice 文章复现

Image
1 Abstract  原文 给的场景是对于大规模集群的运维,当一条issue被上报的时候,通常会带上一些attribute,比如时间,软件版本,所处的国家,城市,具体在哪个机房,浏览器,操作系统等等。 在平时的时候,每天的上报的issue数量应该是差不多的,但有些时候,报错数量会突然上升,对于运维人员定位到问题所在往往很花时间。背后的问题可能是某个attribute或者某几个attributes的组合,文章称为effective combination。 这里通过三个步骤来从所有的attribute combination中找到最后可能引发报错激增的effective combination。 2 Challenge 想要找到所有effective combination的最暴力的做法就是,枚举所有attribute combination,然后以某种方式来衡量它对于总体issue激增的关系。 这里主要的问题在于搜索空间过大,本文最大的创新在于对搜索空间的剪枝。如果一共有m个attribute,那一共的组合方式就是(2^m - 1)种 3 Approach 文章把整个流程主要分成三个步骤(用做剪枝)和一个结果排序 Impact based Pruning: 基于影响的用户量做剪枝(不含时间信息) Change Detection based Pruning: 基于时间线上的突变来剪枝(时间序列处理) Isolation Power based Pruning: 计算一个类似信息熵增益的值来判断这个attribute combination的区分度 Result Ranking: 计算这个attribute combination对于全局的显著性 3.1 Impact based Pruning 对于一个effective combination而言,它必须影响足够多的用户。所以这里定一个threshold来过滤掉一些不可能的参数组合。(排除时间这个维度) 这里的目的是 寻找closed frequent itemsets,文章里的没有对算法进行详细描述,就说用BFS-based closed itemset mining algorithm。 在复现的时候,我先用了现成的找 frequent itemset 的算法( Apriori /FPMax/ FPG...

Spectral Clustering 从入门到入门

Image
0x00 Introduction 写这篇文章的由头是因为自己前一阵读了Thomas N. Kipf, Max Welling大佬的 Semi-Supervised Classification with Graph Convolutional Networks 这篇文章。 文章核心在于怎么用数学的方式减小用在Graph数据上神经网络的运算量。因为之前所接触的神经网络限于Andrew NG的两门课,故而没接触过处理Graph的情况。这里的Graph指点集,边集构成的图。这篇文章并非paper的讲解。只是记录一下我关于Graph Clustering这个领域的入门心得。

Data mining 实战第一弹

Image
Audit了HKUST的Data mining. Dr. Lei Chen 又很nice的把作业和ppt在外网上公开了。 http://home.cse.ust.hk/~leichen/courses/mscbd-5002/   不做作业实在可惜 (链接可能会在学期结束后就失效) 于是我DM的第一次实战就是这门课的 Assignment2

Kaggle笔记: House Price prediction

Image
Kaggle 笔记 : House Price prediction Source :   https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard 1. 把 training set 和 test set 里面的 Id 列,移除(备份到一边) 2. 作出横轴是住房面积 纵轴是房价的图像,发现基本上房价和面积呈线性关系,并且发现有些数据住房面积很大 但是房价很低,这些属于 outlier data. 把它们从数据集中移除 3. 既然目标是房价预测, 我们把 training set 里面的房价分布图画出来 这里根据图像发现 并不是特别线性 4. 于是想到把 price 这一列求 log ,再画图观察,发现分布更正态了 5. 把 Training set 和 Test set 拼起来,观察 missing data 。 填充这些 missing data. 这里作者对着数据提供者的 description ,再加上一些想象把丢失的数据全部补完 6. 把数据集里面其实是 category 的 attribute 从数字表示 转化为字符串。比如 OverallCond 这个字段,代表 Rates the overall condition of the house 。它的数值在数据集中是 0 , 1 , 2… 10 。 但他本质上是 category 。 7. 对数据进行重新编码 , 把 category 的数据表示为数字比如性别 [‘male’, ’female’] -> [‘1’, ‘0’] ref: https://blog.csdn.net/quintind/article/details/79850455 8. 合并 / 新增变量: 因为对于售价面积是个很重要的因素,作者创建了一个新的变量:总面积 = 地下室面积 + 一楼面积 + 二楼面积 9. 查看各个 attribute 的分布情况,把非正太分布 (skewed features) 的转化为正态分布。   这里作者用的是 Box-cox Transf...