数据挖掘导论学习---1

最近在看清华大学数据挖掘导论,图个自己复习省事,把学的东西整理在这里,也希望本菜鸡的整理对一些童鞋有帮助吧。

分类问题:

定义:给定训练集:{(x1,y1),...,(xn,yn)},生成将任何未知对象xi映射到其类标签yi的分类器(函数)。

图示:

其经典算法:

  • 决策树
  • KNN
  • 神经网络
  • 支持向量机

注意:我们要的理想分类器是可以得到大部分正确的结果,并不是要达到100%,结果要求平滑。

分类问题算法中的交叉验证:

过程:

  1. 利用数据中的训练集进行模型的生成。
  2. 利用测试集进行模型的评测(evaluation)
  3. 将评测的结果反馈给生成模型。
  4. 若评测结果比较满意,进行生成模型的输出。否则重新生成。

至于如何进行评测,我们要首先了解一个名词:混淆矩阵(confusion matrix):

举一个栗子来帮助理解:

我们将性别作为y,即两分类问题中的类别,男,女。我们令男为positive,女为negative。

假若有一人性别为男,其actual value就是positive。如果我们将这个人的属性输入(属性是啥可以自己定咯)模型得到positive,则对应上图的true positive,表明预测成功,得到negative对应false negative,表明将男人预测为女人。反之,则对应其余两个格子。

当然,这一模型的准确率就可以用accuracy = ( TP+TN )/( P+N )(测试集数据结果)为此模型准确率。

下面ROC曲线:

来看第一个图!

如果我们还是预测性别,利用身高属性来直接预测的话:

横坐标代表身高,两条线代表男人/女人,中间这个线啊,就是阈值。

紫色部分为TP,FP重合之处。

好,第二个!没啥说的。。。。其下面的1也是对应第一个图中线所围成的面积。

我们看第三个图:

如果我们将阈值定为1m,所有预测都是男生。TP为100%,FP为100%。对应第三图右上角(very small threshold)。

如果将阈值定为5m,FP,TP都是0,对应于左下角(very large threshold)。

不同的阈值,对应着此坐标系中不同点的取值。

其中,链接两个对角的对角线为random guess,也就是来一个人,不管什么属性,随机猜,就是这个效果。

理论上,我们希望这条曲线越高越好。为了衡量这条线的好坏,定义AUC。为此线下面的面积,为测试模型好坏的一指标。越接近1,此模型越好。

本菜鸡还是初学者,有啥错误希望路过的大神指正。

原文地址:https://www.cnblogs.com/jameschou/p/10989908.html

时间: 2024-08-19 04:02:19

数据挖掘导论学习---1的相关文章

【数据挖掘导论】——绪论

数据挖掘导论读书笔记之绪论 数据挖掘的前提:数据收集和数据存储技术的快速进步. 数据挖掘是一种技术,它将传统的数据分析方法与处理大量数据的复杂算法相结合.为探查和分析新的数据类型以及用新方法分析就有数据类型提供了令人振奋的机会. 数据挖掘是在大型数据存储库中,自动的发现有用信息的过程. 数据挖掘与知识发现 数据挖掘是数据库中知识发现不可缺少的一部分(knowledge deiscovery in database)KDD,KDD是将未加工的数据转换为有用信息的整个过程. 输入数据:输入各种形式存

算法导论学习---红黑树具体解释之插入(C语言实现)

前面我们学习二叉搜索树的时候发如今一些情况下其高度不是非常均匀,甚至有时候会退化成一条长链,所以我们引用一些"平衡"的二叉搜索树.红黑树就是一种"平衡"的二叉搜索树,它通过在每一个结点附加颜色位和路径上的一些约束条件能够保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).以下会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码. 先给出红黑树的结点定义: #define RED 1 #define BLACK 0 ///红黑树结点定义,与普通

【算法导论学习-015】数组中选择第i小元素(Selection in expected linear time)

