我正在编写自定义sklearn
管道。
我需要它才能处理pandas
数据帧。
如果我通过创建内置
BaseEstimator, ClassifierMixin,TransformerMixin
在拟合/转换函数期间,当精确调用_check_X_y
时,所有这些类都会自动将数据帧强制转换为numpy.ndarray。
我知道https://github.com/scikit-learn-contrib/sklearn-pandas的存在,但是根据两个不稳定库之间的不稳定绑定不是一种选择。
因此,我实现了我的估算器而没有继承BaseEstimator, ClassifierMixin, TransformerMixin
中的任何内容,只是定义了api fit(),fit_transform(),transform(),_get_params(),_set_params()
请求的方法。
对我而言,它似乎完美无缺,也与GridSearchCV
结合使用。
我只能在需要时将df
转换为numpy
我的问题是:我有什么理由不这样做吗? 我是否会错过任何隐藏的sklearn API要求?