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

13.1 pandas与模型代码的接口

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

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

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

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

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

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

13.2 用patsy创建模型描述

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

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

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

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

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

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

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

13.3 statsmodels介绍

statsmodels包含的模型有:

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

1.估计线性模型

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

2.估计时间序列过程

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

13.4 scikit-learn介绍

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


  • 在统计和机器学习例子中,根据数据中的特征,一个典型的任务是预测乘客能否生还
  • 模型现在训练数据集拟合,然后用样本外测试数据集评估
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值