分类数据

数据挖掘经典算法概述以及详解链接

不想你离开。 提交于 2019-11-26 21:47:42
po主最近在学习数据挖掘方面相关算法,今天就在这里总结一下数据挖掘领域的经典算法,同时提供每个算法的详解链接,就当做在这里温习吧。对于熟悉的算法我会有较多的描述,不熟悉的算法可能描述较少,以免误导,但是会贴出学习的链接。由于本人也是资历尚浅,必然有错误的地方,也希望大家能够指出来,我也会改正的,谢谢大家。 数据挖掘方面的算法,主要可以用作 分类,聚类,关联规则,信息检索,决策树,回归分析 等。他们的界限并不是特别的明显,常常有交叉,如聚类算法在一定程度上也是一种分类算法。分类算法比较成熟,并且分支也较多。 这里先介绍两个概念: 监督学习 与 非监督学习 。通俗一点说,如果我们提前设置一些标签,然后对于每个待分类项根据一定规则分类到某些标签,这就是 监督学习 。如果我们提前不知道标签,而是通过一定的统计手段将一定量的数据,分成一个个类别,这就是 非监督学习 ,通常用作“聚类”(不绝对)。当然监督学习常用作分类学习,也可用作回归分析等。 1.K-Means算法 K-Means算法是一种常用的 非监督学习 聚类算法,也常用在图像检索领域,如K-Means+BoF算法。它的作用就是我们可以在不知道有哪些类别的情况下,将数据以K个 类心 ,聚成K个 聚类 。 通常我们会先确定一个相异度度量方法,常用的相异度有, 欧氏距离,曼哈顿距离,马氏距离,余弦距离 等。根据两个数据之间的“距离

通俗易懂的AI算法原理

我是研究僧i 提交于 2019-11-26 21:46:39
https://www.toutiao.com/a6706348363916247559/ 写给产品经理的机器学习算法入门,在文章中会忽略一些细节以及算法本身具体的实现方式。我想尽量用直白的语言、较少的数学知识给各位产品经理讲清楚各个算法的原理是什么。 机器学习的过程 机器学习的过程从本质上来说就是通过一堆的训练数据找到一个与理想函数(f)相接近的函数。在理想情况下,对于任何适合使用机器学习的问题在理论上是存在一个最优的函数让每个参数都有一个最合适的权重值,但在现实应用中不一定能这么准确得找到这个函数,所以我们要去找与这个理想函数相接近的函数,能够满足我们的使用那么我们就认为是一个好的函数。 这个训练数据的过程通常也被解释为在一堆的假设函数(Hypothesis set)中,它是包含了各种各样的假设,其中包括好的和坏的假设,我们需要做的就是从这一堆假设函数中挑选出它认为最好的假设函数(g),这个假设函数是与理想函数(f)最接近的。 机器学习过程 机器学习这个过程就好比在数学上,我们知道了有一个方程和一些点的坐标,用这些点来求这个方程的未知项从而得到完整的方程是什么。但在机器学习上我们往往很难解出来这个完整的方程是什么,所以我们只能通过各种手段求最接近理想情况下的未知项取值,使得这个结果最接近原本的方程。 什么问题适合用机器学习解决 机器学习不是万能的,并不能解决所有的问题

【机器学习实战】KNN算法

非 Y 不嫁゛ 提交于 2019-11-26 20:40:12
机器学习作为人工智能的重要分支,同时也是数据挖掘中不可或缺的算法支撑。本人接触时间不短,但研究尚浅。我计划用python来实现机器学习中较为常见的算法。 看透了自己,便无须小看别人。 (老舍) 机器学习 机器学习是一类算法的总称,可以分为监督学习和无监督学习。半监督学习是结合监督学习与无监督学习的一种机器学习方法,成为近几年的研究热点。这些算法试图从大量历史数据中挖掘出其中隐含的规律,并用于预测或分类。机器学习的目标是使学到的模型能很好地适用于“新样本”,具有泛化能力。此外,监督学习对应分类和回归,而无监督学习对应聚类和密度估计。半监督学习作为我读研期间的主要研究方向,后面会重点介绍个人的一些成果和心得感悟。下面介绍KNN算法,它非常有效且易于掌握。 KNN算法 k-近邻算法采用测量不同特征值之间的距离方法进行分类。 工作原理 1 有一个训练数据集,并且知道其中数据与其对应标签。 2 输入无标签的新数据之后,将新数据的每个特征和样本集中的数据对应的特征进行比较,然后提取样本数据集中最相似(距离最近)数据的分类标签; 3 把前k个数据标签中出现次数最多的分类,作为新数据的分类结果。 Demo代码 from numpy import * import operator # 运算符模块(排序) # from os import listdir def createDataSet ( )

