首页 » 99链接平台 » 使用 ML.NET DataFrames 和 ScottPlot 进行探索性数据分析(EDA)(编辑器数据探索分析我们可以)

使用 ML.NET DataFrames 和 ScottPlot 进行探索性数据分析(EDA)(编辑器数据探索分析我们可以)

萌界大人物 2024-12-01 23:17:53 0

扫一扫用手机浏览

文章目录 [+]

在这篇文章中,我将介绍如何使用 ML.NET DataFrames 和 ScottPlot 进行 EDA,一起探索著名的泰坦尼克号数据集。

这个数据集包含了泰坦尼克号上乘客的信息,以及他们是否在船沉没时幸存下来。
我们可以在这里下载:https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv

创建 Polyglot Notebook

首先,我们需要安装 Polyglot Notebooks,它是一个 Visual Studio Code 扩展。
Notebooks 非常适合于数据科学家和机器学习工程师,可以让我们在同一个笔记本中编写代码、查看数据、绘制图表、编写文档,而不需要切换到其他工具。

使用 ML.NET DataFrames 和 ScottPlot 进行探索性数据分析(EDA)(编辑器数据探索分析我们可以) 99链接平台
(图片来自网络侵删)

我们可以在 VS Code 中搜索并安装 Polyglot Notebooks 扩展:

安装好扩展后,我们就可以创建一个新的 Polyglot Notebook 文件,并选择 C# 作为默认的代码语言。

加载数据

在开始编写代码之前,我们需要添加一些 NuGet 包,来使用 ML.NET DataFrames 和 ScottPlot 的功能。

我们可以在笔记本中使用 #r \"nuget:...\" 命令来添加 NuGet 包。
我们需要添加以下三个包:

Microsoft.Data.Analysis: 提供 ML.NET DataFrames 的 API
ScottPlot: 提供绘图的 API

#r \"nuget: Microsoft.Data.Analysis\"#r \"nuget:ScottPlot\"

安装好这些包后,我们就可以开始编写代码了。

我们首先使用 ML.NET DataFrames 加载泰坦尼克号数据集,并显示前5行数据:

using Microsoft.Data.Analysis;var df = DataFrame.LoadCsv(\"titanic.csv\");df.Head(5)

数据概览

我们可以使用 df.Info() 查看数据的概览信息,包括数据类型、行数、列数、缺失值等。

对于任何数据,我们最好从这里开始,了解数据的基本情况。

可以看到,这个数据集包含 8 列,每列数据类型分别是Single(数字)和String(字符串)。
并且每列的长度一样,代表每列数据应该没有值。

我们还可以使用 df.Description() 查看数字类型列的值范围,包括最大、最小和均值。

从这里我们可以发现一些有趣的事实:

平均年龄是 29.47 岁,最小年龄是 0.42 岁(可能是婴儿),最大年龄是 80 岁。
平均费用是 32.30 美元,最低费用是 0 美元(可能是免费乘客),最高费用是 512.33 美元(可能是豪华舱)。
平均幸存率是 0.38,也就是说只有三分之一的人活了下来。

你还可以使用 ML.NET DataFrames 提供的其他方法,了解数据集的更多情况,比如数据中的唯一值。

数据可视化

接下来,我们使用 ScottPlot 绘制图表,来更好地了解数据。

我们首先需要配置 ScottPlot:

using Microsoft.DotNet.Interactive.Formatting;Formatter.Register(typeof(ScottPlot.Plot), (p, w) => w.Write(((ScottPlot.Plot)p).GetImageHtml()), HtmlFormatter.MimeType);

然后就可以可视化数据中的唯一值:

我们还可以使用散点图,观察一下Age(年龄)Fare(费用)的相关性:

从这个图表我们可以看出:

大部分人的费用都小于100,有钱人集中在20-50岁之间。
费用和年龄没有明显的线性关系,但是有一些离群值,比如费用超过500的人和年龄超过70的人。
结论

本文介绍了如何使用 ML.NET DataFrames 和 ScottPlot 进行 EDA 的基础知识。

通过 EDA,我们可以了解数据的基本情况、分布和关系,从而为后续的建模和预测提供指导。

ML.NET DataFrames 和 ScottPlot 是两个非常强大和方便的工具,可以让我们在 C# 中轻松地处理和可视化数据。

标签:

相关文章

软件开发如何报价(报价项目开发成本软件)

软件开发报价是一个复杂的议题,要考虑的因素较多,这需要企业对成本有比较精准的把控,并能为客户提供高性价比的方案。同时也需要灵活变通...

99链接平台 2025-01-22 阅读893 评论0