1.算法思想 问题描述:从数组array中找出第i小的元素(要求array中没有重复元素的情况),这是个经典的"线性时间选择(Selection in expected linear time)"问题. 思路:算法导论215页9.2 Selection in expect linear time 2.java实现 思路:算法导论216页伪代码 /*期望为线性时间的选择算法,输入要求,array中没有重复的元素*/ public static int randomizedSelect(i

数据挖掘算法学习(三)NaiveBayes算法

算法简单介绍 NBC是应用最广的分类算法之中的一个.朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同一时候,NBC模型所需预计的參数非常少,对缺失数据不太敏感,算法也比較简单. 算法如果 给定目标值时属性之间互相条件独立. 算法输入 训练数据   T={(x1,y1),(x2,y2),--,(xn,yn)} 待分类数据x0=(x0(1),x0(2),--,x0(n))T 算法输出 待分类数据x0的分类结果y0∈{c1,c2,--,ck} 算法思想 weka执行 以we

数据挖掘算法学习(一)K-Means算法

博主最近实习开始接触数据挖掘,将学习笔记分享给大家.目前用的软件是weka,下篇文章会着重讲解. 算法简介: K-Means算法是输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类.并使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类对象相似度较小. 算法假设: 均方误差是计算群组分散度的最佳参数. 算法输入: 聚类个数k:包含n个数据对象的数据集. 算法输出: k个聚类 算法思想: (a)绿点表示数据集在二级的欧几里德空间,初始化的中心点u1和u2用红的和蓝

算法导论学习---红黑树详解之插入(C语言实现)

前面我们学习二叉搜索树的时候发现在一些情况下其高度不是很均匀,甚至有时候会退化成一条长链,所以我们引用一些"平衡"的二叉搜索树.红黑树就是一种"平衡"的二叉搜索树,它通过在每个结点附加颜色位和路径上的一些约束条件可以保证在最坏的情况下基本动态集合操作的时间复杂度为O(nlgn).下面会总结红黑树的性质,然后分析红黑树的插入操作,并给出一份完整代码. 先给出红黑树的结点定义: #define RED 1 #define BLACK 0 ///红黑树结点定义,与普通的二

【数据挖掘导论】——数据质量

数据质量 数据挖掘使用的数据通常是为其他用途收集或者收集的时候还没有明确目的.因此数据常常不能在数据的源头控制质量.为了避免数据质量的问题,所以数据挖掘着眼于两个方面:数据质量问题的检测和纠正(数据清理):使用可以容忍低质量数据的算法. 测量和数据收集问题 完美的数据在实际中几乎是不存在的,对于存在的数据质量问题,我们先定义测量误差和数据收集错误,然后考虑测量误差的各种问题:噪声,伪像,偏倚,精度和准确度.接着讨论测量和数据收集的数据质量问题:离群点,遗漏和不一致的值,重复数据. 测量误差(me

算法导论 学习资源

学习的过程会遇到些问题,发现了一些比较好的资源,每章都会看下别人写的总结,自己太懒了,先记录下别人写的吧,呵呵. 1  Tanky Woo的,每次差不多都看他的 <算法导论>学习总结 - 1.前言 <算法导论>学习总结 - 2.第一章 && 第二章 && 第三章 <算法导论>学习总结 - 3.第四章 && 第五章 <算法导论>学习总结 - 4.第六章(1) 堆排序 <算法导论>学习总结 - 5.第六

【算法导论学习-014】计数排序(CountingSortTest)

参考:<算法导论>P194页 8.2节 Counting sort 1.Counting sort的条件 待排序数全部分布在0~k之间,且k是已知数:或者分布在min~max之间,等价于分布在0~max-min之间,max和min是已知数. 2.java 实现 /** * 创建时间:2014年8月17日 下午3:22:14 项目名称:Test * * @author Cao Yanfeng * @since JDK 1.6.0_21 类说明: 计数排序法,复杂度O(n), 条件:所有数分布在0