我试图了解sklearn.linear_model中Perceptron如何执行fit()函数(Documentation)。问题来自这段代码:
clf = Perceptron()
clf.fit(train_data, train_answers)
print('accuracy:', clf.score(train_data, train_answers))
accuracy: 0.7
我认为拟合的目标是创建分类函数,它将在测试数据上给出100%准确度的答案,但在上面的例子中它只给出了70%。我已经尝试了另外一个数据集,其中准确率为60%。
在拟合过程中我有什么误解?
答案 0 :(得分:0)
这取决于您的训练数据模式分布。在下面显示的图表中,您是否可以找到直线来分隔蓝色和红色?显然不是,这就是重点。您的数据必须是线性可分的 Perceptron Learning Algorithm可以在培训数据上实现100%的准确率。否则,没有直线可以完美地分离它。