由于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越好 。
- model.transform():从数据中学到新的“基空间” 。
- model.fit_transform():从数据中学到新的基并将这个数据按照这组“基”进行转换 。
安德森鸢尾花卉数据集有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中实现神经网络是非常必要的 。
推荐阅读
- 哥与弟媳怎么称呼,弟妹与弟媳有什么区别
- cdr字体透视怎么做,cdr咋得才能透视效果
- 电脑内存不足怎么清理,要怎么深度清理电脑内存
- 关于狮子的吉祥语,元宵节舞狮子时喊的吉祥语有哪些
- 微信马赛克怎么弄,去微信马赛克的方法
- 大板梳和椭圆的区别,椭圆梳和大板梳到底买哪个好
- qq中怎么修改密码,电脑版QQ如何重置密码
- 怎么修改appleid地址,苹果手机id应该怎样更改地区
- 冬天怎么让滴胶快速干,冬天怎样才能使水晶滴胶更快凝固