数据挖掘基本概念

数据挖掘定义

最广为接受得到定义是,数据挖掘是数据“模型”的发现过程。而“模型”却可以有多种含义。

1)统计建模

统计学家认为数据挖掘就是统计模型的构建过程,而这个统计模型指的就是可见数据所遵从的总体分布。

2)机器学习

有些人将数据挖掘看成是机器学习的同义词。毫无疑问,一些数据挖掘方法中适当使用了机器学习算法。机器学习的实践者将数据当成训练集来训练某类算法,比如贝叶斯网络、支持向量机、决策树、隐马尔科夫模型等。

某些场景下上述的数据利用方式是合理的。机器学习擅长的典型场景是人们对数据中的寻找目标几乎一无所知。比如,我们并不清楚到底是影片的什么因素导致某些观众喜欢或者厌恶该影片。因此,在Netflix竞赛要求设计一个算法来预测观众对影片的评分时,基于已有评分样本的机器学习算法获得了巨大成功

另一方面,当挖掘的目标能够更直接地描述时,机器学习并不成功。一个有趣的例子是,WhizBang实验室曾试图使用机器学习方法在Web上定位人们的简历。但是不管使用什么机器学习算法,最后的效果都比不过人工设计的直接通过典型关键词和短语来查找简历的算法。

3)建模的计算方法

近年来,计算机科学家已将数据挖掘看成一个算法问题。这种情况下,数据模型仅仅就是复杂查询的答案。

数据建模有很多不同的方法。前面我们已经提到,数据可以通过其生成所可能遵从的统计过程构建来建模。而其他的大部分数据建模方法可以描述为下列两种做法之一:

(1)对数据进行简洁的近似汇总描述

(2)从数据中抽取出最突出的特征来代替数据并将剩余内容忽略。

4)数据汇总

一种最有趣的数据汇总形式是pageRank..

另一种重要的数据汇总形式是聚类。

5)特征抽取

典型的基于特征的模型会从数据中寻找某个现象的最极端样例,并使用这些样例来表示数据。熟悉机器学习的一个分支——贝叶斯网络的读者应该会知道,在贝叶斯网络中,可以利用寻找对象间的最强统计依赖来表示所有统计关联,从而表示出对象之间的复杂关系。我们将要介绍大规模数据集下的一些重要的特征抽取类型,它们包括以下两种。

1)频繁项集:该模型适用于多个小规模项集组成的数据。

2)相似项:很多时候,数据往往看上去相当于一系列集合,我们的目标是寻找那些共同元素比例较高的集合对

数据挖掘的统计限制

一类常见的数据挖掘问题涉及在大量数据中发现隐藏的异常事件。本节主要讨论这个问题,并介绍对数据挖掘的过度使用进行警告的邦弗朗尼原理。

1.整体情报预警

2.邦弗朗尼原理

假定人们有一定量的数据并期望从该数据中找到某个特定类型的事件。即使数据完全随机,也可以期望该类型事件会发生。

相关知识

1.词语在文档中的重要性

这种度量给定词语在少数文档中反复出现程度的形式化指标称为TF.IDF(TF指词项频率;IDF是指逆文档频率;TF.IDF表示词项频率乘以逆文档频率)。它通常采用如下方式计算。假定文档集中有N篇文档,fij为词项i在文档j中出现的频率(即次数),于是,词项i在文档j中的词项频率TFij定义为

也就是词项i在文档j中的词项频率fij归一化结果。

于是,词项i在文档j中的得分被定义为TFij×IDFi,具有最高TF.IDF得分的那些词项通常都是刻画文档主题的最佳词项。

2哈希函数

3.索引

4.二级存储器

