关于Scikit-Learn Design

2018-09-28  本文已影响0人  博士伦2014

Scikit-Learn’s API is remarkably well designed. The main design principles are:

  1. Estimators: 任何可以根据数据集估计某些参数的对象被称为estimator(例如, imputer是一个estimator)。估计过程是由 fit( ) 完成,它只接受一个数据集作为参数(或两个数据集用于监督学习算法;第二个数据集包含标签)。指导估计过程所需的任何其他参数都被视为超参数(例如imputerstrategy),并且必须将其设置为实例变量(通常通过一个构造函数参数)

  2. Transformers: 一些estimators(例如imputer)也可以转换数据集; 这些被称为transformers。 再一次,API非常简单:转换过程由 transform( ) 方法执行,数据集为转换为参数,它返回转换后的数据集。这种转换通常依赖于学习得到的参数,就像imputerstrategy的情况一样。
    所有transformers也有一个称为 fit_transform( ) 的便捷方法,相当于先调用fit( )然后再调用transform( )(但有时fit_transform( )被优化过并且运行得更快)

  3. Predictors:一些estimators能够进行预测数据集;他们被称为predictors。例如,Linear Regression模型是一个predictor:给出一个国家的人均GDP,它预测了生活满意度。predictors有一个predict( )方法,这个方法以一个新实例的数据集为预测参数,并返回相应预测的数据集。它也有一个score()方法,用于衡量给定测试集的预测质量(以及监督学习算法中相应的标签)

上一篇 下一篇

猜你喜欢

热点阅读