《写给程序员的数据挖掘指南》notes

中文版链接:https://dataminingguide.books.yourtion.com/
源码链接: https://github.com/yourtion/DataminingGuideBook-Codes
像读一本小说一样。
一本很好的数据挖掘入门书和python入门书,如果代码写得差数学也不好也看得下去。
整本书都是小案例,边看边demo比较好。

Part I 协同过滤

协同过滤是什么?
比如我想推荐一本书给你,我会在网站上搜索与你兴趣类似的其他用户,看看这个用户喜欢什么书然后把它们推荐给你。

如何寻找相似用户?
根据用户A和B有共同评价的书的评分计算距离:


Minkowski Distance

如何解决用户的评级差异问题?
皮尔森相关系数


Pearson Correlation Coefficient

但A和B有共同评价的书可能很少(数据稀疏),余弦相似度可以忽略这样的0-0匹配:


余弦相似度

仅依赖于最相近的用户推荐有时候是片面的,基于多个相似用户的推荐可能更好。比如K近邻算法。

隐式评级
除了用户给出评级(显式评级)之外,观察用户行为也是获得结果的方法:比如跟踪用户在纽约时报在线的点击轨迹。

到目前为止都是基于用户的过滤,但有两个问题:1 、扩展性(用户数量会变多);2、稀疏性。
因此最好采用基于物品的过滤,计算出最相近的两件物品。
同样用余弦相似度计算两个物品的相似度(为抵消分数夸大的情况,我们从每个评级结果中减掉平均评分):


调整后的余弦相似度

Slope one 算法
(1)计算所有物品对的偏差


5.PNG

(2)利用加权偏差进行预测


6.PNG

Part II 内容过滤和分类
内容过滤不同于协同过滤,它是基于物品属性的过滤。
选定某些特征,给出物品各项特征得分,其他和第一部分计算相似。

Part III 算法评估和KNN

(1)算法评估

n折交叉验证(留一法):测试集和训练集的划分可能会导致准确率无法反应实际分类器的精确程度。若把数据集分为N份,使用其中n-1份进行训练,剩下一份测试,重复10次做平均。(计算机开销比较大,适合小数据集)
混淆矩阵:可视化输出结果


混淆矩阵举例

Kappa统计量


kappa统计量

评估对照表

(2)kNN(选取最近的k个点投票)
Brill:更多训练数据比算法改进带来的准确率提高更多。

Part IV 概率和朴素贝叶斯
(1)朴素贝叶斯简介
近邻方法:lazy learner (每次都要遍历整个训练数据)
贝叶斯方法:eager learner(给定数据集立刻进行数据分析和模型构建)

P(h)即某个假设h为真的概率称为h的先验概率。
P(h|d)即观察到数据d之后h的概率称为后验概率。

贝叶斯定理

朴素贝叶斯(假设相互独立)
P(A|B,C,D)=P(A)P(B|A)P(C|A)P(D|A)

概率估计(防止nc为0)


概率估计

数据类型
贝叶斯方法用categorical data,区间内的值计数问题可以用如下解决:
方法一:构建类别


构建类别

方法二:高斯分布
高斯分布

(2)朴素贝叶斯及文本-非结构化文本分类

Part V 聚类--群组发现
kmeans聚类
层次聚类


层次聚类步骤

其他:

  • heapq模块 http://blog.csdn.net/marksinoberg/article/details/52734332
    *assert
    assert语句:用以检查某一条件是否为True,若该条件为False则会给出一个AssertionError。
    用法:assert type(x)=int and x>=0
    如果不满足后面的expression,则会弹出
    Traceback (most recent call last):
    File "<pyshell#7>", line 1, in <module>
    assert type(n)==int and n>0
    AssertionError
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容