﻿1
00:00:18,500 --> 00:00:23,340
大家好！昨天晚上，我看了一个非常不错的电影《了不起的盖茨比》。

2
00:00:23,340 --> 00:00:30,340
我希望你们不要介意我喝完我的马丁尼酒。无论如何，这节课我还要再强调

3
00:00:32,710 --> 00:00:39,280
接近你数据的必要性，全面地了解它。

4
00:00:39,280 --> 00:00:46,280
这是第一部分的最后一节课，我们将学习如何建立数据的可视化模型。

5
00:00:46,410 --> 00:00:50,449
这就是我们接下来要做的。我们使用可视化面板。我要载入

6
00:00:50,449 --> 00:00:57,449
iris数据集。你在之前的练习中已经使用过iris数据集了。

7
00:00:57,739 --> 00:01:04,739
我们选择载入它是因为这 是一个带有数值属性的数据集，有四个数值属性：花萼长、花萼宽、

8
00:01:06,210 --> 00:01:13,210
花瓣长、花瓣宽；同时，包含三种鸢尾花：鸢尾花setosa, 鸢尾花versicolor

9
00:01:15,090 --> 00:01:21,390
和鸢尾花virginica。让我们切换到可视化面板，建立

10
00:01:21,390 --> 00:01:28,390
这个数据集的可视化模型。这有一个二维的五乘五的矩阵图。

11
00:01:31,470 --> 00:01:40,600
选择其中之一，我们看x轴为花萼宽，y轴为花瓣宽的散点图。

12
00:01:42,150 --> 00:01:49,150
这是一个散点图。不同的颜色代表三种不同的鸢尾花种类。我们也可以改变

13
00:01:49,420 --> 00:01:52,920
颜色。如果不喜欢某种颜色，可以选择其他的颜色，不过，现在

14
00:01:52,920 --> 00:01:59,040
我不打算这么做。单击一个单独的数据点，可以查看这个点的详细信息。这是

15
00:01:59,040 --> 00:02:06,040
第86个实例，花萼长等于6，花萼宽等于3.4, 等等。

16
00:02:07,450 --> 00:02:14,450
这是一个色彩变换的数据点，这就是为什么这个点是红色的。我们来看单独的实例。

17
00:02:15,790 --> 00:02:20,620
我们可以在下拉菜单中选择不同的x轴和y轴。更简单的方法是，单击

18
00:02:20,620 --> 00:02:25,840
这些代表不同属性的小横条。左键单击这里，

19
00:02:25,840 --> 00:02:32,840
x轴就会改变为花萼长。单击这里，x轴就会改变为花萼宽。单击这里，x轴

20
00:02:33,610 --> 00:02:40,610
就会改变为花瓣长。右键单击这里，y轴就会改变为花萼长。

21
00:02:41,590 --> 00:02:55,890
这样，我们就可以快速地浏览这些不同的图。这是一条可以调节抖动（jitter）的滑块。

22
00:02:56,700 --> 00:03:01,390
有时候，多个点叠加在同一个位置，通过抖动（jitter）可以给x轴和y轴

23
00:03:01,390 --> 00:03:06,900
增加点随机性。增加了抖动之后，深色的点代表了多个实例。

24
00:03:06,900 --> 00:03:14,320
如果点击其中一个，我们可以看到这个点代表了三个单独的实例。

25
00:03:14,320 --> 00:03:20,020
这三个都是鸢尾花setosa的实例，并且它们有相同的花瓣长度，

26
00:03:20,020 --> 00:03:21,990
和相同的花萼宽度。

27
00:03:23,520 --> 00:03:34,210
它们都标绘在这个散点图上。这三个实例的花萼宽和花瓣长

28
00:03:29,930 --> 00:03:34,210
分别是3.0和1.4。

29
00:03:36,220 --> 00:03:43,220
点击另外一个点。这个点包含两个实例，它们的花萼宽和花瓣长很接近，

30
00:03:47,560 --> 00:03:49,590
都是鸢尾花versicolor。

31
00:03:49,590 --> 00:03:54,190
抖动（jitter）滑块可以帮助你区分实际位置特别近的点。

32
00:03:54,190 --> 00:04:01,190
另外，我们可以选择数据集的一部分。我们来选择rectangle。

