详细内容或原文请订阅后点击阅览
使用 Dask 和 Scikit-learn 处理大型数据集
本文揭示了如何利用 Dask 进行可扩展的数据处理,即使在有限的硬件限制下也是如此。本文揭示了如何利用 Dask 进行可扩展的数据处理,即使在有限的硬件限制下也是如此。
来源:KDnuggets# 简介
#Dask 是一组利用并行计算功能的软件包,在处理大型数据集或构建高效的数据密集型应用程序(例如高级分析和机器学习系统)时非常有用。其最突出的优势是 Dask 与现有 Python 框架的无缝集成,包括支持通过并行工作流程与 scikit-learn 模块一起处理大型数据集。本文揭示了如何利用 Dask 进行可扩展的数据处理,即使在有限的硬件限制下也是如此。
达斯克 scikit-learn# 分步演练
尽管加州住房数据集不是特别庞大,但它也相当大,这使其成为温和、说明性编码示例的绝佳选择,该示例演示了如何联合利用 Dask 和 scikit-learn 进行大规模数据处理。
加州住房数据集Dask 提供了一个数据帧模块,它模仿 Pandas DataFrame 对象的许多方面,以处理可能无法完全放入内存的大型数据集。我们将使用此 Dask DataFrame 结构从 GitHub 存储库中的 CSV 加载数据,如下所示:
数据框
数据框
将 dask.dataframe 导入为 dd url =“https://raw.githubusercontent.com/gakudo-ai/open-datasets/refs/heads/main/housing.csv” df = dd.read_csv(url) df.head()
这里有一个重要的说明。如果您想查看数据集的“形状”(行数和列数),该方法比仅使用 df.shape 稍微复杂一些。相反,你应该这样做:
df.shape
num_rows = df.shape[0].compute()
num_cols = df.shape[1]
print(f"行数:{num_rows}")
print(f"列数:{num_cols}")
输出:
行数:20640 列数:10
计算()
数据预处理
处理缺失值
df = df.dropna()
num_rows = df.shape[0].compute()
num_cols = df.shape[1]
print(f"行数:{num_rows}")
print(f"列数:{num_cols}")
标准缩放器
缩放方式
“房屋中值”
X_pd
X_scaled
