数据库设计对网站开发的影响网站开发职业要求

diannao/2025/10/16 2:49:39/文章来源:
数据库设计对网站开发的影响,网站开发职业要求,企业怎么做网络销售,这么改变WordPress上传主题的大小使用Apriori进行关联分析#xff08;一#xff09;大型超市有海量交易数据#xff0c;我们可以通过聚类算法寻找购买相似物品的人群#xff0c;从而为特定人群提供更具个性化的服务。但是对于超市来讲#xff0c;更有价值的是如何找出商品的隐藏关联#xff0c;从而打包促…使用Apriori进行关联分析一大型超市有海量交易数据我们可以通过聚类算法寻找购买相似物品的人群从而为特定人群提供更具个性化的服务。但是对于超市来讲更有价值的是如何找出商品的隐藏关联从而打包促销以增加营业收入。其中最经典的案例就是关于尿不湿和啤酒的故事。怎样在繁杂的数据中寻找到数据之间的隐藏关系当然可以使用穷举法但代价高昂所以需要使用更加智能的方法在合理时间内找到答案。Apriori就是其中的一种关联分析算法。基本概念  关联分析是一种在大规模数据集中寻找有趣关系的非监督学习算法。这些关系可以有两种形式频繁项集或者关联规则。频繁项集frequent item sets)是经常出现在一块的物品的集合关联规则(association rules)暗示两种物品之间可能存在很强的关系。  下图是一个乒乓球店的交易记录〇表示顾客购买了商品。其中{底板,胶皮,浇水}就是一个频繁项集从中可以找到底板-胶皮这样的关联规则支持度  怎样有效定义频繁和关联其中最重要的两个概念是支持度和置信度。  支持度(support)从字面上理解就是支持的程度一个项集的支持度(support)被定义为数据集中包含该项集的记录所占的比例。上图中{底板}的支持度(5/6) * 100%。  这个概念其实经常在现实生活中出现翻译成支持率似乎更好理解典型的例子就是投票比如英国脱欧的支持率为51.89%。  用数学去解释就是设W 中有s的事务同时支持物品集A和Bs称为{AB}的支持度即:  support({A,B}) num(A∪B) / W P(A∩B)  num(A∪B)表示含有物品集{A,B}的事务集的个数不是数学中的并集。置信度  置信度(confidence)揭示了A出现时B是否一定出现如果出现则出现的概率是多大。如果A-B的置信度是100%则说明A出现时B一定会出现返回来不一定。上图中底板共出现5次其中4次同时购买了胶皮底板-胶皮的置信度是80%。  用公式表示是物品A-B的置信度物品{A,B}的支持度 / 物品{A}的支持度  Confidence(A-B) support({A,B}) / support({A}) P(B|A)Apriori原理  本节摘自《机器学习实战》  假设我们在经营一家商品种类并不多的杂货店我们对那些经常在一起被购买的商品非常感兴趣。我们只有4种商品商品0商品1商品2和商品3。那么所有可能被一起购买的商品组合都有哪些这些商品组合可能只有一种商品比如商品0也可能包括两种、三种或者所有四种商品。我们并不关心某人买了两件商品0以及四件商品2的情况我们只关心他购买了一种或多种商品。  下图显示了物品之间所有可能的组合。为了让该图更容易懂图中使用物品的编号0来取代物品0本身。另外图中从上往下的第一个集合是Ф表示空集或不包含任何物品的集合。物品集合之间的连线表明两个或者更多集合可以组合形成一个更大的集合。  前面说过我们的目标是找到经常在一起购买的物品集合。我们使用集合的支持度来度量其出现的频率。一个集合的支持度是指有多少比例的交易记录包含该集合。如何对一个给定的集合比如{03}来计算其支持度我们遍历毎条记录并检查该记录包含0和3如果记录确实同时包含这两项那么就增加总计数值。在扫描完所有数据之后使用统计得到的总数除以总的交易记录数就可以得到支持度。上述过程和结果只是针对单个集合{0,3}。要获得每种可能集合的支持度就需要多次重复上述过程。我们可以数一下上图中的集合数目会发现即使对于仅有4种物品的集合也需要遍历数据15次。而随着物品数目的增加遍历次数会急剧增长。对于包含— 物品的数据集共有2N-1种项集组合。事实上出售10000或更多种物品的商店并不少见。即使只出售100种商品的商店也会有1.26×1030种可能的项集组合。对于现代的计算机而言需要很长的时间才能完成运算。  为了降低所需的计算时间研究人员发现一种所谓的Apriori原理。Apriori原理可以帮我们减少可能感兴趣的项集。Apriori原理是说如果某个项集是频繁的那么它的所有子集也是频繁的。上图给出的例子这意味着如果{0,1}是频繁的那么{0}、{1}也一定是频繁的。这个原理直观上并没有什么帮助但是如果反过来看就有用了也就是说如果一个项集是非频繁集那么它的所有超集也是非频繁的如下所示  上图中已知阴影项集{23}是非频繁的。利用这个知识我们就知道项集{0,2,3} {1,2,3}以及{0,1,2,3}也是非频繁的。这也就是说一旦计算出了{2,3}的支持度知道它是非频繁的之后就不需要再计算{0,2,3}、{1,2,3}和{0,1,2,3}的支持度因为我们知道这些集合不会满足我们的要求。使用该原理就可以避免项集数目的指数增长从而在合理时间内计算出频繁项集。Apriori算法过程  关联分析的目标包括两项发现频繁项集和发现关联规则。首先需要找到频繁项集然后才能获得关联规则。Apriori算法过程  发现频繁项集的过程如上图所示由数据集生成候选项集C11表示每个候选项仅有一个数据项再由C1通过支持度过滤生成频繁项集L11表示每个频繁项仅有一个数据项。将L1的数据项两两拼接成C2。从候选项集C2开始通过支持度过滤生成L2。L2根据Apriori原理拼接成候选项集C3C3通过支持度过滤生成L3……直到Lk中仅有一个或没有数据项为止。  下面是一个超市的交易记录  Apriori算法发现频繁项集的过程如下  具体代码 1 def loadDataSet():2 return [[1,2,5],[2,4],[2,3],[1,2,4],[1,3],[2,3],[1,3],[1,2,3,5],[1,2,3]]3 #1.构建候选1项集C14 def createC1(dataSet):5 C1 []6 for transaction in dataSet:7 for item in transaction:8 if not [item] in C1:9 C1.append([item]) 10 11 C1.sort() 12 return list(map(frozenset, C1)) 13 14 #将候选集Ck转换为频繁项集Lk 15 #D原始数据集 16 #Cn: 候选集项Ck 17 #minSupport:支持度的最小值 18 def scanD(D, Ck, minSupport): 19 #候选集计数 20 ssCnt {} 21 for tid in D: 22 for can in Ck: 23 if can.issubset(tid): 24 if can not in ssCnt.keys(): ssCnt[can] 1 25 else: ssCnt[can] 1 26 27 numItems float(len(D)) 28 Lk [] # 候选集项Cn生成的频繁项集Lk 29 supportData {} #候选集项Cn的支持度字典 30 #计算候选项集的支持度, supportData key:候选项 value:支持度 31 for key in ssCnt: 32 support ssCnt[key] / numItems 33 if support minSupport: 34 Lk.append(key) 35 supportData[key] support 36 return Lk, supportData 37 38 #连接操作将频繁Lk-1项集通过拼接转换为候选k项集 39 def aprioriGen(Lk_1, k): 40 Ck [] 41 lenLk len(Lk_1) 42 for i in range(lenLk): 43 L1 list(Lk_1[i])[:k - 2] 44 L1.sort() 45 for j in range(i 1, lenLk): 46 #前k-2个项相同时将两个集合合并 47 L2 list(Lk_1[j])[:k - 2] 48 L2.sort() 49 if L1 L2: 50 Ck.append(Lk_1[i] | Lk_1[j]) 51 52 return Ck 53 54 def apriori(dataSet, minSupport 0.5): 55 C1 createC1(dataSet) 56 L1, supportData scanD(dataSet, C1, minSupport) 57 L [L1] 58 k 2 59 while (len(L[k-2]) 0): 60 Lk_1 L[k-2] 61 Ck aprioriGen(Lk_1, k) 62 print(ck:,Ck) 63 Lk, supK scanD(dataSet, Ck, minSupport) 64 supportData.update(supK) 65 print(lk:, Lk) 66 L.append(Lk) 67 k 1 68 69 return L, supportData 70 71 dataset loadDataSet() 72 L, supportData apriori(dataset, minSupport0.2)   控制台信息  代码中的scanD方法可作一下修改 1 def scanD(D, Ck, minSupport):2 #候选集计数3 ssCnt {}4 #数据集过滤5 D2 [item for item in D if len(item) len(Ck[0])]6 for tid in D2:7 for can in Ck:8 if can.issubset(tid):9 if can not in ssCnt.keys(): ssCnt[can] 1 10 else: ssCnt[can] 1 11 …… 12 13 return Lk, supportData   需要注意的是在上述代码的aprioriGen方法中假定购买商品是有顺序的可以通过频繁2项集{P1,P2},{P1,P3}推导出频繁项{P1,P2,P3}但是不能通过频繁2项集{P3,P4},{P1,P3}推导出频繁项{P1,P3,P4}。如果去掉假设则需要修改aprioriGen的代码#将频繁Lk-1项集转换为候选k项集 def aprioriGen(Lk_1, k):Ck []lenLk len(Lk_1)for i in range(lenLk):L1 Lk_1[i]for j in range(i 1, lenLk):L2 Lk_1[j]if len(L1 L2) k - 2:L1_2 L1 | L2if L1_2 not in Ck:Ck.append(L1 | L2)return Ck发现关联规则   下篇继续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站用asp好吗昆明网络推广

