LogisticRegression拟合报错:TypeError: fit()缺少必需位置参数'y'
问题原因及修复方案
问题根源
你初始化逻辑回归模型时,没有创建类的实例,只是把LogisticRegression类本身赋值给了变量log_regression。直接调用类的fit方法时,Python会把X_train当作实例方法的第一个必填参数self,原本的y_train错位成了第二个参数,导致方法期望的y参数未被正确传入,因此抛出TypeError。
修复后的代码
x = hrdf[['JobSatisfaction', 'HourlyRate', 'WorkLifeBalance']] y = hrdf['Attrition'] X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 0) # 加上括号,实例化LogisticRegression类 log_regression = LogisticRegression() log_regression.fit(X_train, y_train) y_pred = log_regression.predict(X_test)
额外说明
如果需要自定义模型参数(比如正则化强度C、求解器solver等),可以在实例化时传入,示例:
log_regression = LogisticRegression(C=1.0, solver='liblinear', random_state=0)
内容的提问来源于stack exchange,提问作者Brandi Austin
相关产品推荐
相关产品推荐

