《利用python进行数据分析》第十三章 python建模库的介绍

13.1 pandas与模型代码的接口

  • 将Dataframe转换为Numpy数组,使用其.values属性

《利用python进行数据分析》第十三章 python建模库的介绍_第1张图片

  • 转换回一个DataFrame,可以传递一个二维ndarray,可带有列名:

《利用python进行数据分析》第十三章 python建模库的介绍_第2张图片

  • 最好当数据是均匀的时候使用.values属性,例如全是数值类型
  • 如果数据是不均匀的,结果会是python对象的ndarray

《利用python进行数据分析》第十三章 python建模库的介绍_第3张图片

  • 对于一些模型,如果只想使用列的子集,使用loc,用values作索引

《利用python进行数据分析》第十三章 python建模库的介绍_第4张图片

  • 一些库原生支持pandas,会自动完成工作:从DataFrame转化为Numpy,将模型的参数名添加到输出表的列或Series
  • 在第12章,我们学习了pandas的Categorical类型和pandas.get_dummies函数
  • 假设数据中有一个非数值列

《利用python进行数据分析》第十三章 python建模库的介绍_第5张图片

  • 想替换category列为虚变量,可以创建虚变量,删除category列,添加到结果

《利用python进行数据分析》第十三章 python建模库的介绍_第6张图片

13.2 用patsy创建模型描述

  • patsy是python的一个库,使用字符串‘公式语法’描述统计模型(尤其是线性统计模型)
  • patsy适合描述statsmodels的线性模型,patsy的公式是一个特殊字符串的语法
  • patsy.dmatrices函数接收一个公式字符串和一个数据集(可以是DataFrame或数组的字典),为线性模型创建设计矩阵

《利用python进行数据分析》第十三章 python建模库的介绍_第7张图片

《利用python进行数据分析》第十三章 python建模库的介绍_第8张图片

  • 这些patsy的DesignMatrix实例是numpy的ndarray,带有附加元数据

《利用python进行数据分析》第十三章 python建模库的介绍_第9张图片

  • intercept(拦截)是线性模型(普通最小二乘回归)的惯例用法,添加+0到模型可以不显示intercept

《利用python进行数据分析》第十三章 python建模库的介绍_第10张图片

  • patsy对象可以直接传递到算法(numpy.linalg.lstsg)中,它执行普通最小二乘回归

《利用python进行数据分析》第十三章 python建模库的介绍_第11张图片

  • 用patsy公式对数据进行转换

《利用python进行数据分析》第十三章 python建模库的介绍_第12张图片

  • 常见的变量转换包括标准化(平均值0,方差1)和去中心化(减去平均值)
  • patsy有内置函数进行工作

《利用python进行数据分析》第十三章 python建模库的介绍_第13张图片

  • 建模的第一步,拟合模型到一个数据集,然后用另外一个数据集评估模型,另外一个数据集可能是剩余的部分或是新数据
  • 当执行中心化和标准化转变时,必须使用平均值或标准差转换数据集-----状态转换
  • patsy.build_design_matrices函数可以使用原本样本数据集的保存信息来转换数据

《利用python进行数据分析》第十三章 python建模库的介绍_第14张图片

13.3 statsmodels介绍

statsmodels包含的模型有:

  • 线性模型,广义线性模型,健壮线性模型
  • 线性混合效应模型
  • 方差方法分析
  • 时间序列过程和状态空间模型
  • 广义矩阵估计

1.估计线性模型

  • statsmodels有多种线性回归模型,包括从基本(比如普通最小二乘)到复杂(迭代加权最小二乘法)
  • statsmodels的线性模型有两种不同的接口:基于数组和基于公式

《利用python进行数据分析》第十三章 python建模库的介绍_第15张图片

2.估计时间序列过程

  • statsmodels的另外一种模型类是进行时间序列分析,包括自回归过程,卡尔曼滤波和其他态空间模型
  • 用自回归结构和噪音来模拟一些时间序列数据

《利用python进行数据分析》第十三章 python建模库的介绍_第16张图片

13.4 scikit-learn介绍

  • scikit-learn包含多种标准监督和非监督机器学习方法和模型选择和评估、数据转换、数据加载
  • 和模型持久化工具,这些模型可以用于分类,聚合,预测和其他任务。

《利用python进行数据分析》第十三章 python建模库的介绍_第17张图片

《利用python进行数据分析》第十三章 python建模库的介绍_第18张图片
《利用python进行数据分析》第十三章 python建模库的介绍_第19张图片

  • 在统计和机器学习例子中,根据数据中的特征,一个典型的任务是预测乘客能否生还
  • 模型现在训练数据集拟合,然后用样本外测试数据集评估

你可能感兴趣的:(ML_DL_DA)