机器学习---Apriori

【PHP-ML】使用Apriori算法挖掘用户购物习惯 title: 【PHP-ML】使用Apriori算法挖掘用户购物习惯 date: 2018-01-12 categories: 技术 tags: PHP PHP-ML 机器学习 学习笔记 <?php require_once __DIR__ . '/vendor/autoload.php'; use Phpml\Association\Apriori; // 4位用户购买清单 $s... 阅读详情

一、介绍

Apriori算法是经典的挖掘频繁项集和关联规则的数据挖掘算法。

关联规则的经典故事:美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。

二、基本概念

项与项集:设itemset={item1, item_2, …, item_m}是所有项的集合,其中,item_k(k=1,2,…,m)称为项。项的集合称为项集(itemset),包含k个项的项集称为k项集(k-itemset)。

事务与事务集:一个事务T是一个项集,它是itemset的一个子集,每个事务均与一个唯一标识符Tid相联系。不同的事务一起组成了事务集D,它构成了关联规则发现的事务数据库。

关联规则:关联规则是形如A=>B的蕴涵式,其中A、B均为itemset的子集且均不为空集,而A交B为空。

支持度:一个项集或者规则在所有事物中出现的频率,确定规则可以用于给定数据集的频繁程度。σ(A):表示项集A的支持度计数

项集A的支持度:s(A)=σ(A) / n;
        例:{11}的支持度为6/9=0.67;{11,12}的支持度为4/9=0.44

规则A => B的支持度:s(A => B) = σ(A∪B) / n  
        例:{11,12} =>{13}的支持度为2/9=0.22;

简单地说,A=>B的支持度就是指物品集A和物品集B同时出现的概率。

置信度:确定B在包含A的事务中出现的频繁程度。c(A => B) = σ(A∪B)/σ(A)。

物品集A对物品集B的置信度confidence(A=>B)=P(A|B)
        例:{11} =>{12}的置信度为4/6=0.67;

简单地说,可信度就是指在出现了物品集A 的事务T 中,物品集B 也同时出现    的概率有多大。

支持度:就是概率(一项就是其出现的概率,多项就是其同时出现的概率)
置信度:条件概率(A出现后,B也出现的概率)

频繁项集:如果项集A的相对支持度满足事先定义好的最小支持度阈值(即A的出现频度大于相应的最小出现频度(支持度计数)阈值),则A是频繁项集。

强关联规则:满足最小支持度和最小置信度的关联规则,即待挖掘的关联规则。


支持度是一种重要的度量,因为支持度很低的规则可能只是偶然出现,低支持度的规则多半也是无意义的。因此,支持度通常用来删去那些无意义的规则;

置信度是度量通过规则进行推理的可靠性。对于给定的规则A → B,置信度越高,B在包含A的事物中出现的可能性就越大。即B在给定A下的条件概率P(B|A)越大。

总之,可信度是对关联规则的准确度的衡量,支持度是对关联规则重要性的衡量。
支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。有些关联规则可信度虽然很高,但支持度却很低,说明该关联规则实用的机会很小,因此也不重要。

三、算法

1.先验原理
在上一小节的末尾,我们已经看到Brute-force在实际中并不可取。我们必须设法降低产生频繁项集的计算复杂度。此时我们可以利用支持度对候选项集进行剪枝,这也是Apriori所利用的第一条先验原理:

Apriori定律1:如果一个集合是频繁项集,则它的所有子集都是频繁项集。

例如:假设一个集合{A,B}是频繁项集,即A、B同时出现在一条记录的次数大于等于最小支持度min_support,则它的子集{A},{B}出现次数必定大于等于min_support,即它的子集都是频繁项集。

Apriori定律2:如果一个集合不是频繁项集,则它的所有超集都不是频繁项集。

举例:假设集合{A}不是频繁项集,即A出现的次数小于 min_support,则它的任何超集如{A,B}出现的次数必定小于min_support,因此其超集必定也不是频繁项集。

2.算法步骤

四、优缺点

