图
文章平均质量分 82
yukai08008
这个作者很懒,什么都没留下…
展开
-
Python 图算法系列29-大规模图关系建立-step1导入数据
将数据保存为csv形式,大致的格式如下。对于节点来说, ID和LABEL是必须的。ID可以简单理解为数据的主键,LABEL则是数据的表(Table)或集合(Collection)。对于边来说, STARD_ID、END_ID、TYPE构成了一条边,STARD_ID和END_ID是起点和终点,需要注意的是,原创 2024-09-23 18:33:15 · 476 阅读 · 0 评论 -
Python 图算法系列27-使用图库构建微服务体系描述
说明学如逆水行舟,不进则退。我希望微服务是一个时间机器。人力有时而尽,而今天的知识、技能种类之繁多,内容之精深早就超出人类的上限不知道几个量级。IT/人工智能领域向来以持续学习和革新著称,前浪后浪,不知几何。我coding的数量不算少,没精确统计过,想来几百万行是有的。接触的技术领域从前端到架构到后端到算法,非常繁杂。有几点体会:1 这个功能我肯定做过,但是最终还是重写。2 这个领域我原来很熟,但是现在用不起来。3 这个文档应该有,但是不知道去哪了。我算是资质一般,所以很多时候不期待第原创 2022-05-22 00:11:59 · 172 阅读 · 0 评论 -
Python 任务系统GraphSys2 图系统构想2
说明上篇介绍了一下设计方面的想法,这篇主要考虑一下图系统构建工程化的思路。内容1 几部分组件1.1 前端到mongo数据库我希望这是可以直接辅助工作的,减少负担的系统。在使用上没有比网页来的更简单的了,这部分实践过,基本认为只是消耗时间。1.2 python到mongo(几种模式)python到mongo的操作就那些,但是我希望用不同的逻辑去构建。至少需要主表和日志表,日志表和主表之间根据操作号进行同步更新。主要是可以确保回溯到某个时期的操作。1.3 python到neo4j的方式通过p原创 2021-05-06 00:03:34 · 114 阅读 · 0 评论 -
Python 图算法系列24-知识图与计算图
说明因为计划全面的使用图来管理和构建应用,有些概念就纠缠在一起了。从应用的角度来说,我觉得应该至少分为两类图:知识图:用于记忆和推理计算图:用于处理数据、沉淀知识、更新知识或者输出知识的价值内容1 知识图之前有使用flask+datatables+mongo+neo4j构建编辑图的应用,那么编辑的这个图到底是什么?有什么作用呢?通常情况下,我们编辑的是知识图。例如,我们有100件事,通过编辑图的方式录入了数据库。大致的数据内容都是什么实体之下有哪些东西,以及哪些实体之间存在何种关系,又或原创 2021-03-04 16:17:44 · 290 阅读 · 1 评论 -
Python 图算法系列19-前后端交互的图操作设计2
说明在之前的基础上进一步完善图操作的流程和功能,做成一个可以使用的版本。花了一个春节除了带娃,做家务以及打游戏以外100%的时间搞的,算是达到预定的目标。代码和逻辑还是比较多的,所以这里就不写代码的细节,简单梳理一下设计的思路和实际使用的样子。不足的地方等以后慢慢改,先能够用起来比较重要。内容1 初衷减负增效:用图来表达每一项具体事务,减少手工的记忆和推理。人工智能/计算机 能够替代人类的哪些工作(功能)?从逻辑部分来看,人脑的记忆和推理功能是可以被替代/增强的。从整体来看,人类并不擅长重复原创 2021-02-17 23:07:10 · 488 阅读 · 0 评论 -
Python 图算法系列17-前后端交互的图操作设计
说明从业务的应用上看,使用图可以大幅提高效率和质量。本篇讨论一下如何基于图服务业务,然后再讨论一些基础的实现架构。内容1 业务这里的业务指:从数据开始,到数据结束的业务(例如建立并应用一个模型)过去,至少有两个行业展示了这方面的业务需求。1 金融业:银行用的风控模型,券商的营销模型或者量化模型。2 电商业:推荐算法,物流的优化算法。未来,还会有更多的行业会生成这类需求,或称「AI+」。从亚当.斯密的理论来看,科技产业正在以前所未有的速度反哺第一、第二产业。随着人口红利的消失,资源竞原创 2021-01-31 11:30:55 · 461 阅读 · 0 评论 -
Python 图算法系列16-广度优先遍历(BFS)计算股权穿透
说明使用neo4j获取相关的点和边,然后使用BFS计算股权穿透内容背景:查询获得了一个子图,以某个查询节点作为初始点,向外以投资关系进行深度查询,获得4度(也可以改为n度)内的关系。Note:获得的结果可能有环目标是获取子图中各节点对于查询节点的加权持股比例。分析首先获得了点集和边集。1 点集In [60]: node_setOut[60]:[30474530, 37948835, 34316450, 112304289, 3073070, 33995951, 164892原创 2021-01-21 13:58:40 · 1510 阅读 · 0 评论 -
Python 图算法系列13-cypher 查询以及模糊查询
说明整理一些常用的查询备用,可以参考这篇文章。查询之前要先建立索引,如果是动态的写入数据(小批量方式),那么在建库的时候就先声明索引;如果是静态的一次性删库导入,只能等数据完全导入后建立索引(2亿的数据大概要3~4小时)。内容比较操作符:# 注意是单个的'='号,不是两个=<><><=>=逻辑(布尔)运算符:ANDORNOTXOR1 键值匹配查询当明确的要查询某个节点时,方式一:MATCH (n:Person{name:'张三'原创 2021-01-12 15:20:06 · 1706 阅读 · 0 评论 -
Python 图算法系列14-基于neo4j建立flask的数据模型
说明图库在处理关系上比传统关系型数据库好很多,因此计划使用neo4j作为flask的数据库后端flask一般使用sqlalchemy(ORM)连接mysql作为数据库后端,我觉得不是非常灵活。在定义各个数据表的关系时需要分别在对应的数据对象里声明,还要遵守一定的规范,如果说仅仅是比较固定的表格还听合适,问题是变化。无论是mysql数据库本身,又或者表和表的关系之间,一旦有变化调整起来都是很复杂的。变化归图,不变归表我认为可以把经常发生变化的部分抽出来,放到图里处理,例如用户的权限管理;不变的原创 2021-01-12 14:06:14 · 2317 阅读 · 1 评论 -
Python 图算法系列12-建立大型图库测试
说明假设这样一个应用,从传统的mysql中读出原始数据,并将其合理的存储到neo4j中。以便进行模式查询 。1 元数据1.1 节点1 节点 nid2 名称 name3 创建时间戳 create_time4 更新时间戳 update_time5 是否可用(0/1) is_enable1.2 关系1 关系 rid2 创建时间戳 create_time3 更新时间戳 update_time4 是否可用(0/1) is_enable2 索引节点id, nid在数据库中可以查询原创 2020-12-23 13:25:33 · 348 阅读 · 0 评论 -
Python 图算法系列11-图应用思路梳理
说明图最原始的用来管理结构其实是最实在的,例如git本质就是用图(树)在管理多个版本。所以有理由相信,使用图可以解决很多基本的问题。反过来想,过去很多问题没有解决(好)应该是方式不对。以下以neo4j作为图库,梳理一下使用图进行交互式编程的思路。我觉得neo4j作为图库可能也不是最好的选择(天然排斥java),但在小规模应用下无所谓了,neo4j还是提供了一个很友好的web管理页面。图(库)的应用点:1 可视化2 可编辑性(web send json to DB)1 内容先把图分为「原创 2020-11-10 14:03:42 · 194 阅读 · 0 评论 -
Python 图算法系列9-图的应用探索
说明假设我们拿到了一批数据(已经存储在neo4j中),如何通过图的方式实现其价值呢?实现价值的途径+ 1 事实性质的查询+ 2 模式的查询与目标问题的关联(强规则)+ 3 模式查询的结果进行模糊描述(弱规则-聚类)+ 4 模式查询的结果进行精确描述(弱规则-分类)事实性质的查询。数据库本身的价值就是查询,所以建立了某种图库(或者说关系库)之后,那么第一个应用就是查事实。例如xx查、xx宝,在有了大量的股权关系后,你就可以查感兴趣的目标。但是这种价值一般来说附加值相对低,属于寡头垄断的行原创 2020-10-30 19:00:27 · 713 阅读 · 0 评论 -
Python 图算法系列8-图数据库阅读及简单实验
说明看看这本书,里面还是有不少常识和启发的。本篇会摘取一些里面比较好的内容,然后做一个简单但比较有用的应用。Mysql这样的数据库,在需要多个join(递归)时表现会很差。在例如「商品推荐」这样的问题时就会碰到比较大的问题。例如在库中寻找朋友关系层数Mysql执行时间Neo4j返回记录数20.0160.01~2500330.2670.168~1100041543.5051.359~6000005未完成2.132~800000原创 2020-10-17 22:42:54 · 761 阅读 · 1 评论 -
Python 图算法系列6-使用Py2neo操作neo4j pro - 待续
说明进一步的使用py2neo操作neo4j,为搭建一个操作图库的方法做准备。上一篇的内容Python 图算法系列5-使用Py2neo操作neo4j以关系为核心,以子图为单元。1 节点1.1 直接创建关于连接端口。neo4j默认的连接端口是7474(网页访问的端口,以及py2neo连接的端口)。7687端口用于用户输入登录认证信息(网页版)。使用py2neo可以创建节点import pandas as pdimport numpy as npimport timefrom py2n原创 2020-10-01 16:49:00 · 1593 阅读 · 2 评论 -
Python 图算法系列3-矩阵计算图指标
0 说明使用矩阵方法计算图指标。FWCN(Frequency-Weighted Common Neighbor):A和B之间的距离由他们的共同邻居决定。数据:facebook在Kaggle上的一些公开数据1 处理确保具有如下两个包pip3 install python-louvain 【社区发现】pip3 install networkx 【网络计算】读入数据import networkx as nx import numpy as np import pandas as pd原创 2020-06-07 00:21:00 · 1034 阅读 · 0 评论 -
Python 图算法系列2 -电影推荐
0 说明例子原文来自Kaggle,本文会以原文例子为主线进行展开。主要的点在于将非结构化数据(文本描述)进行向量化,然后通过图的结构关系做推荐。1 数据数据可以到这里下载(Kaggle),或者也可以在这里下载(CSDN), 文件不大,大概2.3M左右。数据一共6234行,12列。列名含义show_id每部电影的唯一IDtypeN,分类变量,电影Movie Or 电视剧TVtitle电影或电视剧的名称,可能不唯一director导演cast演员原创 2020-05-30 15:10:35 · 1114 阅读 · 0 评论