TypeError: MinMaxScaler.__init__() takes from 1 to 2 positional arguments but 3 were given 问题解决

原代码

class MinMaxScaler(OneToOneFeatureMixin, TransformerMixin, BaseEstimator):
# 一些代码
    def __init__(self, feature_range=(0, 1), *, copy=True, clip=False):
        self.feature_range = feature_range
        self.copy = copy
        self.clip = clip
class My_MinMaxScaler(MinMaxScaler):

    def __init__(self, feature_range=(0, 1), copy=True):
        MinMaxScaler.__init__(self, feature_range, copy)

报错

Traceback (most recent call last):
File “/home/visitor/Huang/BLS_SFU_CNL_V1.0.1/BLS_demo_for_lower_memory.py”, line 113, in
bls_train_fscore(train_x,train_y,test_x,test_y,s,C,N1_bls,N2_bls,N3_bls);
File “/home/visitor/Huang/BLS_SFU_CNL_V1.0.1/bls/model/bls_train_fscore.py”, line 176, in bls_train_fscore
[TT1, max_list, min_list] = mapminmax( TT1.transpose(), 0, 1, max_list, min_list);
File “/home/visitor/Huang/BLS_SFU_CNL_V1.0.1/bls/processing/mapminmax.py”, line 86, in mapminmax
min_max_scaler = My_MinMaxScaler(feature_range=(v_min, v_max), copy=True)();
File “/home/visitor/Huang/BLS_SFU_CNL_V1.0.1/bls/processing/mapminmax.py”, line 34, in init
MinMaxScaler.init(self, feature_range, copy);
TypeError: MinMaxScaler.init() takes from 1 to 2 positional arguments but 3 were given

修改代码解决

class My_MinMaxScaler(MinMaxScaler):

    def __init__(self, feature_range=(0, 1), copy=True):
        MinMaxScaler.__init__(self, feature_range=feature_range, copy=copy)

Chat给出的建议

问题可能在于你正在调用MinMaxScaler的__init__方法时没有正确地使用关键字参数。根据错误消息,MinMaxScaler.__init__()方法接受的参数数量应该是1到2个,但是给了3个参数。
在这个修正后的代码中,使用了关键字参数来指定feature_range和copy参数的值。这样应该可以解决TypeError错误。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值