【问题标题】:AttributeError: 'numpy.ndarray' object has no attribute 'lower' fitting logistic model dataAttributeError:“numpy.ndarray”对象没有属性“lower”拟合逻辑模型数据
【发布时间】:2016-09-29 14:19:29
【问题描述】:

我正在运行这段代码:

from sklearn import cross_validation
import numpy as np
import sys
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets, svm, metrics

digits = datasets.load_digits()

X_train, X_test, y_train, y_test = cross_validation.train_test_split(
digits.data, digits.target, test_size=0.4, random_state=0)

clf = linear_model.LogisticRegression(X_train, y_train) 
clf.fit(X_train, y_train)

我收到此错误:

AttributeError: 'numpy.ndarray' 对象没有属性 'lower'

如何使逻辑模型拟合?

【问题讨论】:

  • 欢迎来到 SO!您能否提供有关该错误的更多详细信息?错误发生在哪里?哪条线?堆栈跟踪是什么样的?

标签: python numpy scikit-learn


【解决方案1】:

clf = LogisticRegression() clf.fit(x_train,x_test)

不要在 LogisticRegression 模型中传递参数

【讨论】:

    【解决方案2】:

    您不应该将X_train 和y_train 传递给LogisticRegression 构造函数。你只需要

    ...
    
    clf = linear_model.LogisticRegression() 
    clf.fit(X_train, y_train)
    

    【讨论】:

    • “lower”的错误,即小写大写字符,可能是因为您将其应用于标准 numpy 数组,但它仅适用于字符串,参见 documentation 或 @987654322 @.
    • @patrick 我知道这一点。在 OP 代码中,此错误是由 LogisticRegression 对象的错误初始化引起的。
    • 我同意,我发错了这条评论——这是对原帖的回应,是为了补充你的解释,而不是更正它。
    猜你喜欢
    • 2020-10-06
    • 2019-12-07
    • 1970-01-01
    • 2020-09-22
    • 2021-04-17
    • 2014-12-09
    • 2020-10-22
    • 2019-06-08
    • 2016-04-15
    相关资源
    最近更新 更多