You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

传入Sklearn实例化模型至函数设参数时遇TypeError:对象不可调用

错误原因与解决方案:TypeError: 'LogisticRegression' object is not callable

错误原因

你代码中lr = LogisticRegression()已经生成了一个LogisticRegression的实例对象,而非类本身。当把这个实例传入logistic函数后,执行model(random_state=0)是试图调用一个已实例化的对象——但sklearn的模型实例并不支持被调用,因此触发了TypeError。

解决方法

方法一:传入类而非实例

直接将LogisticRegression类传入函数,在函数内部完成实例化和参数设置:

from sklearn.linear_model import LogisticRegression

def logistic(model_class):
    test = model_class(random_state=0)
    return test

# 传入类,而非已实例化的对象
logistic(LogisticRegression)

方法二:通过set_params修改已有实例的参数

如果必须传入已创建的实例,可利用sklearn模型自带的set_params方法修改参数:

from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()

def logistic(model):
    # 调用set_params修改实例参数
    test = model.set_params(random_state=0)
    return test

logistic(lr)

内容的提问来源于stack exchange,提问作者Eisen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:34:57