优点

  • Apriori是一个迭代算法
  • 数据采用水平组织方式
  • 适合事务数据库的关联规则挖掘
  • 适合稀疏数据集

缺点

  • 多次扫描事务数据库,需要很大的I/Ofu负载
  • 可能产生庞大的候选集
  • 在频繁项目集长度变大的情况下,运算时间显著增加

 

https://blog.youkuaiyun.com/guoziqing506/article/details/60882713

PHP-ML/Apriori算法(数据挖掘算法1) Apriori AssociatorApriori Associator 是基于Apriori Algorithm(关联规则)进行频繁项集挖掘的关联规则学习Apriori类类摘要 Apriori{ /* 属性 */ string Apriori::ARRAY_KEY_ANTECEDENT = 'antecedent'; string Apriori::ARRAY_KEY_CO 阅读详情

相关推荐

[机器学习][源码]机器学习实战ch11 Apriori

1. ref1 从概念到案例:初学者须知的十大机器学习算法无监督学习:Apriori,k-means,PCA监督学习:线性回归,logistic回归,CART(分类和决策树),朴素贝叶斯,KNN集成:Bagging随即森林,Adaboost提升2. ref2  1)关联分析--在大规模数据集中寻找有趣关系。关系有2种形式:1是频繁项集--经常出现在一块的物品的集合;2是关联规则--暗示两种物品之间...

小白 434

Apriori(关联分析算法)

关联分析又称关联挖掘,就是在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构。

weixin_44757834的博客 2万+

基于Python的机器学习实战——Apriori

如下~

m0_72557783的博客 606

数据挖掘十大算法--Apriori算法

Apriori 算法是一种用于关联规则挖掘的经典算法。它用于在大规模数据集中发现频繁项集,进而生成关联规则。关联规则揭示了数据集中项之间的关联关系,常被用于市场篮分析、推荐系统等应用。Apriori 算法的主要优点是它相对简单,并且易于理解和实现。然而,在处理大规模数据集时,它可能面临性能挑战。后续的改进算法,如 FP-Growth 等,通过不同的方式优化了频繁项集的发现过程,提高了算法的效率。

Wzideng@qq.com 1万+

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建

本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。

milk5的博客 858

STM32CUBEMX | STM32L431RCT6的内部Flash操作

一、STM32CUBEMX配置 1、选择芯片型号: 2、配置时钟源 1、 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC; 2、 如果使用默认内部时钟(HSI),这一步可以略过; 3、配置时钟树 STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz即可: 4、代码生成设置 点击GENERATE CODE即可生成MDK-V5工程: 二、在MDK中编写、编译、下载用户代码 1、STM32内部Flash及HAL库API 查看所使用芯片的信息,

yongridada的博客 5568

关联规则--Apriori算法

啤酒与尿布的故事: 在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻的父亲们中,有30%~40%的人同时要买一些啤酒。超市随后调整了货架的摆放,将尿布和啤酒放在一起,因此,明显增加了销售额。

一位在路上的工程师的博客 2万+

手把手教你理解特斯拉Model 3的域控制器架构:RBCM如何成为“多面手”?

本文深入解析特斯拉Model 3的域控制器架构,重点介绍右车身域控制器(RBCM)如何整合车身电子系统功能。RBCM作为多任务处理中枢,管理空调系统、尾部电气设备和超声波雷达等关键功能,展现了特斯拉在汽车电子架构上的创新设计。文章详细探讨了RBCM的硬件架构、功能版图及信号网络,揭示其如何通过高性能MCU和智能开关技术实现功能集中与效率提升。

weixin_30919429的博客 383

【手撕算法】【Apriori】关联规则Apriori原理、代码实现

文章目录1.前言2.简介3.原理3.0.示例3.1.概念介绍3.2.Apriori原理3.3.优点3.4.缺点3.5.算法步骤4.代码实现4.1懒人必备,开箱速食4.2.代码详解5.总结6.参考资料 1.前言 ⭐️ 开箱即食,直接复制,懒人传送门:4.1懒人必备,开箱速食 ⭐️ 本文主要从原理、代码实现 理论和实战两个角度来剖析Apriori算法 ⭐️ 理论部分主要是关于 什么是 频繁项集、支持度、置信度 ⭐️ 实战部分主要是根据原理 去复现代码 并在简单的数据集上验证结果,对应的本文代码链接为:Aprio

