当前位置: 首页 > news >正文

免费ps软件网站建站cms

免费ps软件网站,建站cms,生活分类网站建设,在线学习平台网站建设有什么功能目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接#xff1a;Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日…目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据预处理 七、生成频繁项集 八、计算关联度 九、可视化 一、数据及分析对象 数据集链接Online Retail.xlsx 该数据集记录了2010年12月01日至2011年12月09日的541909条在线交际记录包含以下8个属性 1InvoiceNo订单编号由6位整数表示退货单号由字母“C”开头 2StockCode产品编号每个不同的产品由不重复的5位整数表示 3Description产品描述 4Quantity产品数量每笔交易的每件产品的数量 5InvoiceDate订单日期和时间表示生成每笔交易的日期和时间 6UnitPrice单价每件产品的英镑价格 7CustomerID顾客编号每位客户由唯一的5位整数表示 8Country国家名称每位客户所在国家/地区的名称。 二、目的及分析任务 理解Apriori算法的具体应用 1计算最小支持度为0.07的德国客户购买产品的频繁项集。 2计算最小置信度为0.8且提升度不小于2的德国客户购买产品的关联关系。 三、方法及工具 能够实现Aprior算法的Python第三方工具包有mlxtend、kiwi-apriori、apyori、apriori_python、efficient-apriori等比较常用的是mlxtend、apriori_python、efficient-apriori本项目采用的是mlxtend包。 四、数据读入 import pandas as pd from mlxtend.frequent_patterns import apriori from mlxtend.frequent_patterns import association_rules df_Retailspd.read_excel(C:\\Users\\LEGION\\AppData\\Local\\Temp\\360zip$Temp\\360$0\\Online Retail.xlsx) df_Retails.head() 五、数据理解 调用shape属性查看数据框df_Retails的形状。 df_Retails.shape 查看列名称 df_Retails.columns Index([InvoiceNo, StockCode, Description, Quantity, InvoiceDate,UnitPrice, CustomerID, Country],dtypeobject) 对数据框df_Retails进行探索性分析。 df_Retails.describe() 其中count、mean、std、min、25%、50%、75%和max的含义分别为个数、均值、标准差、最小值、上四分位数、中位数、下四分位数和最大值。 除了describe()方法还可以调用info()方法查看样本数据的相关信息概览 df_Retails.info() 从输出结果可以看出数据框df_Retails的Description和CustomerID两列有缺失值。 看国家一列 df_Retails.Country.unique() array([United Kingdom, France, Australia, Netherlands, Germany,Norway, EIRE, Switzerland, Spain, Poland, Portugal,Italy, Belgium, Lithuania, Japan, Iceland,Channel Islands, Denmark, Cyprus, Sweden, Austria,Israel, Finland, Bahrain, Greece, Hong Kong, Singapore,Lebanon, United Arab Emirates, Saudi Arabia,Czech Republic, Canada, Unspecified, Brazil, USA,European Community, Malta, RSA], dtypeobject) df_Retails[Country].unique() array([United Kingdom, France, Australia, Netherlands, Germany,Norway, EIRE, Switzerland, Spain, Poland, Portugal,Italy, Belgium, Lithuania, Japan, Iceland,Channel Islands, Denmark, Cyprus, Sweden, Austria,Israel, Finland, Bahrain, Greece, Hong Kong, Singapore,Lebanon, United Arab Emirates, Saudi Arabia,Czech Republic, Canada, Unspecified, Brazil, USA,European Community, Malta, RSA], dtypeobject) 查看各国家的购物数量 df_Retails[Country].value_counts() United Kingdom 495478 Germany 9495 France 8557 EIRE 8196 Spain 2533 Netherlands 2371 Belgium 2069 Switzerland 2002 Portugal 1519 Australia 1259 Norway 1086 Italy 803 Channel Islands 758 Finland 695 Cyprus 622 Sweden 462 Unspecified 446 Austria 401 Denmark 389 Japan 358 Poland 341 Israel 297 USA 291 Hong Kong 288 Singapore 229 Iceland 182 Canada 151 Greece 146 Malta 127 United Arab Emirates 68 European Community 61 RSA 58 Lebanon 45 Lithuania 35 Brazil 32 Czech Republic 30 Bahrain 19 Saudi Arabia 10 Name: Country, dtype: int64 可以看出英国的客户购买商品数量最多为495478条记录其次是德国的客户为9495条记录。 查看订单编号InvoiceNo一列中是否有重复的值。 df_Retails.duplicated(subset[InvoiceNo]).any() True 订单编号有重复表示同一个订单中有多个同时购买的产品符合Apriori算法的数据要求。 六、数据预处理 查看数据中是否有缺失值。 df_Retails.isna().sum() InvoiceNo 0 StockCode 0 Description 1454 Quantity 0 InvoiceDate 0 UnitPrice 0 CustomerID 135080 Country 0 dtype: int64 可以看出Description的缺失值有1454条CustomerID的缺失值有135080条。 将商品名称Description一列的字符串头尾的空白字符删除 df_Retails[Description]df_Retails[Description].str.strip() 再次查看数据集形状 df_Retails.shape (541909, 8) 查看商品名称Description一列的缺失值个数 df_Retails[Description].isna().sum() 1455 在对商品名称Description一列进行空白字符处理后缺失值增加了一个。去除所有的缺失值 df_Retails.dropna(axis0,subset[Description],inplaceTrue) 再次查看数据集形状 df_Retails.shape (540454, 8) 检查此时的数据集是否还有缺失值 df_Retails[Description].isna().sum() 0 可以看出数据框df_Retails中商品名称Description一列的缺失值已全部删除。 由于退货的订单由字母“C”开头删除含有C字母的已取消订单 df_Retails[InvoiceNo]df_Retails[InvoiceNo].astype(str) df_Retailsdf_Retails[~df_Retails[InvoiceNo].str.contains(C)] df_Retails.shape (531166, 8) 将数据改为每一行一条记录并考虑到内存限制以及德国Germany的购物数量位居第二因此在本项目中只计算德国客户购买的商品的频繁项集及关联规则全部计算则计算量太大。 df_ShoppingCarts(df_Retails[df_Retails[Country]Germany].groupby([InvoiceNo,Description])[Quantity].sum().unstack().reset_index().fillna(0).set_index(InvoiceNo)) df_ShoppingCarts.shape (457, 1695) df_ShoppingCarts.head() 德国的购物记录共有457条共包含1695件不同的商品。 查看订单编号InvoiceNo一列是否有重复的值 df_Retails.duplicated(subset[InvoiceNo]).any() True 订单编号有重复表示同一个订单中有多个同时购买的产品符合Apriori算法的数据要求。由于apriori方法中df参数允许的值为0/1或True/False,在此将这些项在数据框中转换为0/1形式即转换为模型可接受格式的数据即可进行频繁项集和关联度的计算。 def encode_units(x):if x0:return 0if x1:return 1df_ShoppingCarts_setsdf_ShoppingCarts.applymap(encode_units) 七、生成频繁项集 mlxtend.frequnet_patterns的apriori()方法可进行频繁项集的计算将最小支持度设定为0.07 df_Frequent_Itemsetsapriori(df_ShoppingCarts_sets,min_support0.07,use_colnamesTrue) df_Frequent_Itemsets 查看数据框df_Frequent_Itemsets的形状 df_Frequent_Itemsets.shape (39, 2) 可以看出满足最小支持度0.07的频繁项集有39个。 八、计算关联度 将提升度lift作为度量计算关联规则并设置阈值为1表示计算具有正相关关系的关联规则。该任务由mlxtend.frequent_patterns的association_rules()方法实现 df_AssociationRulesassociation_rules(df_Frequent_Itemsets,metriclift,min_threshold1) df_AssociationRules 从结果可以看出各项关联规则的详细信息。 以第一条关联规则为{6 RIBBONS RUSTIC CHARM}—{POSTAGE}为例{6 RIBBONS RUSTIC CHARM}的支持度为0.102845{POSTAGE}的支持度为0.818381项集{{6 RIBBONS RUSTIC CHARMPOSTAGE}的支持度为0.091904客户购买6 RIBBONS RUSTIC CHARM的同时也购买POSTAGE的置信度为0.893617提升度为1.091933规则杠杆率即当6 RIBBONS RUSTIC CHARM和POSTAGE一起出现的次数比预期多为0.007738规则确信度与提升度类似但用差值表示确信度越大则6 RIBBONS RUSTIC CHARM和POSTAGE关联关系越强为1.707221。 查看数据框df_AssocaitionRules的形状 df_AssociationRules.shape (34, 10) 可以看出总共输出了34条关联规则。接着筛选提升度不小于2且置信度不小于0.8的关联规则 df_Adf_AssociationRules[(df_AssociationRules[lift]2)(df_AssociationRules[confidence]0.8)] df_A 由此可知提升度不小于2且满足最小置信度0.8的强关联规则有两条分别为{ROUND SNACK BOXES SET OF 4 FRUITS}—{ROUND SNACK BOXES SET OF4 WOODLAND}和{POSTAGE, ROUND SNACK BOXES SET OF 4 FRUITS}—{ROUND SNACK BOXES SET OF4 WOODLAND}。 九、可视化 绘制出提升度不小于1的关联规则的散点图横坐标设置为支持度纵坐标为置信度散点的大小表示提升度。该可视化任务由matplotlib.pyplot的scatter函数实现 import matplotlib.pyplot as plt#将点的大小放大20倍 plt.scatter(xdf_AssociationRules[support],ydf_AssociationRules[confidence],sdf_AssociationRules[lift]*20) plt.show()
http://www.yutouwan.com/news/181431/

