一个测量日志文件多样性的包
logdiv的Python项目详细描述
logdiv:一个python模块,用于计算事务日志中的多样性
logdiv是一个python模块,用于计算用户在事务日志中请求的项的多样性。
它需要两个输入:
- 包含事务的日志文件。
- 带有项目属性的文件。
计算用户请求的项目的多样性是社会学、推荐系统、电子商务和媒体研究等许多领域感兴趣的任务。检查下面的示例。
开始
先决条件
logdiv要求:
- Python
- numpy-基本
- 熊猫-必不可少
- matplotlib-基本
- pyyaml-必需的
- SCIKIT学习-基本
- TQM-可选:进度条,只有一个函数需要它
- 图形工具-可选:只有一个函数需要它
$ python3 -m pip install numpy $ python3 -m pip install panda $ python3 -m pip install matplotlib $ python3 -m pip install pyyaml $ python3 -m pip install scikit-learn $ python3 -m pip install tqdm
安装图形工具比较复杂:https://git.skewed.de/count0/graph-tool/wikis/installation-instructions
安装
要安装logdiv,您需要执行:
$ pip install logdiv
规格
输入格式
logdiv需要特定的输入格式才能运行:
- 以表格格式描述所有请求的文件,其字段为:
- 用户ID
- 时间戳
- 请求的项目ID
- 推荐人项目ID
- 描述以表格格式访问的所有页面的文件,其字段为:
- 项目ID
- 分类1
- 分类2
- 。
yaml文件
使用logdiv的代码是由一个yaml文件引导的:如果你想修改输入文件或者你想计算的特性, 你只需要修改yaml文件,而不是代码本身。
yaml文件类似于json文件,一旦您加载它们,它们就会以单词的形式出现。例如,在你的代码中 接受需要经常更改的参数的函数。你可以把措辞的关键交给你的职能,然后 更改yaml文件中的值。这样,当您希望更改代码中的参数时,可以减少错误并减少时间。
文件
如果需要logdiv函数的精度:
- 函数的目的是什么
- 这些函数在输入中接受什么
- 他们返回的内容
您需要在控制台python中运行:
>>>help(function)
示例
您可以使用两个示例来熟悉logdiv:
- 示例1使用一个短数据集来演示如何使用logdiv
- 示例2使用一个超过10万个请求的数据集来显示可以获得什么样的结果
这些示例(数据集、脚本和yaml文件)可以在datasets目录中找到。这些yaml文件是不言而喻的。
例1
下面的示例演示了包的输入格式。
user | timestamp | requested_item | referrer_item |
---|---|---|---|
user1 | 2019-07-03 00:00:00 | v1 | v4 |
user1 | 2019-07-03 00:01:00 | v4 | v2 |
user1 | 2019-07-03 00:01:10 | v4 | v6 |
user1 | 2019-07-03 00:01:20 | v4 | v6 |
user1 | 2019-07-03 00:02:00 | v6 | v9 |
user1 | 2019-07-03 03:00:00 | v8 | v10 |
user1 | 2019-07-03 03:01:00 | v8 | v5 |
user2 | 2019-07-05 12:00:00 | v3 | v5 |
user2 | 2019-07-05 12:00:30 | v5 | v7 |
user2 | 2019-07-05 12:00:45 | v7 | v9 |
user2 | 2019-07-05 12:01:00 | v9 | v6 |
user3 | 2019-07-05 18:00:00 | v10 | v5 |
user3 | 2019-07-05 18:01:15 | v10 | v7 |
user3 | 2019-07-05 18:03:35 | v10 | v9 |
user3 | 2019-07-05 18:06:00 | v7 | v4 |
user3 | 2019-07-05 18:07:22 | v5 | v2 |
item | class1 | class2 | class3 |
---|---|---|---|
v1 | x | \alpha | h |
v2 | y | \beta | h |
v3 | y | \beta | f |
v4 | x | \beta | h |
v5 | z | \gammma | f |
v6 | y | \alpha | h |
v7 | z | \alpha | f |
v8 | x | \gammma | f |
v9 | y | \alpha | f |
v10 | z | \gammma | h |
如果要运行示例1,则需要在datasets/example1目录中运行:
$ python3 example_1.py
例2
此图是数据集2的gephi图,其中每个颜色对应于不同的媒体。
描述请求的文件与示例1中的文件具有相同的结构。
描述页面的文件比示例1中的文件更具体:
item | media | continent |
---|---|---|
item0 | Politics | Europe |
item1 | Health | Asia |
item2 | Politics | North America |
如果要运行示例2,则需要在datasets/example2目录中运行:
$ python3 example_2.py