weixin_42279212的博客 2万+

从‘数字分身’到‘数字员工’:华为云MetaStudio如何重塑企业生产力?

本文探讨了华为云MetaStudio如何通过数字人技术重塑企业生产力,从数字分身到数字员工的转变。通过多模态AIGC技术,MetaStudio在金融、零售和制造业等多个行业实现高效应用,显著提升服务质量和运营效率。数字员工不仅降低成本,更成为企业增长的新引擎。

weixin_29083475的博客 450

手把手教你用USBasp给Arduino UNO烧写程序(ICSP模式,含BootLoader选择指南)

本文详细介绍了如何使用USBasp编程器通过ICSP模式为Arduino UNO烧写程序,包括硬件连接、软件配置、Hex文件处理和BootLoader选择指南。内容涵盖从新手入门到高级优化的全流程,帮助开发者高效完成烧写任务,特别适合需要修复BootLoader或进行量产烧写的用户。

weixin_33958381的博客 364

【机器学习】Apriori算法详解(关联规则挖掘)

Apriori 算法是最为经典的关联规则挖掘算法之一。关于关联规则有个很常见的例子:啤酒与尿布。沃尔玛在分析销售记录时,发现啤酒和尿布经常一起被购买,于是他们调整了货架,把两者放在一起,结果真的提升了啤酒的销量。关联规则分析也称为购物篮分析,最早是为了发现超市销售数据库中不同的商品之间的关联关系。关联规则是反映一个事物与其他事物之间的关联性,若多个事物之间存在着某种关联关系,那么其中的一个事物就能通过其他事物预测到。这里要注意,关联规则不是因果关系,有可能有因果关系,有可能没有。定义 1。

酒酿小圆子呀~ 7087

OTP语音芯片SOP8的前世今生_如九齐_硕呈_钰绅等以及国产方案KT148A

语音芯片ic的其中一个品类,就是SOP8封装的OTP语音芯片,非常的经典和常用。源头的供应商基本都是台系的原厂,比如:九齐、硕呈、佑华等等,其中佑华就算是鼻祖了,早期的4位机也是在语音市场得到了升华。 OTP(One Time Programmable)是单片机的一种存储器类型,意思是一次性可编程:程序烧入单片机后,将不可再次更改和清除。

qyvhome的博客 1873

ML - Apriori

Association Rule 关联规则:项目集之间的蕴含表达式,形如X -> Y,其中X,Y是不相交项集。 关联规则的强度可以用它的支持度和置信度来度量 项目集Itemset: 一系列的items,对项集X的支持度计数表示为, 支持度Support: 事务中包含项目集的频率 **置信度Confidence:**衡量在事务中的Y项目集中X出现的频率 Association rule ...

G____G的博客 286

OpenCloudOS9操作系统搭建Confluence8.2.1+Jira企业级WIKI

Atlassian Confluence是一个专业的企业知识管理与协同软件,可用于构建企业wiki

背锅神童的博客 1022

081、空间降噪(Spatial Denoise)实战:双边滤波、非局部均值与BM3D在ISP中的调优

调参时,别只看PSNR/SSIM。找几个典型场景(夜景、人像、文字、天空),在真实设备上肉眼对比。我见过PSNR涨了2dB但图像看起来更差的案例——因为PSNR不惩罚纹理丢失。空间降噪这块,理论说再多,不如动手调一次。下次遇到噪点问题,先别急着上BM3D,试试双边滤波的自适应参数,说不定有惊喜。

zzfmlxs的博客 46

机器学习之使用Apriori算法进行关联分析

本文主要记录本人在学习机器学习过程中的相关代码实现,参考《机器学习实战》 from numpy import * def loadDataSet(): return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]] def createC1(dataSet): C1=[] for transaction in dataSet:

乐乐的博客 627

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

机器学习实战--apriori

