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

建设职业注册中心网站专门做签到的网站

建设职业注册中心网站,专门做签到的网站,学院的网站建设的er图怎么画,工商网查询企业信息查询系统【实验名称】 实验一:绘制板块层级图 【实验目的】 1. 掌握数据文件读取 2. 掌握数据处理的方法 3. 实现板块层级图的绘制 【数据介绍】Instacart Market Basket Analysis 1. 数据说明 数据共有300 0000orders, 20 0000users, …

【实验名称】

实验一:绘制板块层级图

【实验目的】

1. 掌握数据文件读取

2. 掌握数据处理的方法

3. 实现板块层级图的绘制

 【数据介绍】Instacart Market Basket Analysis

1. 数据说明
      数据共有300 0000orders,
      20 0000users,
      5000products, 
      每个user提供有4-100个orders
2. 各数据内容了解
   aisles:产品摆放位置说明
   order_products__prior:订单产品关联表
   orders.csv: 用户下单记录表。    
   products.csv: 产品ID分类,及其摆放位置的关系表
   departments.csv:  产品分类表
3. 目标分析
   目标是预测用户下次购买时,可能再次购买的产品。
   即,用户历史购买的产品,那些是用户下次购买还会购买的。
4. 训练数据构建
   order_id, product_id(订单中的一个产品), lable(是否下次购买)。
  (1)产品特征
      1)产品被购买次数。
      2)产品被重复购买次数
      3)产品被重复购买次数/总的购买次数。
      4)产品在不同week被购买次数
      5)产品在不同hour被购买次数。
  (2)用户特征
      1)用户总下单次数。
      2)用户总购买量。
      3)用户每单平均购买量。
      4)用户距离上一次购物时间。
      5)用户频繁购买是周几。
      6)用户购买当天小时。
      7)用户购买商品数(去重)
      8)用户购买最多的商品
      7)用户购买最少的商品。
      9)用户在不同week购买最多,以及最少的商品。
      10)用户在不同hour购买最多,以及最少的商品。
  (3)user_products特征
      1)该用户购买该商品次数/该用户下单次数。
      2)该用户上一次购买该商品距离现在天数。
      3)该用户上一次购买该商品平均week日期。
      4)该用户上一次购买该商品平均时间。
      5)该用户购买该商品的频率

 Instacart 的数据科学团队在提供这种令人愉悦的购物体验方面发挥着重要作用。目前,他们使用交易数据来开发模型,以预测用户在会话期间会再次购买、首次尝试或下次添加到购物车的产品。

无论您是从精心策划的购物清单中购物,还是让奇思妙想引导您放牧,我们独特的美食仪式都定义了我们是谁。Instacart 是一款杂货订购和送货应用程序,旨在让您在需要时轻松地将您个人最喜欢的和主食装满您的冰箱和食品储藏室。通过 Instacart 应用程序选择产品后,个人购物者会查看您的订单并为您进行店内购物和送货。

Instacart 的数据科学团队在提供这种令人愉悦的购物体验方面发挥着重要作用。目前,他们使用交易数据来开发模型,以预测用户在会话期间会再次购买、首次尝试或下次添加到购物车的产品。最近,Instacart 开源了这些数据 - 请参阅他们的博客文章 300 万个 Instacart 订单。

 【实验原理】

板块层级图(treemap)是一种基于面积的可视化方式,通过每一个板块(通常为矩形)的尺寸大小进行度量。外部矩形代表父类别,而内部矩形代表子类别。我们也可以通过板块层级图简单的呈现比例关系,不过它更擅于呈现树状结构的数据。

读取绘图所用的数据,并对数据进行处理将数据处理成我们可以使用的形式,绘制板块层级图,设置标签和标题。

【实验环境】

Windows 11,python3.11.1,pycharm professional 2024.2.1,jupyter notebook

【实验步骤】

题目一:安装pandas、matplotlib、seaborn、squarify

1、输入命令:pip install pandas

2、输入命令:pip install matplotlib

3、输入命令:pip install seaborn

  1. 输入命令:pip install squarify

题目二:读取数据

在这里我们使用pandas库中的read_csv函数来读取这3个数据文件。

import pandas as pdproducts_df = pd.read_csv('products.csv')
aisles_df = pd.read_csv('aisles.csv')
departments_df = pd.read_csv('departments.csv')
aisles_df.head(10)

数据读取的结果(aisles_df部分数据读取结果):

题目三:数据预处理

我们需要根据源表对目标表进行匹配查询,使用merge函数进行操作。

order_products_prior_df = pd.merge(products_df, aisles_df, on='aisle_id', how='left')
order_products_prior_df = pd.merge(order_products_prior_df, departments_df, on='department_id', how='left')
order_products_prior_df.head()
temp = order_products_prior_df[['product_name', 'aisle', 'department']]
temp = pd.concat([order_products_prior_df.groupby('department')['product_name'].nunique().rename('products_department'),order_products_prior_df.groupby('department')['aisle'].nunique().rename('aisle_department')
], axis=1).reset_index()
temp = temp.set_index('department')
temp2 = temp.sort_values(by="aisle_department", ascending=False)

进行匹配操作后的数据。

