栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Machine Learning A-Z学习笔记14-先验算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Machine Learning A-Z学习笔记14-先验算法

Machine Learning A-Z学习笔记14-先验算法 1.简单原理

先验算法(Apriori Algorithm)是关联规则学习的经典算法之一。

我们可以从上面面的两个简单例子发现,看过点影2的人也会去看电影4;买蔬菜的顾客也会买水果。而先验算法有三个指标,分别为支持度(Support)、讯息水准(Confidence)、提升度(Lift),下面将逐一介绍。

支持度(Support)=看过电影m的人/所有用户

讯息水准(Confidence))=看过电影m1和m2的人看过电影m1的人

提升度(Lift)=讯息水准/支撑度

1.找出最低支持度的电影,以及他的所有讯息水准中最低的值,即最低讯息水准
2.找出其他电影的支持度以及它们的集合
3.找出所有讯息水准大于最低讯息水准的集合
4.将步骤3的结果进行由大到小的排序,并取前N个作为答案

2.相关代码
# Apriori
"""
超商商品关联(1週的交易纪录)
"""

# importing the libraries
"""
汇入库
"""
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Data Preprocessing
"""
导入数据
-for i in range(0, 7501):从dataset中一行一行添加至transactions
"""
dataset = pd.read_csv('Market_Basket_Optimisation.csv', header = None)
transactions = []
for i in range(0, 7501):
    transactions.append([str(dataset.values[i,j]) for j in range(0, 20)])

# Training Apriori on the dataset
"""
建立先验算法
-min_length = 2:每笔资料中最少要包含两个商品,否则不进行处理
-min_support = 0.003:考虑1天最少可以卖3次的产品,一週7天,故3*7/7500=0.0028,近似0.003
-min_confidence = 0.2:根据自己的需求而调整
-min_lift = 3:根据自己的需求而调整

算法会根据这些限制进行求解,然后答案会再自行作排序
"""
from apyori import apriori
rules = apriori(transactions, min_support = 0.003, min_confidence = 0.2, min_lift = 3, min_length = 2)

# Visualising the results
"""
结果可视化
"""
results = list(rules)
for i in range(10): print(results[i], 'n')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号