首先我们看一下二分类,预测公式:
这个公式上一篇博文里面的线性回归公式非常相似,但是我们没有返回特征的加权求和,而是为预测设置了阈值(0)。如果函数值小于0,我们就预测类别-1;若函数值大于0,我们就预测类别+1。
最常见的两种线性分类算法是Logistic回归和线性支持向量机(线性SVM)
在这里我们将两个模型应用在forge数据集上,并将线性模型找到的决策边界可视化。
运行代码如下:
from sklearn.linear_model import LogisticRegression
from sklearn.svm import LinearSVC
import mglearn
import matplotlib.pyplot as plt
X,y=mglearn.datasets.make_forge()
fig,axes = plt.subplots(1,2,figsize=(10,3))
for model,ax in zip([LinearSVC(),LogisticRegression()],axes):
clf=model.fit(X,y)
mglearn.plots.plot_2d_separator(clf,X,fill=False,eps=0.5,ax=ax)
mglearn.discrete_scatter(X[:,0],X[:,1],y,ax=ax)
ax.set_title("{}".format(clf.__class__.__name__))
ax.set_xlabel("Feature 0")
ax.set_ylabel("Feature 1")
axes[0].legend()
plt.show()
效果图:
原创文章 25获赞 19访问量 2771
关注
私信
展开阅读全文
作者:会飞的小猪崽儿