33
00:04:01,690 --> 00:04:08,690
通过（在散点图上）画一个矩形，我们可以选定这些点。如果我提交这个矩形，

34
00:04:09,450 --> 00:04:14,110
那么所有这个矩形之外的点都不再出现，图上只显示选定的点。

35
00:04:14,110 --> 00:04:21,110
当然，比例经过了重新调整。我们已经提交了矩形，

36
00:04:21,260 --> 00:04:26,450
现在图上只剩下红色和绿色的点了。 如果需要的话，

37
00:04:26,450 --> 00:04:33,050
我们可以保存这个为不同的数据集。我们也可以复原，重新去选。

38
00:04:33,050 --> 00:04:37,550
选择一些蓝色、红色和绿色的点，

39
00:04:37,550 --> 00:04:43,360
看看会怎样。选择矩形范围并且保存为新的数据集

40
00:04:43,360 --> 00:04:50,360
是清理数据中异常数据的一个方法。

41
00:04:50,480 --> 00:04:57,480
这就是可视化数据模型。那么，可视化分类结果是什么样呢？

42
00:04:58,820 --> 00:05:05,820
让我们退出这个可视化面板，回到预处理面板，

43
00:05:07,010 --> 00:05:14,010
我将试一下分类器， J48。 我们可以在（分类器列表的）树形分类器下找到它。

44
00:05:14,430 --> 00:05:21,430
运行J48。然后如果我们右击在日志区的这条记录，可以查看

45
00:05:25,920 --> 00:05:32,920
分类器的误差。 这里我们得到实际分类和预测分类对照图。这些方块

46
00:05:33,770 --> 00:05:39,300
代表误差。如果我们单击横条之一，就可以改变坐标轴。

47
00:05:39,300 --> 00:05:45,610
我可以改变x轴和y轴， 但我还是设回为class和predictedclass

48
00:05:45,610 --> 00:05:55,710
如果我们单击其中的一个方块，就可以看到误差。

49
00:05:57,210 --> 00:06:04,210
这里有两个实例，预测分类为鸢尾花versicolor，实际分类为鸢尾花virginica。

50
00:06:04,820 --> 00:06:10,550
我们可以在混淆矩阵看到这两个实例。实际分类为鸢尾花virginica，但是

51
00:06:10,550 --> 00:06:17,550
预测分类为鸢尾花versicolor，也就是分类“b”。混淆矩阵中的这两条记录代表了

52
00:06:17,550 --> 00:06:28,680
这两个实例。如果我们看一下另外一个点，比如这个。这里我们得到了一个实例，

53
00:06:28,680 --> 00:06:41,290
这个实例的实际分类是鸢尾花setosa，预测分类是鸢尾花versicolor。我们可以通过看这个图，找到

54
00:06:41,290 --> 00:06:48,290
实际发生的错误分类，也就是混淆矩阵中的误差。

55
00:06:51,150 --> 00:06:56,710
深入了解你的数据，并且建立可视化模型。你可以做各种各样的事情。

56
00:06:56,710 --> 00:07:01,150
你可以清理你的数据，删除异常数据。你可以观察分类误差。例如，

57
00:07:01,150 --> 00:07:06,390
有一种过滤器可以添加类为一个新的属性。

58
00:07:06,390 --> 00:07:12,150
让我们去看看。找到这个过滤器，添加

59
00:07:12,150 --> 00:07:19,150
一个属性。这是个监督过滤器，因为它用到了类。添加一个属性，用过滤器AddClassfication。

60
00:07:20,110 --> 00:07:25,890
这里，我们打开配置面板，机器学习方案，

61
00:07:25,890 --> 00:07:34,290
选择J48，将 outputClassification设置为True。

62
00:07:34,290 --> 00:07:39,300
完成配置。现在应用这个过滤器。它将添加一个新的属性。完成了。

63
00:07:39,460 --> 00:07:46,010
这个新增的属性是根据J48分类的结果。Weka的功能非常强大，你可以

64
00:07:46,010 --> 00:07:52,510
利用分类器和过滤器做各种各样的事情。这节课到此为止。

65
00:07:52,850 --> 00:07:58,930
书里面有一节关于可视化的内容。请大家完成本课课后练习。

66
00:07:58,930 --> 00:08:05,930
我们下节课见。再见！