1、开发app ,设置模拟器 (uniapp 如何设置模拟器) https://blog.csdn.net/sweetsoft/article/details/130727169 2、运行到模拟器 注意:1、模拟器所在的位置:“D:\Program Files\Nox\bin”,在该文件夹下找…

重庆专业做网站的公司小白网站搭建教程

客制化键盘劝退指南最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了。这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的。如此一来,家里的台式机没有键盘了&…

上海怎样做网站快速增加网站权重

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/A757291228/article/details/106739556 ———————————————— 版权声明:本文…

宁波高新区网站制作企业seo优化服务

题目描述 输入一个整数n(n不大于1000),接下来分别为n个整数,请使用递归求取最大值。 输入格式 第一行:正整数n。 第二行:n个整数。 输出格式 输出最大值 样例 样例输入 复制2 1 2样例输出 复制2 …

北京网站开发工程师招聘网网站设计制作有哪些原因

day14 一、继承 概念 Java中的继承是一个对象获取父对象的所有属性和行为的机制 理解:继承是指一个类(子类)可以继承另一个类(父类)的属性和方法 关键字extends 优点:减少代码的冗余 缺点:继承会增加类与类之间的关系,会增加代码…

如何看自己网站流量灰色的网站

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,共50分) 第1题 一个非零的二进制正整数,在其末尾添加两个“0”,则该新数将是原数的?( ) A:10倍 B:2倍 C:4倍 D:8倍 答案:C 二进制进位规则是逢二进一,因此末尾添加一个0,是扩大2倍,添加两个0…

