商品摆放问题

58 篇文章 0 订阅
16 篇文章 0 订阅

这是一个有关商品排放问题的程序:

基本思路就是看顾客是否买了a商品,在买了a 商品的条件下 ,看是否买b 商品, 而这个记录就是通过 rule_valid = defaultdict(int) 这个对象来记录每个买的东西的情况。
所以就有几种情况:

1: 既没买a 也没买b ,当然这种情况就不需要过多解释了,也不用在程序中考虑太多
2:只买了a,没有买b,当然这个是要有的
3:既买了a又买了b
当然需要保存数据的只有后面两种
用一个他:
rule_valid[(i , x)] += 1 #我觉得这个字典超级棒
来保存既买i又买x 的情况

#首先导入数据:
#然后用一个数组来保存每一个可能的买度:
import  numpy as np
from  collections import  defaultdict

导入数据集:

data_file = "affinity_dataset.txt"
X = np.loadtxt( data_file)
 

rule_valid = defaultdict(int)#存放买a又买b 的
rule_invalid = defaultdict(int)#只卖a的没买b

result_confidence  = defaultdict(int) #置信度
result_support  = defaultdict(int) #支持度

for sample in X: #遍历每一个顾客买的数据
    for i in range( 5 ):#牛奶香蕉。。。
        if sample[i] == 0 :#是否买a
            continue

        #buy_1[i]+=1
        #保证不是一个(买了苹果又买苹果)
        for x in  range(i+1  , 5) :
            if sample[x] == 1 :
               rule_valid[(i , x)] += 1 #我觉得这个字典超级棒
            else:
                rule_invalid[( i , x)]  += 1
for x2 , x   in rule_valid.items() :键,值
    print("买的商品: :" , x2 )
    c = rule_invalid[x2] #只卖a没买b的情况
    print("置信度:" , x /(x + c)  )
    print("支持度:", x)
    #保存置信度和支持度 , 用来排序
    result_confidence[x2] = x /(x + c)
    result_support[x2] = x
#sorted(dict.items(), key=lambda e:e[1], reverse=True)
#排序
result_confidence_sort = sorted(result_confidence.items(),key= lambda e: e[1],  reverse=True )
result_support_sort = sorted(result_support.items() ,key= lambda e: e[1],  reverse=True )

print(result_confidence_sort)
print(result_support_sort)

for i in range(5):
    print("rule :#{0}".format(i +1)) #名次
    print("自信度",result_confidence_sort[i][1])
    y = result_confidence_sort[i][0]
    print(" 支持度",result_support[y])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java设计货架摆放商品需要考虑以下几个方面: 1. 货架的数据结构和算法:可以使用二维数组或链表来表示货架,并设计相关算法来实现商品摆放和取出操作。例如,可以使用一个二维数组表示货架,其中每个元素表示一个货架位置,包含商品的信息和状态(是否为空)。 2. 商品的分类和排序:货架上的商品可以根据不同的分类进行摆放,方便顾客浏览和购买。可以设计一个类来表示商品,其中包含商品的属性(如名称、价格等),并通过继承或接口实现不同种类商品的分类和排序。 3. 商品摆放策略:商品摆放策略可以根据不同的需求进行调整。例如,可以实现一种先进先出(FIFO)的摆放策略,即最先放入的商品最先被取出;或者实现一种按照销量排序的摆放策略,让热销商品靠近顾客的位置。 4. 货架的管理和维护:设计一个货架管理系统,包含对货架上商品的增加、编辑、删除等操作,并可以对货架进行整理和维护。例如,可以实现一个类来管理货架,其中包含对商品摆放和取出操作的方法,以及对货架的维护操作(如整理货架、检查过期商品等)。 综上所述,Java设计货架摆放商品需要考虑货架的数据结构和算法、商品的分类和排序、商品摆放策略以及货架的管理和维护等方面。通过合理设计和实现,可以更有效地管理和展示商品,提高顾客体验和运营效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值