《Mining of Massive Datasets》笔记(一)的更多相关文章

  1. python程序设计语言笔记 第一部分 程序设计基础

    1.1.1中央处理器(CPU) cpu是计算机的大脑,它从内存中获取指令然后执行这些指令,CPU通常由控制单元和逻辑单元组成. 控制单元用来控制和协调除cpu之外的其他组件的动作. 算数单元用来完成数 ...

  2. C程序设计语言笔记-第一章

     The C Programming language notes 一 基础变量类型.运算符和判断循环         char                 字符型  character      ...

  3. 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习

    1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...

  4. MOOC 编译原理笔记(一):编译原理概述以及程序设计语言的定义

    编译原理概述 什么是编译程序 编译程序指:把某一种高级语言程序等价地转换成另一张低级语言程序(如汇编语言或机器代码)的程序. 高级语言程序-翻译->机器语言程序-运行->结果. 其中编译程 ...

  5. 20145213《Java程序设计学习笔记》第六周学习总结

    20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...

  6. javascript高级程序设计阅读笔记(一)

    javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...

  7. 《c++程序设计》笔记

    本文是学习谭浩强老师的<c++程序设计>后的笔记. 1.概述 c++是贝尔实验室在c语言的基础上发展而来,与c兼容.用c语言写的程序可以不加修改用于c++.从c++的名字可以看出它是c的超 ...

  8. 003-scanf函数使用和表达式-C语言笔记

    003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...

  9. 操作系统和程序设计语言的API使用的字符编码分析

     1.Java的运行环境中,String是什么编码? 使用java做程序设计语言,字符编码是和jvm相关的,和操作系统无关. java默认的编码是jvm在安装的时候就确定了的,它是根据你的系统的环境确 ...

  10. 扩展《C程序设计语言》练习2-3程序通用性

    最近开始自学C语言,在看K&R的<C程序设计语言>.练习2-3要求写一个函数,将输入的十六进制数字字符串转换成与之等价的整数值,配套答案没有扩展程序的通用性,所以我就稍微改造改造. ...

随机推荐

  1. Phaser实现源代码剖析

    Phaser是一个能够反复利用的同步栅栏.功能上与CyclicBarrier和CountDownLatch相似,只是提供更加灵活的使用方法.也就是说,Phaser的同步模型与它们几乎相同. 一般运用的 ...

  2. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码, 1 1.1. 子模式 urlsafe Or  url  ...

  3. DM36x IPNC OSD显示中文 --- 基础知识篇

    为了简单起见,只显示GB2312(简体中文)字符一.GB2312汉字编码1.区位码在国标GB2312—80中规定,所有的国标汉字及符号分配在一个94行.94列的方阵中,方阵的每一行称为一个“区”,编号 ...

  4. POJ 2528 Mayor&#39;s posters 离散化+线段树

    题目大意:给出一些海报和贴在墙上的区间.问这些海报依照顺序贴完之后,最后能后看到多少种海报. 思路:区间的范围太大,然而最多仅仅会有10000张海报,所以要离散化. 之后用线段树随便搞搞就能过. 关键 ...

  5. 2. Trailing Zeros【easy】

    2. Trailing Zeros[easy] Write an algorithm which computes the number of trailing zeros in n factoria ...

  6. Python内置函数之all()

    all()函数返回值不是True就是False. 它只能传入一个参数,而且参数必须是可迭代对象,换句话说,参数不是元组就是列表(通常情况下). all()中的可迭代对象所有元素值为True或者不包含元 ...

  7. windows system.exe占用文件

    1)问题的原因是出于一个服务Application Experience,如果装好系统后就把此服务设为手动启动了,平时运行也没什么异常.但是win7在运行exe时如果没有这个服务的辅助就会长时间的占用 ...

  8. Linux下批量删除空文件

    Linux下批量删除空文件(大小等于0的文件)的方法 find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还能够删除指定 ...

  9. linux下使用Stunnel配置与使用方式一例

    第一部分:stunnel的安装与配置 注:在ubuntu下,stunnel的安装很简单快捷. 在synaptic(安立得工具系统下可以直接选举安装) 在服务器环境下,直接使用apt-get insta ...

  10. Java基础教程笔记

    第一部分——java基础程序设计 一:java语言特色 1:语言有点:“一次编写,到处运行” 2:相对于C++A:提供了对内存的自动管理:B:去除了C++语言中的“指针”:C:避免了赋值语句(如a=3 ...