目录
对于多分类任务,其实就是多个二分类任务。
先分黑色(标签为1)和其他(标签为0),在这个基础上再去分红色和绿色,此时就将红色标签设置为1,其他设置为0,绿色同样的操作,做了三个二分类任务就完成了这个多分类。
1.导入数据
样本集为150个样本,4个特征和三个类别(class),以下是类别为SETOSA的部分样本
2.定义多分类模型
x_train为特征数量,y_train为标签数量。迭代次数设置为1000,实例化logistic_regression逻辑回归函数,train函数得到最后的theta值和所有损失值。分别展示三个分类的损失值变化情况
三个分类的损失值变化情况
3.准备测试数据
将预测值和全部样本比较,得到准确率为96%
通过np.linspace(生成等间距的数字序列)新建150个测试数据(不是样本)
计算预测值,如果预测值等于某个类别,那么将这个类别中的和预测值一样的位置设置为1
4.绘制决策边界
这里其实有多条线(不止两条),只是重合在一起了
对于蓝色点:蓝色为1,其他为0,它的决策边界如下
对于橙色点:橙色为1,其他为0,决策边界如下
绿色点同理,也就是上面那一条线。这里体现了多分类任务其实就是多个二分类任务。