机器学习模型选择、训练与优化全流程指南
1. 数据预处理
在进行机器学习模型训练前,数据预处理是关键步骤。OneHotEncoder 返回稀疏矩阵,而数值处理管道返回密集矩阵。当存在稀疏和密集矩阵混合的情况时,ColumnTransformer 会估计最终矩阵的密度(即非零单元格的比例),若密度低于给定阈值(默认 sparse_threshold = 0.3),则返回稀疏矩阵,在某些示例中返回的是密集矩阵。
以下是一些数据处理的小技巧:
- 若想删除某些列,可指定字符串 “drop”;若想保留某些列不变,可指定 “passthrough”。
- 默认情况下,未列出的列将被删除,但可通过设置 remainder 超参数为任何转换器(或 “passthrough”)来以不同方式处理这些列。
对于较旧版本的 Scikit - Learn(0.19 或更早),可使用第三方库(如 sklearn - pandas),或自定义转换器以实现与 ColumnTransformer 相同的功能,也可使用 FeatureUnion 类,但它不能为每个转换器指定不同的列,不过可通过自定义列选择转换器来解决此限制。
2. 模型选择与训练
在完成问题定义、数据获取与探索、训练集和测试集采样以及数据转换管道编写后,就可以开始选择和训练机器学习模型了。
2.1 线性回归模型
首先尝试线性回归模型:
from sklearn.linear_model import LinearRegression
lin_reg = L
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