print(temp)

print(temp2)

 

题目四:绘制板块层级图

1.绘制初始的板块层级图

cmap = matplotlib.cm.viridis
mini, maxi = temp2.products_department.min(), temp2.products_department.max()
norm = matplotlib.colors.Normalize(vmin=mini, vmax=maxi)
colors = [cmap(norm(value)) for value in temp2.products_department]
colors[1] = "#FBFCFE"
labels = ["%s\n%d aisle num\n%d products num" % (label) for label inzip(temp2.index, temp2.aisle_department, temp2.products_department)]
fig = plt.figure(figsize=(12, 10))
ax = fig.add_subplot(111, aspect="equal")
ax = squarify.plot(temp2.aisle_department, color=colors, label=labels, ax=ax, alpha=.7)

绘制结果

2.设置xy轴的属性

ax.set_xticks([])
ax.set_yticks([])

3.添加图表标题

fig.suptitle("How are aisles organized within departments", fontsize=20 )

4.添加数据标签

img = plt.imshow([temp2.products_department], cmap=cmap)
img.set_visible(False)
fig.colorbar(img, orientation="vertical", shrink=.96)
fig.text(.76, .9, "numbers of products", fontsize=14)

这样我们的板块层级图就绘制完毕了

附录:总代码

import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib
import squarify
color = sns.color_palette()
pd.options.mode.chained_assignment = None # default='warn'
products_df = pd.read_csv('products.csv')
aisles_df = pd.read_csv('aisles.csv')
departments_df = pd.read_csv('departments.csv')
order_products_prior_df = pd.merge(products_df, aisles_df, on='aisle_id', how='left')
order_products_prior_df = pd.merge(order_products_prior_df, departments_df, on='department_id', how='left')
order_products_prior_df.head()
temp = order_products_prior_df[['product_name', 'aisle', 'department']]
temp = pd.concat([order_products_prior_df.groupby('department')['product_name'].nunique().rename('products_department'),order_products_prior_df.groupby('department')['aisle'].nunique().rename('aisle_department')
], axis=1).reset_index()
temp = temp.set_index('department')
temp2 = temp.sort_values(by="aisle_department", ascending=False)
print(temp)
print(temp2)
x = 0
y = 0
width = 100
height = 100
cmap = matplotlib.cm.viridis
mini, maxi = temp2.products_department.min(), temp2.products_department.max()
norm = matplotlib.colors.Normalize(vmin=mini, vmax=maxi)
colors = [cmap(norm(value)) for value in temp2.products_department]
colors[1] = "#FBFCFE"
labels = ["%s\n%d aisle num\n%d products num" % (label) for label inzip(temp2.index, temp2.aisle_department, temp2.products_department)]
fig = plt.figure(figsize=(12, 10))
ax = fig.add_subplot(111, aspect="equal")
ax = squarify.plot(temp2.aisle_department, color=colors, label=labels, ax=ax, alpha=.7)
fig.suptitle("How are aisles organized within departments", fontsize=20 )
ax.set_xticks([])
ax.set_yticks([])
img = plt.imshow([temp2.products_department], cmap=cmap)
img.set_visible(False)
fig.colorbar(img, orientation="vertical", shrink=.96)
fig.text(.76, .9, "numbers of products", fontsize=14)
plt.show()

http://www.yayakq.cn/news/488500/

相关文章:

  • 生物科技 网站模板下载百度云手机登录入口
  • 如何建设一个小说网站网络设计课程培训
  • 织梦建站模板网站建设哪家质量好
  • 广州网站开发哪家好金顺广州外贸网站建设
  • 网站建设项目分期中关村在线对比
  • py和php做网站哪个好网站栏目规划怎么写
  • 网站建设如何找本地客户汽车网站页面
  • ui展示 网站网站建设没有图片
  • 建设网站的课题网站改版阿里云怎么做网站301定向
  • 个人网站可以做健康付费知识在线制作带字图片
  • 石碣企业网站建设公司wordpress移动端导航菜单
  • 网站的版式设计有哪些个人主页设计代码
  • 江门网站推广技巧方法广州网站建设专家
  • 陕西省建设厅网站首页属于网站建设过程规划和准备阶段的是
  • 烟台消防建设信息网站宁晋县建设局网站
  • 福州长乐网站建设设计一个电商网站的首页
  • 西部数码网站管理助手 2008教做粘土的网站
  • 专业网站建设的价格做网站的 深圳
  • 济南做网站的价格安徽安能建设集团网站
  • 自助建站系统是怎么实现深圳网站设计知名乐云seo
  • 网站建设的公司有哪些方面济南注册公司怎么注册
  • 房产中介 网站模板太原的网站建设公司哪家好
  • 做游戏网站用什么软件网站建设的需求和目的
  • 什么网站可以做字体效果好做印量调查的网站
  • 校园门户网站系统建设关键技术网络营销推广方法范文
  • 网站制作 信科网络苏州seo公司排名
  • 中国月球空间站wordpress内容页标题
  • 婚庆网站建设论文网页设计与制作实践
  • 合肥金融直播室网站建设如何把一个关键词优化到首页
  • 用织梦建设网站永久一级传奇网站