一个测量日志文件多样性的包

logdiv的Python项目详细描述


logdiv:一个python模块,用于计算事务日志中的多样性

logdiv是一个python模块,用于计算用户在事务日志中请求的项的多样性。

它需要两个输入:

  1. 包含事务的日志文件。
  2. 带有项目属性的文件。

计算用户请求的项目的多样性是社会学、推荐系统、电子商务和媒体研究等许多领域感兴趣的任务。检查下面的示例。

开始

先决条件

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

下面的示例演示了包的输入格式。

usertimestamprequested_itemreferrer_item
user12019-07-03 00:00:00v1v4
user12019-07-03 00:01:00v4v2
user12019-07-03 00:01:10v4v6
user12019-07-03 00:01:20v4v6
user12019-07-03 00:02:00v6v9
user12019-07-03 03:00:00v8v10
user12019-07-03 03:01:00v8v5
user22019-07-05 12:00:00v3v5
user22019-07-05 12:00:30v5v7
user22019-07-05 12:00:45v7v9
user22019-07-05 12:01:00v9v6
user32019-07-05 18:00:00v10v5
user32019-07-05 18:01:15v10v7
user32019-07-05 18:03:35v10v9
user32019-07-05 18:06:00v7v4
user32019-07-05 18:07:22v5v2
itemclass1class2class3
v1x\alphah
v2y\betah
v3y\betaf
v4x\betah
v5z\gammmaf
v6y\alphah
v7z\alphaf
v8x\gammmaf
v9y\alphaf
v10z\gammmah

如果要运行示例1,则需要在datasets/example1目录中运行:

$ python3 example_1.py

例2

此图是数据集2的gephi图,其中每个颜色对应于不同的媒体。

描述请求的文件与示例1中的文件具有相同的结构。

描述页面的文件比示例1中的文件更具体:

itemmediacontinent
item0PoliticsEurope
item1HealthAsia
item2PoliticsNorth America

如果要运行示例2,则需要在datasets/example2目录中运行:

$ python3 example_2.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JMF替换   java从apache网站导入库   如何在cmd/sudo中输入参数并在运行时使用它们?(爪哇)   java如何在page zk framework中触发任何选定的手动事件时保存textbox值   java如何在安卓应用程序中读取弹出窗口中的文本?   java my jsonarray不显示在我的arraylist中   java Spring如何用环境变量替换${}?   JavaRxJava2:迭代项并获得与条件匹配的项   java My mavenearplugin不尊重bundleFileName吗?   java Dropwizard V2端点   java修复语法或拼写错误?   java Netty 4.0 HTTP块内存泄漏?   链表Java结构(泛型)   java在Windows下的Eclipse SWT中使用64位XulRunner