Python数据可视化之matplotlib精进
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 机器学习中的判别分析示意图

判别分析就是根据训练样本建立判别函数,借助判别函数对给定的新样本数据做出类别归属的分类预测方法,是机器学习中的经典分类预测方法。同样,我们会通过判别函数对给定的一组新样本做出分类归属的决策。因此,将分类归属结果以可视化形式进行展示就显得特别有意义和重要。下面,我们就通过具体代码来讲解判别分析的分类归属预测的可视化方法。

1.代码实现

2.运行结果(见图3-1)

图3-1

3.代码精讲

(1)制造新样本数据sample,样本数据中含有两个影响因素var1和var2。

(2)将判别函数“df=2*var1+var2”的取值与阈值“td=12”进行比较,从而判断每个样本点的分类归属。

注意:

要想将判别结果有效地展示出来,需要使用函数masked_where()进行数据掩饰,进而利用可视化手段将判别后的数据归属有效地展示出来。

函数masked_where()是NumPy包中的ma包的函数,调用方法是numpy.ma.masked_where()。函数masked_where()的调用签名是masked_where(condition,a),其中各参数的含义如下。

● condition:对数组中的数据进行掩饰需要满足的条件。

● a:进行数据掩饰的数组。

因此,当参数condition的条件被满足后,就会将数组中相应元素位置的判断结果是“True”的数据进行掩饰。数组中被掩饰的数据依然保留在数组中,只是以“--”形式展示数组中被掩饰的元素,其他不满足条件的元素还以原始数据形式存储在数组中。

(3)通过调用“ax.scatter(var1,var2,s=cates11*50,marker="s",c=cates11)”和“ax.scatter(var1,var2,s=cates21*50,marker="o",c=cates21)”语句,将进行数据掩饰后的数组分别作为参数s和c的参数值,从而实现新样本sample的判别结果的有效展示。

(4)通过调用实例方法plot()绘制判别函数曲线,同时,调整曲线的透明度。