重庆网站seo好不好新网站如何做推广

1. 题目 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li1] xor … xor arr[Ri])作为本次查询的结果。 …

wp网站怎么用插件做html网页专门开发app的公司

根据我的Linux版本tomcat下载及安装安装好tomcat之后,但是还不能直接访问我 ubuntu 服务器的公网 ip, 即http://xxx.xxx.xxx.xxx:8080访问不到 Apache tomcat主页,还需要进行配置。 一、在路由器管理页面配置转发规则 如果你和我一样&#…

广东网站建设公广州百度关键词推广

1.生物大分子序列分析 2.主要技术 3.生物信息学的应用 4.应用2 转载于:https://www.cnblogs.com/BlueBlueSea/p/9610313.html

ps软件下载花钱吗珠海网站建设优化推广

我试图复制一个Ingres“tbl2”中的更新tbl1命令,这在Oracle中并不完全.所以我使用“update(select tbl1 join tbl2 …)”命令.两个表都定义了主键,我认为我的连接唯一标识行,但是我仍然得到“ORA-01779:不能修改映射到非密钥保留表的列”.这里是适当的匿名表定义和我…

网站图片被盗连怎么办啊网站外网访问怎么做路由器端口映射

前几天有个网友跟小编问了一个有意思的问题,他说他在15年过年的时候用信用卡套现了3万元,之后一直不还,期间还换了手机号码故意躲开银行的催收,目前已经差不多三年不还钱了,前几天托人去银行查了下账单,结果…

