我想从http://www.dummies.com/programming/big-data/data-science/how-to-create-a-supervised-learning-model-with-logistic-regression/中学习逻辑回归中的有监督学习,但我得到了这个错误
TypeError:'list'对象不可调用
还有其他错误。我搜索过我知道我要使用方括号来访问列表但是没有用。
任何人都可以告诉我代码有什么问题。我正在使用anaconda(spyder 3.6)
这是我的代码
from sklearn.datasets import load_iris
from sklearn import linear_model
from sklearn import cross_validation
from sklearn import metrics
iris = load_iris()
X_train, X_test, y_train, y_test=cross_validation.train_test_split(iris.data,iris.target,test_size=0.10,random_state=111)
logClassifier = linear_model.LogisticRegression(random_state=111)
logClassifier.fit(X_train, y_train)
predicted = logClassifier.predict(X_test)
predictedarray=([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
y_testarray=([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
metrics.accuracy_score(y_test, predicted)
predicted == y_testarray([ True, True, True, True, True, True, True, True,True, True, True, True, True, True, True], dtype=bool)
答案 0 :(得分:0)
在你提供的链接中,看起来有些行是输入的,有些行是输出的(不是很清楚),所以并非所有的行都是实际的代码,但也包含输出你运行了代码
澄清,行
predictedarray=([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
是该线的输出
predicted = logClassifier.predict(X_test)
这被证明是为了说明预测函数的输出,但是行predictedarray=([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
本身是输出的,不应该添加到代码中
最后一行也是如此:predicted == y_testarray([ True, True, True, True, True, True, True, True,True, True, True, True, True, True, True], dtype=bool)
虽然在链接中没有明确链接,但我认为这是为了表明运行的结果
predicted == y_testarray
等于只包含True
的数组,因为两个数组确实相同,所以你也不需要这最后一行