一文读懂:怎样将 MongoDB 转变为预测数据库?操作详解来了!

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 技术讲解

商界对人工智能 (AI) 和机器学习 (ML) 的兴趣日益浓厚。ML/AI 的预测功能能够以比人工分析更快的速度从检测到的模式中快速获得见解。此外,生成式机器学习应用程序(如 OpenAI 和 Hugging Face)的最新进展为企业提供了强大工具以用于生成和分析文本的数据。企业意识到这样可以提高利润、降低成本并加快创新。尽管各种规模的企业都可以受益于强大的 AI,但实施机器学习项目既复杂又耗时。

MongoDB, Inc. (NASDAQ: MDB) 是领先的现代通用数据库平台,MindsDB 是将自动化机器学习引入数据库的开源机器学习平台,两者建立了技术合作伙伴关系,以推进机器学习创新。此次合作旨在让开发者能够轻松地将强大的机器学习驱动型功能整合到他们的应用程序中,以解决现实世界的业务挑战。

最好的方法是什么?

一旦确定了要重点实施的初始机器学习项目(如预测或文本分析)后,选择合适的工具和方法有助于缩短构建、训练、优化和部署模型所需的时间。如果您不确定机器学习模型将要在哪些维度上进行训练,模型的选择和特征工程可能会非常耗时且困难。此外,用于数据提取和转换的管道需要随着时间进行维护,机器学习模型也需要部署在合适的计算框架之上。

现有的顶尖 AutoML 框架提供了优化性能的方法,包括调整超参数(如学习率或批量大小)。MindsDB AutoML 框架超越了大多数传统的超参数调整自动化系统,实现了数据清理、数据预处理和特征工程的新颖上游自动化。为助力用户进行透明开发,该框架包含可解释性工具,支持处理复杂的数据类型(NLP、时间序列、语言建模和异常检测),并通过允许用户使用导入的选定模型让用户可以进行自定义设置。

此外,MindsDB 还可以在数据层生成预测(不消耗数据库资源),这是加快开发速度的另一个重大进步。通过使用 MindsDB AI 集合直接在 MongoDB Atlas 中生成预测,这样您就能够将预测用作常规数据,查询这些预测,并通过简化部署工作流程来加快开发速度。

01 开始使用 MindsDB
我们建议从 AWS 中的 MindsDB 开始使用以获取 MindsDB 的演示云版本。对于小规模测试(2 个模型,数千个文档)之外的任何测试,强烈建议使用 MindsDB Pro(易于设置、简单、基于使用量的“即用即付”定价)。查看 AWS Marketplace 上的产品页面,了解有关如何在现有 AWS 帐户中设置 MindsDB 的说明。

02 在MongoDB中设置与MindsDB的连接

目前,集成是通过 MindsDB 的 MongoDB API 访问作为新数据源的 MongoDB 来实现的。可在此处找到有关连接到 MongoDB 的更多信息。MindsDB 会托管包含示例数据集的演示 MongoDB 数据库。

使用 MongoDB Shell 或MongoDB Compass UX 连接到 MindsDB 的 MongoDB API。请注意,您必须装有 MongoDB Shell 版本 3.6 或更高版本才能使用 MindsDB MongoDB API。

03 MongoDB Compass 连接

要连接到 MindsDB 演示数据库,请使用以下连接字符串(如 MongoDB Compass UX 中的以下内容所示):

mongodb+srv://admin:201287aA@cluster0.myfdu.mongodb.net/admin?authSource=admin&replicaSet=atlas-5koz1i-shard-0&readPreference=primary&appname=MongoDB%20Compass&ssl=true
image.png

如果您想使用自己的数据库学习本教程,请随意使用自己的连接字符串,并上传可以在其中运行许多测试用例 house_sales.csv 的示例数据集。

如果您使用自己的 MongoDB 实例,您将需要执行两个额外步骤:

步骤 1:创建 MindsDB 帐户后,使用 MindsDB 编辑器中的连接字符串将 MongoDB 实例连接到 MindsDB(云或 AWS)(MindsDB 云编辑器的链接如下:https://cloud.mindsdb.com/editor)

在 MindsDB 编辑器中运行以下查询:
image.png

执行后,输出如下:
image.png

其中:
image.png

步骤 2:将 MongoDB Compass 或 Shell 连接到 MongoDB;创建一个新集合,然后添加 .csv 文件,如下所示:

创建集合 > 添加数据 > 选择数据类型

数据类型:[日期、数字、字符串、数字]
image.png

现在,我们已经成功与 MongoDB 数据库集成。下一步是使用 MongoDB 客户端连接到 MindsDB 的 MongoDB API 并训练模型。MindsDB 拥有许多准备好的演示用例和数据集,包括预测房屋租赁价格、预测季度房屋销量以及通过使用我们的 Hugging Face 集成对产品评价文本进行语言分析来预测客户情感。在下面的链接中可以找到 Mongo 的许多示例和代码:

(*请复制链接后进入浏览器打开)

https://docs.mindsdb.com/using-mongo-api/nlp
https://docs.mindsdb.com/using-mongo-api/classification
https://docs.mindsdb.com/using-mongo-api/regression
https://docs.mindsdb.com/nlp/sentiment-analysis-inside-mongodb-with-openai
https://docs.mindsdb.com/nlp/question-answering-inside-mongodb-with-openai
https://docs.mindsdb.com/nlp/text-summarization-inside-mongodb-with-openai
https://docs.mindsdb.com/nlp/json-from-text#example-in-mql

作为示例,我们将展示一项独特的强大功能,该功能是最近通过使用 MindsDB 与 OpenAI 的 GPT-3 语言模型的集成而提供的。MindsDB 可用于根据数据库中的非结构化文本生成 JSON 文档。例如,如下所示,MindsDB 可以根据房地产清单的自然语言描述,创建包含有关出租物业相关信息(租赁天数、浴室数量、价格、评价)的 JSON 文档。

请按照上面的指南进行操作,或者查看我们的文档,了解如何将 MongoDB Compass 和 MongoDB Shell 连接到 MindsDB。

要在 MQL 中创建此模型,请从 MongoDB Compass 或 MongoDB Shell 运行以下命令:
image.png

我们在此处传递了相同的三个参数。

  1. engine 参数可确保我们使用的是 OpenAI 引擎。
  2. json_struct 参数可存储用于输出的预定义 JSON 结构。
  3. input_text 参数包含存储输入文本的字段的名称。

现在我们可以查询相应模型,以传递存储在句子字段中的输入文本。
image.png

执行后,输出如下:
image.png

本教程重点介绍了通过使用 MindsDB 的 MongoDB 连接器和自动化功能,在 MongoDB 中创建 NLP 模型以根据非结构化文本生成 JSON 输出的步骤。使用现有的计算配置,上述示例花费了不到五分钟,除了数据库之外不需要使用大量的工具或管道。借助 MongoDB 中 MindsDB 的机器学习功能,开发者现在能够以更低的成本构建机器学习模型,更深入地了解模型准确性,并帮助用户制定更明智且基于数据的决策。

04 使用MongoDB 和 MindsDB实现现代化
通过简化和丰富数据,MongoDB 为数据管理和探索提供了直观的流程。通过简化机器学习、AI 和正在持续发展的数据科学领域的现代化过程,MindsDB 可帮助将数据转化为智能见解。

尝试使用 MindsDB 连接到 MongoDB,训练模型并在云中运行预测!只需从 Amazon Marketplace 安装 MindsDB,即可在 Slack 和 Github 上联系我们的团队以提供反馈和寻求支持。请查看并随时提问,分享用例示例!

阿里云是中国唯一能提供MongoDB最新版本的云厂商。从 2021年5月国内独家首发 5.0 版本,到如今的 7.0 版本 ,阿里云MongoDB 始终跟随MongoDB 公司的发布节奏,致力于为开发者带来最新版本的云服务体验。阿里云与MongoDB战略合作四周年,目前已经成为MongoDB在中国最大的云服务提供商,业务拓展至互联网、游戏、汽车、制造、零售等行业,累计为数万名客户提供MongoDB云服务。观看发布会直播回放请点击:https://developer.aliyun.com/topic/mongodb_release

了解更多产品详细信息请访问官网

扫码加入钉群,与MongoDB专家一对一沟通,了解更多阿里云MongoDB产品与方案,市场活动及线上培训等内容。
技术支持沟通群.jpg

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
3天前
|
存储 数据处理 数据库
深入了解达梦数据库的增删查改操作:从入门到精通
深入了解达梦数据库的增删查改操作:从入门到精通
|
1天前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库
|
1天前
|
存储 NoSQL 关系型数据库
【MongoDB 专栏】MongoDB 与传统关系型数据库的比较
【5月更文挑战第10天】本文对比了MongoDB与传统关系型数据库在数据模型、存储结构、扩展性、性能、事务支持、数据一致性和适用场景等方面的差异。MongoDB以其灵活的文档模型、优秀的扩展性和高性能在处理非结构化数据和高并发场景中脱颖而出,而关系型数据库则在事务处理和强一致性上更具优势。两者各有适用场景,选择应根据实际需求来定。随着技术发展,两者正相互融合,共同构建更丰富的数据库生态。
【MongoDB 专栏】MongoDB 与传统关系型数据库的比较
|
3天前
|
SQL Java 数据库连接
Java数据库编程实践:连接与操作数据库
Java数据库编程实践:连接与操作数据库
9 0
|
5天前
|
SQL JSON 关系型数据库
[UE虚幻引擎插件DTPostgreSQL] PostgreSQL Connector 使用蓝图连接操作 PostgreSQL 数据库说明
本插件主要是支持在UE蓝图中连接和操作PostgreSQL 数据库。
13 2
|
5天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
|
9天前
|
Java 关系型数据库 数据库连接
【C 言专栏】C 语言与数据库的连接与操作
【5月更文挑战第2天】本文探讨了C语言如何连接和操作数据库,介绍了数据库连接的基本原理,如通过ODBC、JDBC或原生接口与数据库交互。文章详细阐述了使用ODBC连接的步骤,并列举了C语言在数据库操作中的常见任务,强调了错误处理、数据类型匹配和性能优化的重要性。通过实际案例,展示了在学生信息管理系统中应用C语言与数据库交互的过程。本文旨在帮助读者更好地理解和应用C语言进行数据库管理。
|
11天前
|
XML Java 数据库连接
Springboot整合mybatisPlus操作数据库
MyBatis-Plus是MyBatis的增强工具,简化开发、提高效率。它提供官网文档,便于集成到SpringBoot项目中。集成步骤包括添加mybatis-plus-boot-starter和数据库驱动依赖,配置数据源,扫描Mapper类包。Mapper接口继承BaseMapper即可使用基本的CRUD操作。示例代码展示了Service层的增删改查实现。MyBatisPlus还支持逻辑删除、自动填充等功能,同时可与Mybatis XML配合使用,通过调整配置指定XML映射文件位置。
|
11天前
|
关系型数据库 MySQL Go
数据库的事务操作
数据库的事务操作
|
JSON NoSQL Java
mongoDB导出数据库所有集合内容到json文件
网上搜了一圈,官方并有提供批量导出所有集合到json文件的方法。有不少脚本可以实现,但是我还是习惯用java,如下 package starcLL.
2138 0