那些是flash做的网站免费可商用素材网站

文章目录 前言Win R:打开运行窗口Win D:显示桌面。Win E:打开资源管理器。Ctrl Shift Esc:打开任务管理器。Alt Tab:切换当前打开的窗口。F2:重命名选定的文件或文件夹。Ctrl W:关闭当前…

美食网站建设项目分析报告wordpress在线支付表单

今天学习了一早上正则表达式。如下内容部分转载自《读懂正则表达式就这么简单》 一、什么是正则表达式 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规…

广州一起做网站南宁开发公司

前言 最短路问题真的很重要很重要希望大家都能够完全掌握所有最短路算法!! 一、最短路问题的分类 Dijkstra: Dijkstra算法是一种著名的图算法,主要用于求解有权图中的单源最短路径问题。它由荷兰计算机科学家艾兹赫尔戴克斯特…

个人主页网站应该怎样做2018网站建设高考成绩查询

编程笔记 html5&css&js 075 Javascript 常量和变量 一、JavaScript 变量二、JavaScript 常量三、示例:小结: 在JavaScript中,变量和常量是用来存储数据的占位符。它们的主要区别在于可变性:变量的值可以改变,而…

宁波专业网站制作服务建设网站需要数据库备份

对于一个本科生而言,早早就收获了保研资格,那么摆在眼前的就是是否要放弃保研机会?不过看到当今计算机的就业情况,加上本科学历的贬值,想要放弃到手的保研机会,既有些不合理,也有些心疼&#xf…

如何分析网站crm客户管理系统的功能有哪些

环境准备 介绍:create-vue是Vue官方提供的最新的脚手架工具,用于快速生成一个工程化的Vue项目create-vue提供如下功能: 统一的目录结构 本地调试 热部署 单元测试 集成打包依赖环境:NodeJS 安装NodeJS 一、 创建vue工程 npm 类…

自适应网站优点缺点网站模块化

一、前言 CompletableFuture 是 Java 8 引入的一个功能强大的类,用于异步编程。它表示一个可能尚未完成的计算的结果,你可以对其添加回调函数来在计算完成时执行某些操作。在 Spring Boot 应用中,CompletableFuture 可以用于提高应用的响应性…

旅游网站建设的相关报价昌平企业网站建设

这道题卡了挺久的QAQ现在才搞定 Description   金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置&#x…

云南 网站建设网站浏阳建设局网站

这是头哥侃码的第244篇原创有人说,人生就是一个不断尝试的过程。我觉得,有时候这个词其实不准确,因为每个人的性格不同,成长经历及运势不同,所以对 “尝试” 俩字的理解也就不同。在我还是孩子的时候,几乎所…