我试图从http://www.dummies.com/programming/big-data/data-science/how-to-create-a-supervised-learning-model-with-logistic-regression/
学习logistic回归中的监督学习,但我得到了这个错误
TypeError:“list”对象不可调用
还有其他错误。我已经搜索过了,我知道我必须用方括号来访问列表,但那没有起作用。
有谁能告诉我代码有什么问题吗。我用的是Python(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)
在您提供的链接中,看起来有些行是输入的,有些行是输出的(这一点不是很清楚),因此并非所有的行都是实际的代码,但也包含运行代码时将发生的事情的输出
为了澄清这一点
predictedarray=([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2])
是线的输出predicted = logClassifier.predict(X_test)
图中显示的是predict函数的输出,但行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
的数组,因为这两个数组实际上是相同的,所以您也不需要这最后一行相关问题 更多 >
编程相关推荐