隐藏的宝藏:使用这些 Python 库改变您的机器学习工作流程(python machine库)
T特别是数据科学领域,拥有大量的工具和库,使我们能够从数据中提取知识。然而,在常用的Python库(如NumPy,Pandas,Matplotlib,Seaborn,scikit-learn等)的表面之下,存在一个鲜为人知但功能强大的库的宝库,它们可以为您的机器学习工作流程提供显着的推动力。
有哪些常见的机器学习库?
机器学习项目主要由NumPy,Pandas,Matplotlib,Seaborn和Scikit-Learn等库支持。NumPy具有强大的数组操作能力,对于数值计算是必不可少的。Pandas 通过其 DataFrame 结构简化了数据处理和分析。为了创建引人入胜的数据可视化表示,Matplotlib和Seaborn是不可或缺的资源。Scikit-Learn为各种机器学习任务(如聚类,回归和分类)提供了一个全面的工具包。当共同利用这些资源时,数据科学家能够有效地审查、评估和建模数据。
低调机器学习库
➤ 熊猫分析
Python 熊猫分析模块是自动进行探索性数据分析 (EDA) 的强大工具。它会生成一份广泛的报告,其中包含有关数据集的有见地的信息,包括要保留哪些变量以及要删除哪些变量。
from pandas_profiling import ProfileReportprofile = ProfileReport(df, title='Dataset Report', explorative=True)profile.to_notebook_iframe()
使用时,该库提供了对正在处理的数据的几个重要见解。其中一些包括:
概述:*本节概述了数据集,包括变量和观测值的数量以及不同类型的变量。*
相关性 — 本节使用热图来说明数据集中变量之间的关系。它允许在各种相关图之间切换,包括皮尔逊的 r、肯德尔的 τ、斯皮尔曼的 ρ 和 Phik (φk)。
警告 — 本节包含有关具有大量零、NaN 值和高度基数分类变量的变量的注意事项。
➤ 缺失
这个用于可视化数据集中缺失数据的惊人工具是Python missingno包。它提供了许多功能来帮助分析师和数据科学家理解其数据中缺失值的分布和存在。它提供了一些惊人的可视化效果,例如:
矩阵图 — 这描绘了数据集中 NULL/NAN/缺失值的整个存在的视觉图片。
pip install missingnoimport missingno as msnomsno.matrix(df)
条形图 — 这将创建每个要素列的值计数的条形图,不包括每个要素列中的缺失值。
msno.bar(df, color="dodgerblue", sort="ascending", figsize=(8,6), fontsize=8)
热图 — 这可用于创建关联热图,以识别和分析列之间的相关性。
msno.heatmap(df)
登多图 — 这提供了不同特征之间的相关性和缺失信息存在的分层表示。
msno.dendrogram(df)
➤ 皮卡雷特
适用于 Python 的开源低代码 PyCaret 机器学习模块尝试自动执行评估和对比回归和分类的机器学习算法所涉及的关键过程。它旨在缩短从假设到见解所需的时间,因此经验丰富的数据科学家和新手都可以从中受益。
许多机器学习项目阶段,包括特征工程、模型训练、评估和数据预处理,都由 PyCaret 自动化。此外,它还提供了比较多个机器学习模型和微调超参数的功能。
您可以使用 pip 安装 PyCaret:
pip install pycaret
要使用 PyCaret 进行分类,您可以通过以下方式执行此操作:
from pycaret.classification import *clf = setup(data, target='target_column')best = compare_models()
要使用 PyCaret 进行回归,您可以通过以下方式执行此操作:
from pycaret.regression import *clf = setup(data, target='target_column')best = compare_models()
➤ 钟摆
在 Python 中管理日期和时间的一个非常有用的工具是钟摆包。在处理日期和时间时,它提供了比 Python 内置的日期时间模块更可靠、对开发人员友好的 API。您可以使用 Pendulum 快速完成日期和时间的格式化、解析和算术运算等活动。它是管理应用程序中与时间相关的数据的有效工具,因为它还提供时区和持续时间计算等功能。
该库的一些关键功能包括:
DateTime 实例 — 使用 now() 函数获取当前日期和时间,或使用 datetime() 函数获取 特定日期和时间,您可以构建 DateTime 对象。使用 local() 函数,您还可以构建具有特定时区的 DateTime 实例。
import pendulumdt = pendulum.datetime(2020, 11, 27)print(dt)local = pendulum.local(2020, 11,27)print(local)print(local.timezone.name)
时区转换 — 库的 in_timezone() 和 convert() 函数使在多个时区之间切换变得简单。
utc_time = pendulum.now('UTC')kolkata_time = utc_time.in_timezone('Asia/Kolkata')print('Current Date Time in Kolkata =', kolkata_time)Sydney_tz = pendulum.timezone('Australia/Sydney')sydney_time = sydney_tz.convert(utc_time)print('Current Date Time in Sydney =', sydney_time)
日期时间操作 — 可以使用 add() 和 subtract() 函数调整日期和时间 。每个方法都会生成一个新的 DateTime 实例。
dt = pendulum.parse('1997-11-21T22:00:00', tz = 'Asia/Calcutta')print(dt)dt = pendulum.from_format('2020/11/21', 'YYYY/MM/DD')print(dt)
持续时间和周期计算 — 库中的 duration() 函数允许您生成可在 DateTime 实例中添加或减去的持续时间。 period() 函数还可用于确定两个 DateTime 实例之间的时间间隔。
time_delta = pendulum.duration(days = 2, hours = 10, years = 2)print(time_delta)print('future date =', pendulum.now() time_delta)start = pendulum.datetime(2021, 1, 1)end = pendulum.datetime(2021, 1, 31)period = pendulum.period(start, end)print(period.days)
结论
总之,用于机器学习的隐藏 Python 库提供了有价值的工具,可以促进您的项目。从高效的时间管理到增强的数据可视化,这些资源扩展了您的能力。探索这些隐藏的宝石可以提高工作效率和工作的准确性。随着 Python 的发展,尝试鲜为人知的库是保持领先地位的明智之举。如果您尝试过上述任何库,请告诉我。我很想听听你最喜欢的低调Python ML库,如果它们不在这篇文章中,那就更多了!在评论中让我知道!