2.技术与实现
(1)操作流程
对数据进行逻辑回归建模的过程一般包括:
- 数据准备
- 装载数据集,熟悉数据结构和含义
- 必要的预处理操作:处理缺失/重复值、文本字段的数值化转换、标准化/归一化处理
- 拆分训练集和测试集
- 模型训练
- 使用训练集训练模型,获取最优的权重参数。可以使用批量梯度下降算法、随机梯度下降算法来获得最优权重参数
- 必要的情况下可以调整某些超参数(例如阈值 K K K、惩罚系数 λ \lambda λ等),本例将引入L2惩罚系数作为超参数
- 性能验证
- 使用训练好的模型预测新的样本(包括测试样本)
- 使用测试数据集来验证模型的性能
- 在有条件的情况下,可以通过绘制决策边界线来查看模型的的分类效果
(2)技术手段
- sklearn.linear_model模块
- LogisticRegression类:逻辑回归算法实现
- sklearn.metrics模块
- precision_score, recall_score, f1_score函数,分别用于计算精度、召回率、F1 Score
- classification_repor函数:生成性能指标报告
2.技术与实现
(1)数据准备
在进行线性回归建模前,应做好下列数据准备:
- 构造样本的特征矩阵 X X X。矩阵中的每一行代表一个样本的各个特征值
- 构造样本的结果向量 Y Y Y。向量中每个元素代表一个样本的结果值
- 将 X X X和 Y Y Y按一定比例切分成训练样本 (X_train, y_train) 和测试样本 (X_test, y_test)
(2)使用sklearn.linear_model.LogisticRegression
- 使用方法与LinearRegression类似
- 如果需要使用高阶函数,则需要先手动生成特征的各阶值,形成高维数组,然后将高维数组送到fit函数中进行训练
- 可以通过参数 C C C来设置惩罚系数。 C = 1 λ C=\dfrac{1}{\lambda} C=λ1
- 如果标签类别多于2个,可以通过指定multi_class='multinomial’使得LogisticRegression能够处理多分类的情形
(3)使用sklearn.metrics
- confusion_matrix用于生成【混淆矩阵】,矩阵中各个元素值恰好就是TP/FP/TN/FN的样本数量
- sklearn.metrics中提供了precision_score, recall_score, f1_score等函数,可分别用于计算各类性能指标
- classification_report:生成性能指标报告