监督logistic回归

2024-10-05 13:14:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从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)

Tags: fromtestimporttrueirisdatamodel错误
1条回答
网友
1楼 · 发布于 2024-10-05 13:14:16

在您提供的链接中,看起来有些行是输入的,有些行是输出的(这一点不是很清楚),因此并非所有的行都是实际的代码,但也包含运行代码时将发生的事情的输出

为了澄清这一点

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的数组,因为这两个数组实际上是相同的,所以您也不需要这最后一行

相关问题 更多 >

    热门问题