【火炉炼AI】机器学习009-用逻辑回归分类器解决多分类问题
(本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )
前面的【火炉炼AI】机器学习008已经讲解了用简单线性分类器解决二分类问题,但是对于多分类问题,我们该怎么办了?
此处介绍一种用于解决多分类问题的分类器:逻辑回归。虽然名称中含有回归二字,但逻辑回归不仅可以用来做回归分析,也可以用来做分类问题。逻辑回归是机器学习领域比较常用的算法,用于估计样本所属类别的可能性,关于逻辑回归的更深层次的公式推导,可以参看https://blog.csdn.net/devotion987/article/details/78343834。
1. 准备数据集
此处我们自己构建了一些简单的数据样本作为数据集,首先我们要分析该数据集,做到对数据集的特性了然如胸。
# 首先准备数据集
# 特征向量
X =np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2],
[1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]]) # 自定义的数据集
# 标记
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2]) # 三个类别
# 按照类别将数据点画到散点图中
class_0=np.array([feature for (feature,label) in zip(X,y) if label==0])
# print(class_0) # 确保没有问题
class_1=np.array([f