1005663861 发表于 2022-4-15 17:46:10

类的问题

from sklearn.base import BaseEstimator
class Never5Classifier(BaseEstimator):
    def fit(self, X, y=None):
      pass
    def predict(self, X):
      return np.zeros((len(X), 1), dtype=bool)
never_5_clf = Never5Classifier()
cross_val_score(never_5_clf, X_train, y_train_5, cv=3, scoring="accuracy")
在机器学习中,定义的类如上,请问def fit的作用是什么,这个类中没有调用任何fit的语法,还是BaseEstimator这个作为类的参数调用了fit&predict

wp231957 发表于 2022-4-15 17:55:20

预留,以待以后补充

1005663861 发表于 2022-4-15 17:56:46

wp231957 发表于 2022-4-15 17:55
预留,以待以后补充

什么意思

isdkz 发表于 2022-4-15 19:09:14

1005663861 发表于 2022-4-15 17:56
什么意思

就是写代码的人觉得 Never5Classifier 类得有 fit 这么一个方法,

但是 fit 方法具体做些什么事还没想好,所以就先用 pass 占位,等到想好了再去实现

1005663861 发表于 2022-4-16 11:00:10

isdkz 发表于 2022-4-15 19:09
就是写代码的人觉得 Never5Classifier 类得有 fit 这么一个方法,

但是 fit 方法具体做些什么事还没想 ...

但是删除这个def会报错

isdkz 发表于 2022-4-16 11:01:57

1005663861 发表于 2022-4-16 11:00
但是删除这个def会报错

报什么错?

傻眼貓咪 发表于 2022-4-16 11:18:39

1005663861 发表于 2022-4-16 11:00
但是删除这个def会报错

可能谋一个地方有调用这个函数,虽说函数具体该做什么还没有想好,但其实已经是完整函数了。如下:

def MyFunction():
    pass

1005663861 发表于 2022-4-19 17:15:45

傻眼貓咪 发表于 2022-4-16 11:18
可能谋一个地方有调用这个函数,虽说函数具体该做什么还没有想好,但其实已经是完整函数了。如下:

de ...

是不是继承的时候父类里边已经有这种方法了

傻眼貓咪 发表于 2022-4-19 18:41:35

1005663861 发表于 2022-4-19 17:15
是不是继承的时候父类里边已经有这种方法了

这就不清楚了,因为我没用过这个库 sklearn.base.BaseEstimator
页: [1]
查看完整版本: 类的问题