【问题标题】:TypeError: 'LogisticRegression' object is not callable in logistic regressionTypeError:“LogisticRegression”对象在逻辑回归中不可调用
【发布时间】:2019-09-13 22:47:09
【问题描述】:

当我尝试使用逻辑回归来确定倒数第二行中的 t 预测值时,我遇到了问题。错误是: “回溯(最近一次通话最后一次): 第 15 行,在 t_pred = logreg(X_test) TypeError: 'LogisticRegression' 对象不可调用"

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_predict
from sklearn.metrics import accuracy_score
df=pd.read_csv('datos.csv')
X=df1 = df.iloc[:,1:5]
t=df.iloc[:,0]
X_train, X_test, t_train, t_test = train_test_split(X, t, test_size=0.2, random_state=0)
logreg=LogisticRegression(solver='lbfgs')
predicted = cross_val_predict(logreg, X_train, t_train, cv=10)
print(accuracy_score(t_train, predicted))
logreg.fit(X_train, t_train)
t_pred = logreg(X_test)
print(accuracy_score(t_test, t_pred))

【问题讨论】:

    标签: python scikit-learn logistic-regression cross-validation


    【解决方案1】:

    这是由于:

    t_pred = logreg(X_test)
    

    您需要使用对象logreg 的方法,而不是直接向它提供参数。

    注意您如何使用logreg.fit()fit() 是一种处理训练数据的方法。同样,您需要致电predict() 以获取对新数据的预测。

    试试这个:

    t_pred = logreg.predict(X_test)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-11
      • 2023-01-07
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      相关资源
      最近更新 更多