监督逻辑回归python

时间:2018-05-26 23:08:27

标签: python logistic-regression supervised-learning

我想从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)

1 个答案:

答案 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的数组,因为两个数组确实相同,所以你也不需要这最后一行