【数据库|电子商务|ERP】基于PyQt5、SQLite和Apriori算法实现CRM商品推荐

本文介绍了如何基于PyQt5 GUI、SQLite数据库和Apriori算法设计一个CRM商品推荐系统。实验涉及商品数据输入、关联规则挖掘和推荐内容输出。通过计算支持度和置信度,实现个性化的商品推荐。
摘要由CSDN通过智能技术生成
实验目的

熟悉关联算法、相邻方法,能应用关联算法或相邻方法设计个性化推荐系统,如推荐相应的优惠折扣或用户可能感兴趣的内容。

实验内容

1、输入客户数据
2、应用关联算法或相邻方法计算该用户适宜的优惠政策或可能感兴趣的内容
3、输出相应的推荐内容

实验工具

① IDE:PyCharm
Pycharm是一个用于计算机编程的集成开发环境,主要用于Python语言开发,提供代码分析、图形化调试器、集成测试器、集成版本控制系统,并支持Django进行开发。提供卓越的生产力推进工具如自动代码格式化、代码完成、重构、自动导入和一键代码导入,能够方便开发人员高效开发程序。此外,Pycharm支持跨平台,在Windows、MacOSX和linux系统等主流系统都发布了相应的版本。

② 开发语言:Python3
Python3是一种用于通用编程的解释型高级编程语言,Python的设计理念强调代码可读性,提供了在小规模和大规模上实现清晰变成的构造。Python具有动态类型系统和自动内存管理功能,它支持多种编程示例,包括面向对象,功能性和程序性,并且具有大型且全面的标准库。作为一种动态类型语言,Python非常灵活,支持使用不同的方法灵活地解决问题。Python可以在每个主要的操作系统和平台,以及大多数的小系统上运行。此外,Python非常适合后端web开发、数据分析、人工智能和科学计算。

③ 数据库:SQLite
SQLite是一个轻量级、跨平台的关系型数据库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎,SQLite是世界上最广泛部署的SQL数据库引擎,被广泛适用于浏览器、操作系统和嵌入式系统等。SQLite是ACID兼容的,使用动态和弱类型的SQL语法来实现大多数SQL标准。SQLite的核芯引擎本身不依赖第三方软件,能够在开发部署时省去不少麻烦。

④ GUI实现库:PyQt5
PyQt是一个Python结合的跨平台的GUI工具包的Qt,属于一个Python实现插件,PyQt支持Microsoft Windows以及各种类型的UNIX,包括Linux和MacOS。PyQt实现了大约440个类和超过6000个函数和方法,包括一组GUI部件、用于访问SQL数据库的类、基于Scintilla的富文本编辑器小部件、从数据库自动填充的数据感知小部件、XML解释器等。Qt框架除了界面库之外还提供了音频库、3D库、数据库SDK、WebEngine、网络库能,使开发能够变得更加简便。

实现步骤
  1. 整体框架设计
    在这里插入图片描述

  2. 数据表的设计
    数据表名:goods 中文描述:商品表
    字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
    Id 商品编号 char 10 N NULL 主键
    Name 商品名称 Varchar 50 N NULL
    company 生产厂商 Varchar 50 N NULL
    Date 上市日期 Date N 2000/1/1
    Price 商品价格 float N 0.0
    img 商品图片 Char 200 Y NULL
    screen 屏幕 Varchar 100 Y NULL
    CPU CPU Varchar 100 Y NULL
    GPU GPU Varchar 100 Y NULL
    advantage 优点 Varchar 200 Y NULL
    disadvantage 缺点 varchar 200 Y NULL

  3. 算法

支持度:支持度(Support)的公式是:Support(A->B)=P(A U B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不大;如果A与B同时出现的非常频繁,则说明A与B总是相关的。

置信度: 置信度(Confidence)的公式:Confidence(A->B)=P(A | B)。置信度揭示了A出现时,B是否也会出现或有多大概率出现。如果置信度度为100%,则A和B可以捆绑销售了。如果置信度太低,则说明A的出现与B是否出现关系不大。

Apriori算法:
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法Apriori使用一种称作逐层搜索的迭代方法,“K-1项集”用于搜索“K项集”。
首先,找出频繁“1项集”的集合,该集合记作L1。L1用于找频繁“2项集”的集合L2,而L2用于找L3。如此下去,直到不能找到“K项集”。找每个Lk都需要一次数据库扫描。
核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前k-2项相同,并按照字典顺序连接。剪枝步,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值