scikit-learn文档阅读笔记
Getting Started
这是一个开源机器学习库,包括监督学习、无监督学习的模型,和数据处理的工具。
Fitting and predicting: estimator basics
estimator是内置的模型和算法,每个estimator都有fit
函数用来拟合数据。fit接受设计矩阵和对应的标签列。
fit完成后,可以调用predict函数进行预测。
Transformers and pre-processors
ML工作流程包括两大部分:预处理数据( transforms or imputes the data)和预测器。
本库中,Transformers and pre-processors也是estimator(继承自BaseEstimator )。但是Transformers and pre-processors没有predict方法,取而代之的是transform方法(接受X,输出转换后的X)。
StandardScaler().fit(X).transform(X)
ColumnTransformer 可以实现对不同的feature(即列)用不同的转换。
Pipelines: chaining pre-processors and estimators
可以将Transformers和 estimators (predictors)组合成一个统一对象Pipeline。这个东西也有fit和predict方法。使用Pipeline可以防止测试数据泄露(没懂)。
下面是一个Pipeline:
pipe = make_pipeline(
... StandardScaler(),
... LogisticRegression()
... )
Model evaluation
提供了一些评估模型的工具(尤其是交叉验证的)
Automatic parameter searches
ML的性能关键可能取决于某几个超参数上,超参数的选择又是一个经验相关、问题相关的任务。sklearn提供了基于交叉验证的各种自动搜索超参数的工具。
这里超参数搜索有个数据泄露的问题(没看懂):Kaggle post