本次活动主要是使用AWS的s3、NeptuneML对电影数据进行分析,查询,推测。大致的实验步骤如下图所示
从一个小小的例子解释了什么图,为什么使用图,图机器学习可以用来干什么。 我的活动心得也从下面展开。
图和图型数据库
图概念对于图数据库的理解至关重要。图是一组点和边的集合,“点”表示实体,“边”表示实体间的关系。在图数据库中,数据间的关系和数据本身同样重要 ,它们被作为数据的一部分存储起来。这样的架构使图数据库能够快速响应复杂关联查询,因为实体间的关系已经提前存储到了数据库中。图数据库可以直观地可视化关系,是存储、查询、分析高度互联数据的最优办法。
图机器学习
图形数据的一个常见问题在于,此类数据通常并不完整,这意味着其中包含缺失的属性值或连接。虽然不完整的数据并非图形独有的问题,但我们往往希望以互联的方式使用此类数据,这种本质需求使得这种问题会产生更大的影响,通常会导致无效的遍历和/或错误的结果。
Neptune ML 通过将机器学习(ML)模型集成到实时图形遍历过程中,借此预测/推断缺失的图形元素(例如属性和连接)。Neptune ML 通过使用 Gremlin 查询语言在 Neptune 中执行多种常见的机器学习任务来实现有效解决了这个问题学习任务包括节点分类、节点回归、关联预测、边缘分类、边缘回归。
使用Neptune ML
使用 Neptune ML我们大致需要执行如下四个步骤的操作
- 加载数据 - 使用任何常规方法(例如 Gremlin 驱动程序或 Neptune Bulk Loader)将数据加载到 Neptune集群中。
- 导出数据 - 调用服务,指定机器学习模型类型和模型配置参数。随后将数据和模型配置参数从 Neptune 集群导出到 S3存储桶。
- 训练模型 - 调用一系列服务对导出的数据进行预处理,训练机器学习模型,随后生成一个 Amazon SageMaker端点暴露该模型。为此,Neptune ML会自动执行常规的机器学习过程,将数据拆分为训练数据集、验证数据集和测试数据集。随后会使用训练数据集构建模型,用验证数据集验证模型并找出最佳模型,最后使用测试数据集评估模型的准确性。借助这些步骤,NeptuneML 可根据所提供的配置自动返回效果最佳的模型,进而简化整个模型构建过程。
- 运行查询 - 最后一步需要在 Gremlin查询中使用这个推断端点,通过机器学习模型推断数据。
使用体验
AWS Neptune ML 就操作而言相当精简,开发人员无需进行过多的配置与操作即可使用,减低了学习成本。无论是对于企业还是个人,都是一个不错的选择