python 库
- NumPy、NumArray和SAGE—— NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的低层代码使用C来编写,所以速度的优势很明显。NumPy是Numarray的后继者,用来代替NumArray。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代 Magma, Maple, Mathematica和Matlab 这类工具。
- pandas——强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
- Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
- seaborn——统计绘图
- Ipython——IPython 是一个交互式的 Python 解释器,而且它更加高效
数据建模
•处理完前面的数据我们就得到建模数据,下一步是选择合适模型
•在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习
•模型的选择一方面是通过我们的任务来决定的。
•除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定
•刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型
任务一:切割训练集和测试集
这里使用留出法划分数据集
•将数据集分为自变量和因变量
•按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
•使用分层抽样
•设置随机种子以便结果能复现
对数据集进行切割报错
原因忘记导入 train_test_spilt 方法
from sklearn.model_selection import train_test_split
•什么情况下切割数据集的时候不用进行随机选取
时间序列数据(不明白)
模型创建
- 创建基于线性模型的分类模型(逻辑回归)
- 创建基于树的分类模型(决策树、随机森林)
- 查看模型的参数,并更改参数值,观察模型变化
输出模型结果
• 输出模型预测分类标签
• 输出不同分类标签的预测概率
模型评估
- 模型评估是为了知道模型的泛化能力。
- 交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。
- 在交叉验证中,数据被多次划分,并且需要训练多个模型。
- 最常用的交叉验证是 k 折交叉验证(k-fold cross-validation),其中 k 是由用户指定的数字,通常取 5 或 10。
- 准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例
- 召回率(recall)度量的是正类样本中有多少被预测为正类
- f-分数是准确率与召回率的调和平均
不同模型评估方法、评估指标(待补)