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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 技术讲解

商界对人工智能 (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
相关文章
|
6天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
32 15
|
14天前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
24 1
|
2月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
2月前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
48 0
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
19 3
|
3天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
22 2