前面主要学习了机器学习的两大块:分类,回归,接下来的两节进入到频繁项集和关联规则的分析。 关联分析中最著名的例子当属啤酒和尿布了。http://www.wtoutiao.com/a/904866.html 为了定义上述的频繁和关联我们引入两个定义: 1、支持度:数据集中包含该集项的记录所占的比例 2、置信度:对于关联规则P–>M,该规则的置信度为:support(P U M) /suppor

sunnyxiaohu的博客 764

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

机器学习实战——Apriori算法另类实现

机器学习实战上的Apriori算法最后结果看着不过瘾,随着算法思路另外实现了一遍。import itertools def load_data(): return [[1,3,4],[2,3,5],[1,2,3,5],[2,5]] def creat_list(str_num,num_combine): cat={} p=[] for i in itertools....

thelostmathematician的博客 259

机器学习之使用Apriori算法进行关联分析的学习总结

商店交易流水交易码商品1牛肉,牛奶2苹果,牛肉,牛奶,益力多3葡萄,香蕉,豆奶,尿布,牛肉,牛奶4鲫鱼,苹果,牛肉,牛奶,口香糖5卫生纸,洗发水,牛肉,牛奶1. 频繁项集     经常出现在一块的物品的集合  2.关联分析    从大规模数据集中寻找物品间的隐含关系3.支持度    支持度是针对项集来说的,一个项集的支持度被定义为数据集中包含该项集的记录的所占比例,即上表5条记录中,有两条{苹果,...

zhao_yang_2017的博客 1524

机器学习之Apriori算法

1.Apriori算法简介 Apriori算法是常用于挖掘出数据关联规则的算法,能够发现事物数据库中频繁出现的数据集,这些联系构成的规则可帮助用户找出某些行为特征,以便进行企业决策。例如,某食品商店希望发现顾客的购买行为,通过购物篮分析得到大部分顾客会在一次购物中同时购买面包和牛奶,那么该商店便可以通过降价促销面包的同时提高面包和牛奶的销量。了解Apriori算法推导之前,我们先介绍一些基本概念...

谓之小一 1万+

apriori算法的代码,python实现,参考《机器学习实战》

from numpy import * def loadDataSet(): return [[1,3,4],[2,3,5],[1,2,3,5],[2,5]]def createC1(dataSet): C1 = [] for transaction in dataSet: for item in transaction: if not

ALex:to give you a better comprehension 1139

【ML】Apriori算法原理及代码实现

Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置,达到节约成本,增加经济效益的目的。下面我们就对Apriori算法做一个总结。Aprior算法是一个非常经典的频繁项集的挖掘算法,很多算法都是基于Aprior算法而产生的,包括FP-Tree,GSP, CBA等。

sikh_0529的博客 1236

机器学习(十):Apriori算法

机器学习(十):Apriori算法

吉大秦少游 365

机器学习实战:使用 Apriori 算法进行关联分析

机器学习实战:使用 Apriori 算法进行关联分析 从大规模数据集中寻找物品间的隐 含关系被称作关联分析(association analysis)或者关联规则学习(association rule learning)。这 里的主要问题在于,寻找物品的不同组合是一项十分耗时的任务,所需的计算代价很高,蛮力搜 索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间范围内找到频繁项集。本章 将介绍如何使用Apriori算法来解决上述问题。

RexT1的博客 1165

machine learning - apriori

简介用户一次购买的过程其实包含了许多机器学习的应用,包括物品的展示方式、购物后优惠卷的提供等等。通过查看哪些商品经常在一起被购买,帮助了解用户的购买行为,这种从大规模数据集中寻找物品间的隐含关系被称作关联分析或者关联规则学习。而apriori就是对其思想的算法实现。关联分析一种在大规模数据中寻找物品关系的过程 步骤:根据支持度找出所有的频繁项集 依据置信度产生强关联规则 关联规则:暗示物品之间可能

whx750702272的专栏 712
上一篇: 机器学习---降维方法
下一篇: leetcode(91-95)
小小螺丝刀
博客等级 码龄10年 41粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值