在neo4j中存储决策树

时间:2015-03-09 18:49:20

标签: neo4j cypher

我一直在寻找一种方法来生产'基于R或python的Random Forest / Gradient提升树模型,并且认为由于所有单个组件决策树都是二叉树,因此导出到图形数据库可能是一个可行的解决方案(通过将模型保存在内存中并从轻量级调用来进行部署像Flask这样的宁静图书馆并没有那么好地扩展。以下是决策树的正常运行方式:

1。)数据传递到根节点

2.)我们检查当前节点是否是叶子节点;如果是,我们返回一组属性(预测的分布/值)。

  1. 如果不是,则节点存储决策规则,并检查相关列以将数据传递给下一个节点(例如,"如果年龄> 9.5,则移至左节点")

  2. 重复2-3。

  3. 我对neo4j和图形数据库一般都很陌生,我不清楚可以在节点中存储(并随后遍历)决策规则;我看到的所有例子都倾向于

    MATCH (neo:Database {name:"Neo4j"})
    MATCH (johan:Person {name:"Johan"})
    CREATE (johan)-[:FRIEND]->(:Person:Expert {name:"Max"})-[:WORKED_WITH]->       (neo)
    

    其中条件语句在查询中预先指定。这是neo4j可行的,如果是的话,我应该关注哪些文档?

    感谢您提供任何指导。

2 个答案:

答案 0 :(得分:1)

有趣的问题。

您需要一种方法从R或Python中导出模型并将其转换为Neo4J图。

导出机制可以是PMML(如果您使用R rpart包生成修剪树),Google protobuf(如果您使用R gbm包生成树),或者只是Excel电子表格。

解析和解组Neo4J是你的问题。

答案 1 :(得分:-1)

我与Yhat没有任何联系,但是阅读你的问题让我想到了另一种方法。

Yhat Science Ops

我不知道这对您的团队内部意味着什么,但似乎是一种通过基本API调用轻松调用模型的简单方法。

相关问题