
50
|
第
2
章
mglearn.discrete_scatter(X[:, 0], X[:, 1], y)
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")
plt.legend(["Class 0", "Class 1", "Class 2"])
图 2-19:包含 3 个类别的二维玩具数据集
现在,在这个数据集上训练一个 LinearSVC 分类器:
In[48]:
linear_svm = LinearSVC().fit(X, y)
print("Coefficient shape: ", linear_svm.coef_.shape)
print("Intercept shape: ", linear_svm.intercept_.shape)
Out[48]:
Coefficient shape: (3, 2)
Intercept shape: (3,)
我们看到,coef_ 的形状是 (3, 2),说明 coef_ 每行包含三个类别之一的系数向量,每列
包含某个特征(这个数据集有
2
个特征)对应的系数值。现在 intercept_ 是一维数组,保
存每个类别的截距。
我们将这
3
个二类分类器给出的直线可视化(图
2-20
):
In[49]:
mglearn.discrete_scatter(X[:, 0], X[:, 1], y)
line = np.linspace(-15, 15)
for coef, intercept, color in zip(linear_svm.coef_, ...