在快速发展的数据分析领域里,真正能够简化复杂的分析流程,让更多人都能像专家一样去而分析数据的工具必然会在这个领域产生变革性的影响。
ChatGPT和Noteable结合就能产生这样的影响!它结合了ChatGPT的自然语言处理能力和Noteable.io平台的数据分析笔记本的强大功能,让人人都能成为专业的数据分析师!
本文将通过实际案例,展示它如何进行无代码数据分析,自动生成富有洞察力的可视化图表,机器学习建模,以及实时云协作等功能。让我们一起了解 Noteable ChatGPT 插件如何彻底改变数据分析体验!
ChatGPT插件Noteable简介
Noteable ChatGPT插件是由协作数据笔记本平台 (collaborative data notebook platform) Noteable.io开发的第三方ChatGPT插件。该插件将 ChatGPT 的自然语言处理功能与数据笔记本(Data Notebook)——Noteable.io 平台的一项功能——无缝集成。
数据笔记本类似于Jupyter Notebook,是一个的 Web 应用程序,可让用户创建和共享文档,该文档可以包含实时代码、方程、可视化图表和注释性的文本。 它广泛应用于数据清理和转换、数据分析、数值模拟、统计建模、数据可视化、机器学习等领域。
借助Notable ChatGPT 插件,用户可以通过对话命令 ChatGPT 加载数据集、执行探索性数据分析、创建可视化图表、运行机器学习模型等—所有这些都在可与其他人共享的 Jupyter 笔记本环境中进行。
这种集成不仅简化了数据分析过程,而且降低了数据分析的门槛。 即使你不懂编程,您也可以通过Notable ChatGPT 插件提供的直观的对话界面来进行专业的数据分析。
ChatGPT插件Noteable的主要功能
- 通过对话分析数据: 不需要代码就可以指导数据分析的过程,只需要描述你想要做什么或者你想要使用的技术,然后ChatGPT就会数据笔记以本及数据分析结果的解释。
- 数据可视化: 通过ChatGPT的对话进行数据分析的过程中就可以自动生成可视化图表,当然也可以指定生成某种类型的图表。
- 云端协作: 通过ChatGPT创建的Jupyter笔记本存储在Noteable平台的云端,多人可以同时访问和编辑同一个笔记本,并不会因为ChatGPT会话被删除而消失。团队成员可以添加单元格、编辑代码、添加评论并拥有一个综合视图,可以显示每个人的贡献。Noteable平台内助聊天和评论功能,可以在分析数据时实时讨论和对话。
- 共享和导出: 通过ChatGPT创建的Jupyter笔记本可以导出,在线分析或者无缝合并到其它分析项目里。
- 版本控制: 由于通过ChatGPT会把输出的结果存储到Noteable创建的数据笔记本的单元格,因此通过ChatGPT进行数据分析的历史也可以在笔记本的历史中查看。在必要时也可以进行恢复。
- 连接各种数据源: Noteable可以连接到多种数据源,如MySQL, Maria DB, PostgreSQL, BigQuery, Snowflake, Databricks等。同时也可以连接到外部的API。
开始使用Noteable ChatGPT插件
安装Notable插件
首先,要确保你开通了ChatGPT的付费版本ChatGPT Plus,这样才可以使用ChatGPT4并安装插件。
登录ChatGPT Plus账号以后,查看是否已经激活了ChatGPT的插件功能。
然后去ChatGPT插件商店搜索插件进行安装。
搜索 “Notable “并在Notable插件列表中点击 “安装”。
将Notable连接到ChatGPT
点击“Install”按钮后,会弹出Noteable账户的登录页面你需要将你的Notable账户连接到ChatGPT。
如果没有弹出登录页面,可以访问Notable.io,注册一个免费账户。
创建Notable账户后,ChatGPT会自动激活Noteable插件,此时选择GPT版本的按钮下方会出现Noteable的logo。
如果Noteable插件没有被选中的话,可以在选择GPT版本的按钮下方的插件列表里选中它。
创建Noteable项目
Noteable项目时在Noteable云端的空间里组织你的工作的一种方式。一个项目包含了所有的Jupyter笔记本、文件夹和文件。
为了充分展示Noteable的使用,我特地从Kaggle上找了一个数据集。这个数据集是关于奈飞 (Netflix) 8000多部电影和电视的数据,包括导演,演员,评级,发布时间,观看时间,节目类型,节目描述等数据。
为了分析这个数据集,我输入以下Prompt来创建一个项目:
创建一个名为“Netflix 电影和电视节目”的新项目并将其设置为我的默认项目。
ChatGPT告诉我它创建好项目以后,我去Noteable.io的云空间发现该项目已经创建好了。
当然,也可以直接在Noteable的云空间里直接创建项目。
除了创建项目之外,我也让ChatGPT把新的项目设为默认项目。如果设置了默认项目,ChatGPT下次访问该项目时就不必指定项目的路径。下次创建笔记本时,也不会再新建一个项目然后再新创建的项目里创建笔记本,而是在默认项目里创建,这样就避免了Noteable账户中的混乱。
创建Noteable笔记本
要分析数据,首先要创建一个Noteable笔记本。
Noteable笔记本就是一个运行在Noteable云端的笔记本,类似于Jupyter Notebook。它是一个Web文档,可以在笔记本里添加代码、解释性文本,以交互式的方式运行和测试代码,展示可视化图表。
通过Noteable ChatGTP插件,用户不懂代码也可以通过对话的方式让ChatGPT去创建和编辑笔记本。创建笔记本可以使用如下Prompt:
创建一个名为“Test”的新笔记本,然后给我笔记本链接。
访问ChatGPT给我们的笔记链接就可以打开Noteable云空间里的笔记本。
分析数据集
从CSV, Excel, 数据库导入数据
Noteable可以让用户在笔记本中轻松导入各种来源的数据。你可以上传 CSV 文件、Excel 电子表格,并连接到 Postgres 和 MySQL 等数据库。
你可以在Noteable云空间的项目或者笔记本界面导入数据。打开刚才ChatGPT给我的笔记链接,就到了笔记本的界面。
点击界面右上角的加号,在弹出的下拉菜单里选择”Add files”。
将CSV或者Excel文件拖到虚线框中或者点击“Upload from computer”打开本机的文件浏览器上传文件。你可以一次最多上传25个文件,每个文件在100M以内。
执行探索性数据分析 (EDA)
EDA可以帮助我们了解数据集的大概样子,就像当我们游览某个景区先看下它的地图一样。在开始之前,我们通常要先进行数据清洗和预处理。
我们要分析的数据通常会包含一些错误值,重复值,缺失值或者异常值,这些值如果不经过清洗或者处理的话,会影响后续的分析结果。
我们可以让ChatGPT帮我们:
- 生成列的汇总统计信息
- 检查缺失值
- 查找异常数据点
- 绘制列的分布
但在开始前,我们先看看Noteable能否帮我们执行以上步骤。为此,我给ChatGPT提交了以下Prompt:
作为专业的数据分析师,请遵循标准的数据分析流程。 我们来逐步分析netflix_titles.csv中的数据。
netflix_titles.csv
就是我刚才上传到Noteable云空间里的数据。
我们来看下ChatGPT的处理过程:
我创建了一个代码单元来从“netflix_titles.csv”文件加载数据并显示前几行。 但是,启动内核似乎存在问题。 让我们再次尝试运行该单元。
您可以通过此链接编辑该单元。
数据已成功加载。 以下是数据集的前几行:
index show_id type title director cast country date_added release_year rating 0 s1 Movie Dick Johnson Is Dead Kirsten Johnson United States September 25, 2021 2020 PG-13 1 s2 TV Show Blood & Water Ama Qamata, Khosi Ngema, Gail Mabalane, Thabang Molaba, Dillon Windvogel, Natasha Thahane, Arno Greeff, Xolile Tshabalala, Getmore Sithole, Cindy Mahlangu, Ryle De Morny, Greteli Fincham, Sello Maake Ka-Ncube, Odwa Gwanya, Mekaila Mathys, Sandi Schul South Africa September 24, 2021 2021 TV-MA 2 s3 TV Show Ganglands Julien Leclercq Sami Bouajila, Tracy Gotoas, Samuel Jouy, Nabiha Akkari, Sofia Lesaffre, Salim Kechiouche, Noureddine Farihi, Geert Van Rampelberg, Bakary Diombera September 24, 2021 2021 TV-MA 3 s4 TV Show Jailbirds New Orleans September 24, 2021 2021 TV-MA 4 s5 TV Show Kota Factory Mayur More, Jitendra Kumar, Ranjan Raj, Alam Khan, Ahsaas Channa, Revathi Pillai, Urvi Singh, Arun Kumar India September 24, 2021 2021 TV-MA 数据集中的列包括:index、show_id、type、title、director、cast、country、date_added、release_year、 rating、duration、listed_in、description。
数据分析过程的下一步通常是执行一些探索性数据分析(EDA)以更好地理解数据。 您想继续吗?
分析数据之前通常要看看数据的前几行,以便了解该数据集的大概情况。ChatGPT为我做了这项工作,非常棒,我不需要主动要求它进行。
当我访问Noteable云空间的笔记本,就发现已经生成了几行代码:
ChatGPT最后问我们是否要执行一些探索性数据分析以更好地理解数据,那么我们就让它继续吧。下面是ChatGPT的回复:
以下是探索性数据分析的一些初步发现:
- 数据集包含8807行12列。
- 各列及其各自的数据类型如下:
行 数据类型 show_id object (对象) type (类型) object title (标题) object director (导演) object cast (演员) object country (国家) object date_added (添加日期) object release_year (发布年份) int64 rating (评级) object duration (观看时长) object
- 数据集中存在缺失值。 以下是每列的缺失值计数:
专栏 缺失值 show_id 0 type (类型) 0 title (标题) 0 director (导演) 2634 cast (演员) 825 country (国家) 831 date_added (添加日期) 10 release_year (发布年份) 0 rating (评级) 4 duration (观看时长) 3 下一步通常是数据清理,我们处理这些缺失值。 您想继续吗?
ChatGPT为我输出了列的数据类型以及缺失值的数量,非常棒!接下去它说要处理这些缺失值,让它继续。
我已使用字符串“Unknown(未知)”填充了“导演”、“演员”、“国家/”、“添加日期”、“评级”和“观看时长”列中的缺失值。 现在,数据集中没有缺失值:
Column Missing Values show_id 0 type 0 title 0 director 0 cast 0 country 0 date_added 0 release_year 0 rating 0 duration 0 数据分析过程的下一步通常是执行一些描述性统计以更好地理解数据。 您想继续吗?
ChatGPT帮我们把所有缺失值都替换成”Unknown”。其实有些列中的缺失值很少,也可以删掉包含这些缺失值的行。这个操作可以通过跟ChatGPT对话进行,也可以在笔记本里修改代码。
我们姑且就不修改了,让ChatGPT继续。
以下是该数据集的一些描述性统计数据:
对于数字列 (release_year):
- 数量:8807
- 平均值:2014.18
- 标准差:8.81931
- 最低:1925
- 第 25 个百分位:2013 年
- 中位数:2017 年
- 第 75 个百分位:2019 年
- 最长:2021
对于分类(categorical)列:
- “type(类型)”列有 2 个唯一值,其中“Movie(电影)”是最常见的。
- 每行的“标题(title)”和“show_id”列都是唯一的。
- “director(导演)”、“cast(演员)”和“country(国家)”列有许多唯一值,其中“未知”由于缺失值替换而最为常见。
- “添加日期(date_added)”列有 1768 个唯一值,其中“January 1, 2020”是最常见的。
- “rating(评级)”栏有 18 个独特的类别,其中“TV-MA”是最常见的。
- “观看时长(duration)”列有 221 个唯一值,其中“1 Season”是最常见的。
数据分析过程的下一步通常是执行一些数据可视化以更好地理解数据。 您想继续吗?
让ChatGPT继续:
以下是“type(类型)”列的计数图,显示数据集中电影与电视节目的数量:
正如我们所看到的,数据集中的电影多于电视节目。
接下来,让我们可视化“发布年份(release_year)”列的分布。 您想继续吗?
让ChatGPT继续。
以下是“发布年份(release_year)”列的直方图,显示了数据集中电影和电视节目的发行年份分布:
正如我们所看到的,这些年来发布的数量一直在增加,其中最近几年发布的数量最多。
接下来,我们可以分析“评级”列,以查看电影和电视节目最常见的评级。 您想继续吗?
让ChatGPT继续:
这是“评级”列的计数图,显示每个评级的电影和电视节目的数量:
正如我们所看到的,最常见的评级是“TV-MA”,其次是“TV-14”和“TV-PG”。
接下来,我们可以分析“country(国家)”列以查看内容最多的国家。 您想继续吗?
让ChatGPT继续。
以下是“国家“列的计数图,显示内容最多的前 10 个国家/地区:
我们可以看到,美国的内容最多,其次是印度和英国。
初步的探索性数据分析到此结束。 基于这些见解,我们可以提出更具体的问题并进行进一步的分析。 您是否有任何具体问题或想要对此数据集执行的分析?
到此为止,ChatGPT自动帮我完成了初步的EDA,我没有任何干预,基本都在说”Go ahead”。Noteable插件利用了ChatGPT自然语言的能力,为我们选了4个角度进行了探索性分析。
这些角度确实是很好的切入口,让我们能很快地了解数据集的大概情况,为后面更深入的分析做了铺垫。它还根据分析目标自动生成了图表,并给出了分析的结论,虽然我们并没有要求它这么做。默认情况下,如果柱状图可以展示数据,它生成的就是柱状图,你也可以要求它换一种图表类型。
接下来我们给它一些其它的分析视角看看它的表现。
我:
分析电影的持续时间。
ChatGPT:
似乎存在错误,因为“观看时长(duration)”列包含一些“Unknown(未知)”值。 让我们处理这些值并重试。
对于造成的混乱,我深表歉意。 似乎存在错误,因为“观看时长(duration)”列仍然包含“min”字符串。 让我们删除该字符串并重试。
以下是电影时长的一些描述性统计数据:
- 数量:6128
- 平均:99.58 分钟
- 标准差:28.29 分钟
- 最短:3 分钟
- 第 25 个百分位数:87 分钟
- 中位时间:98 分钟
- 第 75 个百分位数:114 分钟
- 最长:312 分钟
这些统计数据使我们能够很好地了解数据集中电影的典型持续时间。
接下来,我们可以可视化电影时长的分布。 您想继续吗?
我让ChatGPT继续。
这是“持续时间”列的直方图,显示电影持续时间的分布:
正如我们所看到的,最常见的电影时长在 80 到 120 分钟之间。
电影时长的分析到此结束。 您还有其他具体问题或想要对此数据集执行的分析吗?
接下来还可以继续提问,让Noteable ChatGPT插件为我们生成更多数据洞察。我在这里不再演示了,为了充分挖掘它的能力,我继续让它进行更高级的数据分析。
高级数据分析能力
除了标准的数据分析和可视化,让我们探索下Noteable插件高级数据分析的能力。我测试了两个方面,自然语言处理和数据分析建模。
自然语言处理 (NLP)
NLP是一个研究领域,专注于使计算机能够理解人类语言并与之互动,其方式类似于我们彼此之间的沟通方式。它允许计算机处理、分析并从大量的文本数据中获得洞察力。
比如我给它这样一个任务:
分析标题中最频繁的词并生成一个词云。
让我们看下ChatGPT的输出:
以下是标题中最常见单词的词云:
词云中单词的大小表明了它们的频率。 正如我们所看到的,标题中最常见的一些词是“爱”、“男人”、“生活”、“世界”、“故事”等。
对标题中最常见单词的分析到此结束。 您还有其他具体问题或想要对此数据集执行的分析吗?
如果我们分析Noteable笔记本里生成的代码就可以明白ChatGPT结合Noteable的处理过程。
我仅仅让ChatGPT生成词云,它就知道应该安装python
的wordcloud
库,并从该库里导入停止词。这些停止词是比较常用的,我还可以进一步让ChatGPT继续删除某些词,比如’little’等。
机器学习建模
数据分析中的机器学习建模是指训练计算机算法自动学习模式并根据输入数据做出预测或决策的过程。该模型可以对新的、未见过的数据进行概括并做出准确的预测。
我们来看看Noteable ChatGPT插件能为我们建哪些模型:
您可以为此数据集构建哪些机器学习模型?
来看看ChatGPT的回复:
鉴于数据集的性质,以下是一些可以构建的机器学习模型:
- 基于内容的推荐系统:使用有关电影和电视节目的信息,例如“导演”、“演员”、“国家/地区”、“评级”、“时长”和“描述”,我们 可以构建一个基于内容的推荐系统,推荐与给定电影或电视节目类似的内容。
- 文本分类/情感分析:如果我们有电影和电视节目的用户评论,我们可以使用“描述”和“标题”特征来构建文本分类模型来预测评论的情感。
- 时间序列分析/预测:如果我们有关于每部电影或电视节目添加时间的更详细数据(例如每日数据),我们可以执行时间序列分析以了解随时间变化的趋势并可能预测未来的添加 。
- 分类或回归模型:如果我们有一个特定的目标变量,例如预测电影或电视节目的“收视率”或“发行年份”,我们可以分别构建分类或回归模型。 然而,考虑到当前的数据集,这些模型可能不是非常有意义或有用。
请注意,这些模型的有效性和可行性将取决于是否拥有正确的数据并定义清晰的问题陈述。 您是否有想要进一步探索的特定机器学习模型或问题陈述?
我提交了如下Prompt:
利用文本数据(如标题和描述)和分类数据(如导演、演员、国家/地区和评级)构建基于内容的推荐系统。
ChatGPT的回复如下:
构建基于内容的推荐系统涉及几个步骤:
- 预处理:这涉及清理文本数据并将其转换为可用于计算相似度的格式。 这通常涉及标记化、词干化/词形还原和删除停用词等技术。
- 特征提取:这涉及将文本数据转换为数字特征。 这可以使用 TF-IDF(词频-逆文档频率)等技术或 Word2Vec 或 BERT 等词嵌入来完成。
- 相似度计算:一旦我们有了数值特征,我们就可以计算不同电影/电视节目之间的相似度。 这可以使用余弦相似度或杰卡德相似度等度量来完成。
- 推荐:一旦我们测量了不同电影/电视节目之间的相似性,我们就可以向给定的电影/电视节目推荐类似的电影/电视节目。
让我们首先预处理文本数据并使用 TF-IDF 提取特征。 我们将重点关注“标题”、“描述”、“导演”、“演员”、“国家”和“评级”列。
我已经对文本数据进行了预处理并计算了余弦相似度矩阵。 下一步是创建一个函数,将电影或电视节目标题作为输入并输出类似电影或电视节目的列表。 让我们这样做吧。
我创建了一个名为“get_recommendations”的函数,该函数将电影或电视节目标题作为输入,并根据内容输出前 10 名最相似的电影或电视节目的列表。
您现在可以输入标题并获取推荐。 例如,如果您想要基于电影“Inception”的推荐,您可以调用如下函数:
get_recommendations('Inception')
。您想尝试使用特定的标题吗?
我让它调用推荐的函数看看模型的效果:
调用函数:
get_recommendations('Inception')
于是乎,ChatGPT就为我们生成了10个推荐的电影和电视:
以下是根据内容排名与《盗梦空间》最相似的 10 部电影和电视节目:
- 浴血黑帮 (Peaky Blinders)
- 洪水之前 (Before the Flood)
- 砖块 (Brick)
- 如果可以的话来找我 (Catch Me If You Can)
- 火星来袭!(Mars Attacks!)
- 一周内死亡(否则退款)
- 狙击手:遗产 (Sniper: Legacy)
- 大梦想,小空间 (Big Dreams, Small Spaces)
- 林肯 (Lincoln)
- 汤姆·塞古拉:球霸 (Tom Segura: Ball Hog)
请注意,推荐基于电影和电视节目的内容,包括标题、说明、导演、演员、国家/地区和评级。 相似度是使用 TF-IDF 和余弦相似度计算的,这可能并不总是反映语义相似度。
您想尝试其他标题吗?或者您还有其他想做的事情吗?
我们再来让它建一个模型:
根据导演、演员、国家/地区、发行年份和类型等特征预测电影的评级。
来看看ChatGPT的回复:
我为评级预测模型创建了一个新笔记本。 您可以在此处跟进我的工作。
让我们首先加载数据并执行一些初始预处理。
对于造成的混乱,我深表歉意。 看来“netflix_titles.csv”文件在当前项目中不可用。 我们需要将文件上传到新项目。 让我们这样做吧。
看来“netflix_titles.csv”文件在当前项目中不可用。 我们需要将文件上传到新项目。 您可以通过转到项目页面并单击“上传”按钮来完成此操作。
文件上传后,我们就可以继续分析。 上传文件后请告诉我。
Noteable插件为此创建了一个新的笔记本,由于新笔记本所在的环境中缺少数据集,我又重新上传并让它继续:
我已经加载了数据,选择了特征,对分类特征进行了编码,并将数据分成训练集和测试集。
接下来,让我们训练一个简单的逻辑回归模型作为基准。
逻辑回归模型已经过训练和评估。 分类报告如下:
precision recall f1-score support 66 min 0.00 0.00 0.00 1 G 0.00 0.00 0.00 12 NR 0.00 0.00 0.00 16 PG 0.00 0.00 0.00 62 PG-13 0.00 0.00 0.00 87 R 0.28 0.09 0.14 163 TV-14 0.51 0.05 0.08 414 TV-G 0.00 0.00 0.00 43 TV-MA 0.39 0.98 0.56 662 TV-PG 0.00 0.00 0.00 185 TV-Y 0.00 0.00 0.00 52 TV-Y7 0.00 0.00 0.00 65 accuracy 0.39 1762 macro avg 0.10 0.09 0.07 1762 weighted avg 0.29 0.39 0.24 1762
模型的整体精度为0.39,不是很高。 这可能是由于任务的复杂性和逻辑回归模型的局限性。 可能需要更复杂的模型或额外的特征工程来提高性能。
您想尝试不同的模型,或者还有其他想做的事情吗?
我让ChatGPT推荐一些模型:
可以推荐一些模型吗?
ChatGPT如此回复:
绝对地! 以下是一些可能提高此任务性能的机器学习模型:
- 随机森林:这是一种集成学习方法,通过在训练时构建多个决策树并输出类(即各个树的类的模式(分类)或平均预测(回归))来进行操作。 随机森林纠正决策树过度拟合训练集的习惯。
- 梯度提升:这是另一种集成机器学习算法,它构造新的预测器,旨在纠正先前预测器的残余误差,从而逐步改进模型。 XGBoost 和 LightGBM 是流行的梯度增强库,以其性能和速度而闻名。
- 支持向量机 (SVM) :SVM 对于某些类型的数据集非常强大,尤其是在数据不太大且有明显分离余量的情况下。
- 神经网络:如果数据集庞大且复杂,神经网络可能是一个不错的选择。 它们可以捕获复杂的模式和特征之间的交互,但它们需要更多的计算资源并且更难以解释。
请记住,模型的选择通常取决于数据集的具体特征和当前问题。 尝试多种模型并查看哪一种最适合您的特定用例通常是个好主意。
您想继续使用其中一种模型,或者您还想做其他事情吗?
我让ChatGPT创建随机森林的模型:
创建随机森林模型。
来看下它的回复:
随机森林模型已经过训练和评估。 分类报告如下:
precision recall f1-score support 66 min 0.00 0.00 0.00 1 84 min 0.00 0.00 0.00 0 G 0.33 0.17 0.22 12 NR 0.00 0.00 0.00 16 PG 0.47 0.44 0.45 62 PG-13 0.43 0.40 0.42 87 R 0.50 0.42 0.46 163 TV-14 0.45 0.49 0.47 414 TV-G 0.25 0.05 0.08 43 TV-MA 0.59 0.70 0.64 662 TV-PG 0.23 0.13 0.17 185 TV-Y 0.43 0.46 0.44 52 TV-Y7 0.56 0.62 0.58 65 Unknown 0.00 0.00 0.00 0 accuracy 0.50 1762 macro avg 0.30 0.28 0.28 1762 weighted avg 0.48 0.50 0.49 1762
该模型的总体精度为0.50,比逻辑回归模型有所改进。 然而,某些分类的表现仍然相当低。 这可能是由于多种原因造成的,例如类别不平衡、缺乏信息特征,或者模型不够复杂,无法捕获数据中的模式。
您想尝试不同的模型,或者还有其他想做的事情吗?
我让它尝试支持向量机模型(Support Vector Machines),下面是它的回复:
支持向量机(SVM)模型目前正在训练中。 SVM 比其他一些模型计算量更大,因此训练可能需要一段时间才能完成。 您可以在笔记本中检查模型训练的进度此处。 训练完成并有结果后,我会立即通知您。
点击ChatGPT给我们提供的笔记本的链接,就可以看它训练的过程。
上图的红框里显示了训练的时间,花了2个半小时才完成了训练。如果要缩短训练的时间,可以加入Waitlist获取更高的配置,比如GPU。
爬虫和API请求
由于 Noteable 笔记本在连接互联网的服务器上运行,因此你可以抓取网站并发出 API 请求来提取外部数据。这大大拓展了ChatGPT的能力。Noteable可以下载安装必要的Python库来处理各种任务,不限于数据分析。
比如我让它帮我生成一个维基百科机器学习页面的词云:
为此网页生成词云:en.wikipedia.org/wiki/Machin…
我们来看下Noteable结合ChatGPT的处理结果:
要从网页生成词云,我们需要执行以下步骤:
- 获取网页内容。
- 解析 HTML 以提取文本。
- 清理文本(删除停用词、标点符号等)。
- 生成词云。
对于此任务,我们需要使用多个 Python 库:“requests”用于获取网页,“BeautifulSoup”用于解析 HTML,“nltk”用于清理文本,“wordcloud”用于生成词云。
让我们首先安装这些库并获取网页内容。
我已成功获取网页内容。 现在,让我们解析 HTML 以提取文本。 为此,我们将使用 BeautifulSoup。
HTML 已被解析并且文本已被提取。 现在,让我们通过删除停用词和标点符号来清理文本。 为此,我们将使用自然语言工具包 (NLTK)。
文本已通过删除停用词和标点符号进行清理。 现在,让我们生成词云。 为此,我们将使用“wordcloud”库中的“WordCloud”函数。
以下是根据机器学习维基百科页面上的文本生成的词云:
每个单词的大小表示它在文本中出现的频率。 较大的单词被更频繁地提及。
以上只是一个小小的实例,你还可以把要爬取的网页的链接放在一个表格甚至数据库里,然后通过跟ChatGPT对话的方式布置任务,批量爬取网页上的数据并存到另一个表格或者数据库里。并且,Noteable还提供调度功能,允许用户设置时间表来运行笔记本,按小时、每天、每周或每月。
协作并分享结果
实时协作
Notable 提供了强大的实时协作功能。用户可在使用 ChatGPT 生成的笔记本时加强团队合作:
同时编辑: 多个协作者可以同时打开同一个笔记本,编辑内容会实时显示。 用户可以添加、编辑、重新排列单元格,而其他人则可以看到实时的改动。
单元格锁定: 用户可以锁定他们正在处理的单元格,以防止其他用户意外地把改动覆盖掉。
集成聊天: Notable 具有内置聊天功能,协作者在讨论时可以针对或引用特定的单元格。
@提及: 你可以在聊天中@特定用户以通知他们或将他们的注意力链接到相关的内容。
这些功能的组合促进了数据分析工作流程的协作。 团队成员可以在 ChatGPT 生成的笔记本上集体工作,实时改进和迭代,同时自动捕获历史记录和对话。 这有助于在整个组织中大规模释放对话分析的力量。
导出和共享笔记本
已完成的笔记本可以通过多种方式共享和导出:
- 与特定的Noteable用户共享笔记本或为空间或项目中的用户配置访问权限
- 下载Jupyter (.ipynb) 文件
- 把笔记本导出为HTML, PNG, PDF, MD, RST, PY
总结
总之,Noteable ChatGPT 插件彻底改变了我们处理数据分析的方式。 它将自然语言处理与数据笔记本的强大功能相结合,提供了一个更直观更开放的数据分析平台。 即使编码技能,任何人都可以深入研究复杂的任务,例如探索性数据分析、机器学习建模、网络抓取数据等。让我们一起展望数据分析的未来。
PS: 如果本文对您有帮助,辛苦帮我点个赞哦🙏🏽