分类标签归档:sklearn

1.4 第一个用Python实现的数据化运营分析实例-销售预测


说明:本文是《Python数据分析与数据化运营》中的“1.4 第一个用Python实现的数据化运营分析实例-销售预测”。

1. 案例概述

本节通过一个简单的案例,来介绍下如何使用Python进行数据化运营分析。

案例场景:每个销售型公司都有一定的促销费用,促销费用可以带来销售量的显著提升;当给出一定的促销费用时,预计会带来多大的商品销售量? 在“附件-chapter1”中data.txt存储了建模所需的原始数据,get_started_example.py是案例完整代码。以下是原始数据概况:

  • 来源:生成的模拟数据,非真实数据
  • 用途:用来做第一个销售预测案例
  • 维度数量:1
  • 记录数:100
  • 字段

继续阅读

使用sklearn中的决策树tree 库做分类分析


sklearn中没有一个专门的分类算法库,分类算法分散在不同的方法库中,例如ensemble、svm、tree等,在使用时需要分别导入不同的库来使用其中的分类算法。

示例模拟的是针对一批带有标签的数据集做分类模型训练,然后使用该模型对新数据集做分类预测;主要使用sklearn做分类、用matplotlib做图形展示

另外,本节会用到两个新的图形和表格展示库:prettytable和pydotplus,以及配合pydotplus的GraphViz程序。

prettytable是用来做表格格式化输出展示的,它的好处是可以非常容易的对行、列进行控制,并且输出带有分割线的可视化table。

第一次使用

继续阅读

使用sklearn库中的SVR做回归分析


sklearn中的回归有多种方法,广义线性回归集中在linear_model库下,例如普通线性回归、Lasso、岭回归等;另外还有其他非线性回归方法,例如核svm、集成方法、贝叶斯回归、K近邻回归、决策树回归等,这些不同回归算法分布在不同的库中。

本示例主要使用sklearn的多个回归算法做回归分析、用matplotlib做图形展示。

本示例模拟的是针对一批训练集做多个回归模型的训练和评估,从中选择效果较好的模型并对新数据集做回归预测。本示例主要使用sklearn的多个回归算法做回归分析、用matplotlib做图形展示。

完整代码如下:

# 导入库
import numpy as np # 

继续阅读

适合大数据的聚类算法Mini Batch K-Means


[K-Means算法]是常用的聚类算法,但其算法本身存在一定的问题,例如在大数据量下的计算时间过长就是一个重要问题。为此,Mini BatchK-Means,这个基于K-Means的变种聚类算法应运而生。 大数据量是什么量级?通过当样本量大于1万做聚类时,就需要考虑选用Mini Batch K-Means算法。但是,在选择算法时,除了算法效率(运行时间)外,算法运行的准确度也是选择算法的重要因素。Mini Batch

K-Means算法的准确度如何?

minibatchkmeans11

上图是我们队3万的样本点分别使用K-Means和Mini Batch KMeans进行聚类的结果,由结果可知,在3万样本点的基础上,二者

继续阅读

谱聚类Spectral clustering(SC)


在之前的文章里,介绍了比较传统的[K-Means聚类]、[Affinity Propagation(AP)聚类]、比K-Means更快的[Mini Batch K-Means]聚类以及[混合高斯模型Gaussian Mixture Model(GMM)]等聚类算法,今天介绍一个比较近代的一类算法——Spectral Clustering 中文通常称为“谱聚类”。

Spectral Clustering(谱聚类,有时也简称SC),其实是一类算法的统称。

它是一种基于图论的聚类方法(这点上跟AP类似,而K-Means是基于点与点的距离计算),它能够识别任意形状的样本空间且收敛于全局最有解,其基本思

继续阅读

聚类算法Mean Shift


Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,然后以此为新的起始点,继续移动,直到满足一定的结束条件。 Mean Shift算法是一种无参密度估计算法或称[核密度估计算法],Mean shift是一个向量,它的方向指向当前点上概率密度梯度的方向。

所谓的核密度评估算法,指的是根据数据概率密度不断移动其均值质心(也就是算法的名称Mean Shift的含义)直到满足一定条件。 mean-shift11

上图诠释了Mean Shift算法的基本工作原理,那么如何找到数据概率密度最大的区域?

数据最密集的地方,对应于概率密度最大的地方。我们可以对概率密度求梯度,梯度的方向就是概率密度增加最大的

继续阅读

聚类算法Affinity Propagation(AP)


Affinity Propagation聚类算法简称AP,是一个在07年发表在Science上面比较新的算法。

AP算法的基本思想是将全部样本看作网络的节点,然后通过网络中各条边的消息传递计算出各样本的聚类中心。聚类过程中,共有两种消息在各节点间传递,分别是吸引度(responsibility)和归属度(availability)。AP算法通过迭代过程不断更新每一个点的吸引度和归属度值,直到产生m个高质量的Exemplar(类似于质心),同时将其余的数据点分配到相应的聚类中。

在AP算法中有一些特殊名词:

  • Exemplar:指的是聚类中心,K-Means中的质心。
  • Similarity:数据

继续阅读

线性判别分析Linear Discriminant Analysis (LDA)


判别分析(DiscriminantAnalysis)是一种分类方法,它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类。线性判别式分析(Linear Discriminant Analysis,简称为LDA)是其中一种,也是模式识别的经典算法,在1996年由Belhumeur引入模式识别和人工智能领域。LDA以Bayes判别思想为基础,当分类只有两种且总体服从多元正态分布条件下,Bayes判别与Fisher判别、距离判别是等价的。

基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有

继续阅读