第 12 章 Python 建模库简介 Python 建模库简介
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在本书中,我重点为用 Python 进行数据分析提供了编程基础。由于数据分析师和科学家经常报告在数据整理和准备上花费了过多的时间,本书的结构反映了掌握这些技术的重要性。
使用哪种库来开发模型取决于应用。许多统计问题可以通过普通最小二乘法回归等较简单的技术来解决,而其他问题可能需要更先进的机器学习方法。幸运的是,Python 已经成为实现分析方法的首选语言之一,因此在学完本书后,你可以探索许多工具。
在本章中,我将回顾 pandas 的一些功能,当你在使用 pandas 处理数据与模型拟合和评分之间来回切换时,这些功能可能会有所帮助。然后,我将简要介绍两个流行的建模工具包:statsmodels和scikit-learn。由于这两个项目的规模都很大,需要有自己的专著,因此我不打算面面俱到,而是引导你去查阅这两个项目的在线文档,以及其他一些基于 Python 的数据科学、统计学和机器学习方面的书籍。
12.1 pandas 与模型代码之间的接口
模型开发的常见工作流程是使用 pandas 进行数据加载和清理,然后再切换到建模库来构建模型 。模型开发流程的一个重要部分被称为机器学习中的特征工程。这可以描述从原始数据集中提取对建模有用的信息的任何数据转换或分析。我们在本书中探讨的数据聚合和分组工具经常用于特征工程。
虽然 "好的 "特征工程的细节不在本书的讨论范围之内,但我将展示一些方法,使在使用 pandas 进行数据操作和建模之间的切换尽可能轻松。
pandas 与其他分析库的联系点是 通常是 NumPy 数组。要将 DataFrame 转换为 NumPy 数组,请使用to_numpy 方法:
In[12]:data=pd.DataFrame({....:'x0':[1,2,3,4,5],....:'x1':[0.01,-0.01,0.25,-4.1,0.],....:'y':[-1.5,0.,3.6,1.3,-2.]})In[13]:dataOut[13]:x0x1y010.01-1.512-0.010.0230.253.634-4.101.3450.00-2.0In[14]:data.columnsOut[14]:Index(['x0','x1','y'],dtype='object')In[15]:data.to_numpy()Out[15]:array([[1.,0.01,-1.5],[2.,-0.01,0.],[3.,0.25,3.6],[4.,-4.1,1.3],[5.,0.,-2.]])
要转换回 DataFrame,您可能还记得在前面的章节中,您可以传递一个带有可选列名的二维ndarray:
In[16]:df2=pd.DataFrame(data.to_numpy(),columns=['one','two','three'])In[17]:df2Out[17]:onetwothree01.00.01-1.512.0-0.010.023.00.253.634.0-4.101.345.00.00-2.0
to_numpy 方法适用于同类数据--例如,所有数字类型。如果 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access