2016-05-31 204 views
2

我这段代码运行 '下' 拟合logistic模型数据:AttributeError的: 'numpy.ndarray' 对象没有属性

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' object has no attribute 'lower'

如何使逻辑模型适合?

+1

欢迎来到SO!你能否提供一些关于错误的更多细节?错误发生在哪里?哪条线?堆栈跟踪的样子是什么? –

回答

1

您不应将X_trainy_train转换为LogisticRegression构造函数。您只需要

... 

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

与“lower”相关的错误,大写字母小写,大概是因为您将它应用于标准numpy数组而发生的,但它仅适用于字符串,请参阅[documentation](https://docs.python.org/ 2/library/string.html)或[字符数组](http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.chararray.lower.html)。 – patrick

+0

@patrick我知道这一点。在OP代码中,这个错误是由LogisticRegression对象的错误初始化引起的。 – kvorobiev

+0

我同意,我错误地发表了这个评论 - 它的目的是对原文的反应,增加你的解释,而不是纠正它。 – patrick

相关问题