x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 h = (x_max / x_min)/100 #间隔 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) X_plot = np.c_[xx.ravel(), yy.ravel()] C = 1.0 svc_classifier = svm.SVC(kernel='linear', C=C).fit(X,y) Z = svc_classifier.predict(X_plot) Z = Z.reshape(xx.shape)为什么训练和测试能用一样的数据
时间: 2024-04-26 12:26:55 浏览: 100
这段代码中并没有明确区分训练和测试数据,而是直接使用了变量X和y。这里的X和y是指整个数据集,包括训练数据和测试数据。在SVM分类器训练过程中,我们将整个数据集作为训练数据,因此训练和测试使用的是相同的数据。
然而,这样做并不是最好的做法。在机器学习中,我们通常会将数据集分为训练集和测试集,以便在训练和测试阶段使用不同的数据。这样做的目的是为了评估模型的泛化能力,即模型在之前未见过的数据上的表现。因此,在实际应用中,我们应该将数据集分为训练集和测试集,并使用测试集对模型进行评估。
阅读全文