决策树和K近邻分类

北城余情 提交于 2019-11-26 19:29:39
python3.6 pycharm 2019-8-10 第一次发布 文章性质:学习资料总结 1. 机器学习介绍 机器学习(Machine Learning):假设用 P 来评估计算机程序在某任务类 T 上的性能,若一个程序利用经验 E 在任务 T 上获得了性能改善,则我们就说关于 T 和 P, 该程序对 E 进行了学习。 在不同的问题设定下,T、P、E 可能指完全不同的东西。机器学习中一些流行的任务 T 包括: 分类:基于特征将实例分为某一类。 回归:基于实例的其他特征预测该实例的数值型目标特征。 聚类:基于实例的特征实现实例的分组,从而让组内成员比组间成员更为相似。 异常检测:寻找与其他样本或组内实例有很大区别的实例。 其他更多任 关于经验 E,《Deep Learning》(Ian Goodfellow、Yoshua Bengio、Aaron Courville 著,2016 年出版)的「Machine Learning basics」一章提供了一份很好的综述: 经验 E 指的是数据(没有数据我们什么也干不了)。根据训练方式,机器学习算法可以分为监督(supervised)和无监督(unsupervised)两类。无监督学习需要训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。而监督学习的数据集除了含有很多特征外,它的每个样本都要有一个标签(label)或目标

制作数据分类查看的应用红蓝榜

删除回忆录丶 提交于 2019-11-26 13:03:21
【2019.8.8】1、制作发布会的过渡页面2、优化和更新各主要过渡页面的连接3、修改“记录诞生”页面的版式4、把远程数据库中的红蓝榜表,在本地进行数据库表的映射5、并调协ORM ... class Transation_redblue(models.Model): #红蓝榜内容 id = models.CharField(primary_key=True, max_length=100, verbose_name=u"ID") objType = models.CharField(max_length=200, verbose_name=u"项目", null=True, blank=True) objName = models.CharField(max_length=200, verbose_name=u"项目名称", null=True, blank=True) indexName = models.CharField(max_length=200, verbose_name=u"名目", null=True, blank=True) rb = models.CharField(max_length=100, verbose_name=u"红/蓝", null=True, blank=True) promanTime = models.DateTimeField

机器学习算法比较

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 12:27:46
本文主要回顾下几个常用算法的适应场景及其优缺点! 机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。通常最开始我们都会选择大家普遍认同的算法,诸如SVM,GBDT,Adaboost,现在深度学习很火热,神经网络也是一个不错的选择。假如你在乎精度(accuracy)的话,最好的方法就是通过交叉验证(cross-validation)对各个算法一个个地进行测试,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。但是如果你只是在寻找一个“足够好”的算法来解决你的问题,或者这里有些技巧可以参考,下面来分析下各个算法的优缺点,基于算法的优缺点,更易于我们去选择它。 偏差&方差 在统计学中,一个模型好坏,是根据偏差和方差来衡量的,所以我们先来普及一下偏差和方差: 偏差:描述的是预测值(估计值)的期望E’与真实值Y之间的差距。偏差越大,越偏离真实数据。 方差:描述的是预测值P的变化范围,离散程度,是预测值的方差,也就是离其期望值E的距离。方差越大,数据的分布越分散。 模型的真实误差是两者之和。 如果是小训练集,高偏差/低方差的分类器(例如,朴素贝叶斯NB)要比低偏差/高方差大分类的优势大(例如,KNN),因为后者会过拟合。但是,随着你训练集的增长,模型对于原数据的预测能力就越好

人工智能的常用十种算法

