8个常用python库从安装命令及应用程序( 四 )

由于pandas是本书的主力工具,在后面将会频繁使用它,因此这里不再详细介绍,后文会更加详尽地讲解pandas的使用方法 。
参考链接:
***/pandas-docs/stable/
05 StatsModelspandas着重于数据的读取、处理和探索,而StatsModels则更加注重数据的统计建模分析,它使得Python有了R语言的味道 。StatsModels支持与pandas进行数据交互,因此,它与pandas结合成为Python下强大的数据挖掘组合 。
安装StatsModels相当简单,既可以通过pip命令安装,又可以通过源码安装 。对于Windows用户来说,官网上甚至已经有编译好的exe文件可供下载 。如果手动安装的话,需要自行解决好依赖问题,StatsModels依赖于pandas(当然也依赖于pandas所依赖的库),同时还依赖于Pasty(一个描述统计的库) 。
使用StatsModels进行ADF平稳性检验,如代码清单2-31所示 。

  • 代码清单2-31 使用StatsModels进行ADF平稳性检验
# -*- coding: utf-8 -*- from statsmodels.tsa.stattools import adfuller as ADF # 导入ADF检验 import numpy as np ADF(np.random.rand(100)) # 返回的结果有ADF值、p值等 参考链接:
***e.net/stable/index.html
06 scikit-learn从该库的名字可以看出,这是一个与机器学习相关的库 。不错,scikit-learn是Python下强大的机器学习工具包,它提供了完善的机器学习工具箱,包括数据预处理、分类、回归、聚类、预测、模型分析等 。
scikit-learn依赖于NumPy、SciPy和Matplotlib,因此,只需要提前安装好这几个库,然后安装scikit-learn基本上就没有什么问题了,安装方法跟前几个库的安装一样,可以通过pip install scikit-learn命令安装,也可以下载源码自行安装 。
使用scikit-learn创建机器学习的模型很简单,示例如代码清单2-32所示 。
  • 代码清单2-32 使用scikit-learn创建机器学习模型
# -*- coding: utf-8 -*- from sklearn.linear_model import LinearRegression # 导入线性回归模型 model = LinearRegression() # 建立线性回归模型 print(model) 1. 所有模型提供的接口有
对于训练模型来说是model.fit(),对于监督模型来说是fit(X, y),对于非监督模型是fit(X) 。
2. 监督模型提供如下接口
  • model.predict(X_new):预测新样本 。
  • model.predict_proba(X_new):预测概率,仅对某些模型有用(比如LR) 。
  • model.score():得分越高,fit越好 。
3. 非监督模型提供如下接口
  • model.transform():从数据中学到新的“基空间” 。
  • model.fit_transform():从数据中学到新的基并将这个数据按照这组“基”进行转换 。
Scikit-learn本身提供了一些实例数据供我们上手学习,比较常见的有安德森鸢尾花卉数据集、手写图像数据集等 。
安德森鸢尾花卉数据集有150个鸢尾花的尺寸观测值,如萼片长度和宽度,花瓣长度和宽度;还有它们的亚属:山鸢尾(iris setosa)、变色鸢尾(iris versicolor)和维吉尼亚鸢尾(iris virginica) 。导入iris数据集并使用该数据训练SVM模型,如代码清单2-33所示 。
  • 代码清单2-33 导入iris数据集并训练SVM模型
# -*- coding: utf-8 -*- from sklearn import datasets # 导入数据集 iris = datasets.load_iris() # 加载数据集 print(iris.data.shape) # 查看数据集大小 from sklearn import svm # 导入SVM模型 clf = svm.LinearSVC() # 建立线性SVM分类器 clf.fit(iris.data, iris.target) # 用数据训练模型 clf.predict([[ 5.0, 3.6, 1.3, 0.25]]) # 训练好模型之后,输入新的数据进行预测 clf.coef_ # 查看训练好模型的参数 参考链接:
***/stable/
07 Kerasscikit-learn已经足够强大了,然而它并没有包含这一强大的模型—人工神经网络 。人工神经网络是功能相当强大但是原理又相当简单的模型,在语言处理、图像识别等领域都有重要的作用 。近年来逐渐流行的“深度学习”算法,实质上也是一种神经网络,可见在Python中实现神经网络是非常必要的 。

推荐阅读