相关文章:

  • 网站内容怎么写有利于排名东莞建设网站官网住房和城乡资料
  • 一个ip怎么做多个网站做公司的宣传网站需要注意什么
  • 网站建设需求说明文档企业网站设计注意
  • 大连网站建设方案维护网站优化排名推广
  • 购物网站代码模板上海网站建设设计公司哪家好
  • 网站项目遇到的问题html网页制作的软件下载
  • 网站设计论文范文大全集调查队网站建设
  • 简单的网站建设企业建立soho公司网站
  • zencart外贸网站建设爱情表白网站制作
  • 官方网站建设的意义网上外贸网站怎么做
  • 怎么把网站黑了大型电子商务网站建设方案
  • 做网站许昌长沙模板网站建设企业
  • 海珠建网站的公司化妆品软文推广范文
  • 东莞网站设计定制开发网站粘度计算公式
  • 长沙电子商务网站建设做citation的网站
  • 商丘网站制作公司一二三网络推广土石方工程网站
  • wordpress中文企业网站中山网络公关
  • 网站如何做留言板推广公司如何赚钱
  • 海口装饰设计网站建设做门票的网站
  • 彩票站自己做网站永康网站推广
  • 珠海企业集团网站建设力洋深圳做网站公司
  • 广州个人网站备案要多久游戏代理是做什么的
  • 婚纱摄影网站建设大概多少钱做电商一件代发的网站
  • 重庆网站建设哪家公司好官网静态html模板
  • 福建网站设计制作直播网站
  • 在北京建网站在网站上上传文件需要怎么做
  • 项目外包合同短视频seo公司
  • 做彩票网站需要什么技术网站开发四点注意事项
  • 建设一个购物网站多少钱专门做外卖的网站
  • 南翔企业网站开发建设wordpress自动创建子站