ε祈祈猫儿з 提交于 2019-11-26 12:12:59
1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。 如果你觉得这篇文章看起来稍微还有些吃力,或者想要更系统地学习人工智能,那么推荐你去看床长人工智能教程。非常棒的大神之作,教程不仅通俗易懂,而且很风趣幽默。点击 这里 可以查看教程。 2. 随机森林 视频 在源数据中随机选取数据,组成几个子集 S 矩阵是源数据,有 1-N 条数据,A B C 是feature,最后一列C是类别 由 S 随机生成 M 个子矩阵 这 M 个子集得到 M 个决策树 将新数据投入到这 M 个树中,得到 M 个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果 3. 逻辑回归 视频 当预测目标是概率这样的,值域需要满足大于等于0,小于等于1的,这个时候单纯的线性模型是做不到的,因为在定义域不在某个范围之内时,值域也超出了规定区间。 所以此时需要这样的形状的模型会比较好 那么怎么得到这样的模型呢? 这个模型需要满足两个条件 大于等于0,小于等于1 大于等于0 的模型可以选择 绝对值,平方值,这里用 指数函数,一定大于0 小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了 再做一下变形,就得到了 logistic

boosting和bagging

牧云@^-^@ 提交于 2019-11-26 11:37:19
首先来说明一下bootstraps:可以把它认为是一种有放回的抽样方法。 bagging:boostraps aggregating(汇总) boosting:Adaboot (Adaptive Boosting)提升方法 提升(boosting):在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。 思想:提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类器。 对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好的成绩。 1)改变训练数据的概率分布 2)改变数据权值分布。 AdaBoost:1)提高那些未被正确分类的样本权值,降低那些被分类正确的样本权值。这样分类错误的样本就被后来的分类器更大的关注。 2)采用加权多数表决,加大准确率高的分类器权值。 算法步骤: (1)初始化权值 (2)使用具有权值分布的D m 的训练数据学习,得到基本分类器 G m (x). (3) 计算G m (x)在训练数据集上的分类误差率 (4)计算G m (x)的系数 (5)更新权值分布(如果分类错误要提高权值,分类正确要降低权值

boosting和bagging

喜欢而已 提交于 2019-11-26 11:37:12
首先来说明一下bootstraps:可以把它认为是一种有放回的抽样方法。 bagging:boostraps aggregating(汇总) boosting:Adaboot (Adaptive Boosting)提升方法 提升(boosting):在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。 思想:提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类器。 对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好的成绩。 1)改变训练数据的概率分布 2)改变数据权值分布。 AdaBoost:1)提高那些未被正确分类的样本权值,降低那些被分类正确的样本权值。这样分类错误的样本就被后来的分类器更大的关注。 2)采用加权多数表决,加大准确率高的分类器权值。 算法步骤: (1)初始化权值 (2)使用具有权值分布的D m 的训练数据学习,得到基本分类器 G m (x). (3) 计算G m (x)在训练数据集上的分类误差率 (4)计算G m (x)的系数 (5)更新权值分布(如果分类错误要提高权值,分类正确要降低权值

机器学习--介绍

本小妞迷上赌 提交于 2019-11-26 11:35:57
1.机器学习:通过对以往历史数据的学习建立一个模型用来预测以后的数据进行预测和分析。 1.1监督学习 supervised learning     监督学习 可以分为 生成方法 (生成模型generative)和 判别方法 (判别模型discreiminative)   生成模型:学习联合概率分布p(x,y) p(y|x)=p(x,y)/p(x)=p(y)p(x|y)/p(y) 比如贝叶斯模型,隐马尔科夫模型(HMM)   判别模型:有数据直接学习f(x)或者条件概率分布p(y|x) 比如:最近邻(KNN),感知机(perception),决策树等 学习过程的三要素:模型(Model)、策略、算法 Model,即你要学习什么样的模型,包括线性模型,非线性模型等,取决于你要学习的问题和数据。 策略,模型按照什么样的准则在整个模型解空间中选择最优的模型,其实就是损失代价函数包括(0-1损失,平方损失等)   算法,参数模型的求解方法,比如梯度下降法,牛顿法等。 风险函数: 分险函数度量评价意义下的模型预测的好坏。 经验风险最小化,在假设空间,损失函数已经训练数据集确定的情况下: 期望风险最小化(设计的模型与真实的误差) 但是由于我们是无法知道数据的真实分布的,如果知道数据的真实分布,我们就不需要学习模型参数了,但是根据大数定律,当我们的训练数据趋于无穷大的时候