﻿1
00:00:18,740 --> 00:00:22,890
大家好！上一节课，我们学习了如何在Weka中使用J48分类器。

2
00:00:22,890 --> 00:00:27,020
这次课，我们将了解Weka的另一个主要功能：

3
00:00:27,020 --> 00:00:28,550
过滤器。

4
00:00:28,550 --> 00:00:31,650
这次课旨在提高大家在进行数据挖掘时，

5
00:00:31,650 --> 00:00:34,390
对深入了解数据，

6
00:00:34,390 --> 00:00:38,339
和在使用分类器之前预处理

7
00:00:38,339 --> 00:00:41,230
或过滤数据的重要性的认识。.

8
00:00:42,500 --> 00:00:47,450
我们来使用过滤器从天气数据中删除一个属性。

9
00:00:48,540 --> 00:00:53,600
打开Weka Explorer 界面。

10
00:00:53,600 --> 00:00:56,630
载入天气数据。

11
00:00:56,630 --> 00:00:57,970
就是这个。

12
00:00:57,970 --> 00:01:00,650
接下来，删除

13
00:01:00,650 --> 00:01:02,180
属性湿度（humidity）。

14
00:01:05,040 --> 00:01:07,010
湿度的序号是3。

15
00:01:07,010 --> 00:01:11,310
我们可以点击“Choose”按钮打开过滤器列表，就像我们之前

16
00:01:11,310 --> 00:01:13,110
在分类器面板选择分类器一样。

17
00:01:13,110 --> 00:01:16,370
点击“Choose”，选择过滤器。

18
00:01:16,370 --> 00:01:19,190
这里有很多种不同的过滤器：

19
00:01:19,190 --> 00:01:23,040
Allfilter 和 MultiFilter 用于合并使用多种过滤器。还有监督和

20
00:01:23,040 --> 00:01:27,470
无监督过滤器。监督过滤器在过滤时会

21
00:01:27,470 --> 00:01:28,810
使用类的值。

22
00:01:28,810 --> 00:01:32,450
它们不如不使用类值的无监督过滤器更为广泛应用。

23
00:01:32,450 --> 00:01:36,400
 这些是属性和实例过滤器。 我们要删除一个属性，

24
00:01:36,400 --> 00:01:39,520
因此要寻找一个属性过滤器。

25
00:01:39,520 --> 00:01:42,500
Weka提供许多种过滤器，你得学会如何找到

26
00:01:42,500 --> 00:01:44,470
想要的过滤器。

27
00:01:44,470 --> 00:01:47,030
我要删除一个属性，

28
00:01:49,560 --> 00:01:52,270
点这里，Remove。

29
00:01:52,270 --> 00:01:53,170
象之前

30
00:01:53,170 --> 00:01:57,160
配置分类器J48一样，我们可以单击这里，

31
00:01:57,160 --> 00:01:59,070
我单击这里来

32
00:01:59,070 --> 00:01:59,880
配置过滤器

33
00:01:59,880 --> 00:02:04,670
这是一个可以从数据集删除一个范围属性的过滤器。

34
00:02:04,670 --> 00:02:08,060
可以在这里输入要删除的属性的序号范围。

35
00:02:08,060 --> 00:02:11,460
我只想删除一个属性，要删除的属性序号是3。

36
00:02:13,490 --> 00:02:18,270
我也可以颠倒设定，删除除属性3以外的所有属性，

37
00:02:18,270 --> 00:02:21,000
但是现在我不想那么做。点击“OK”,

38
00:02:21,000 --> 00:02:23,050
单击“Apply”之后。

39
00:02:23,050 --> 00:02:27,500
看着湿度属性消失。任何事都不会发生直到你单击Apply。

40
00:02:27,500 --> 00:02:28,950
我已经点击了Apply，

41
00:02:28,950 --> 00:02:33,990
现在我们看到，湿度属性已经被删除了。

42
00:02:33,990 --> 00:02:39,530
幸运的是，通过单击“Undo”,我可以撤消刚才的操作，恢复湿度属性。

43
00:02:39,530 --> 00:02:41,300
这就是如何删除一个属性。

44
00:02:41,300 --> 00:02:44,370
实际上，我们有更简单的删除属性的方法。

45
00:02:44,370 --> 00:02:45,870
我们根本不需要使用一个过滤器。

46
00:02:45,870 --> 00:02:48,210
如果想删除某个属性，
                   
47
00:02:48,210 --> 00:02:50,900
只需要在这里选择它，并且单击面板底部的Remove按钮，

48
00:02:50,900 --> 00:02:53,580
会得到一样的结果。

49
00:02:53,580 --> 00:02:54,740
非常抱歉。.

50
00:02:54,740 --> 00:02:57,890
但是过滤器是十分有用的而且可以做比这更加

51
00:02:57,890 --> 00:02:59,860
复杂的事情。

52
00:02:59,860 --> 00:03:02,540
让我们看下个例子。试想这次不删除

53
00:03:02,540 --> 00:03:08,910
某个属性, 而是删除所有湿度值为high的实例。

54
00:03:08,910 --> 00:03:13,520
也就是，第三个属性的第一个值。数据集中的7个实例

55
00:03:13,520 --> 00:03:15,840
将被删除。数据集一共有

56
00:03:15,840 --> 00:03:17,950
14个实例，所以我们

57
00:03:17,950 --> 00:03:19,800
还剩下只包含7个实例

58
00:03:19,800 --> 00:03:20,580
的数据集。

59
00:03:23,340 --> 00:03:27,890
我们来找一个合适的过滤器。我们想

60
00:03:27,890 --> 00:03:31,890
删除实例，所以要选择一个实例过滤器。

61
00:03:31,890 --> 00:03:34,650
看看这里，

62
00:03:34,650 --> 00:03:37,740
有没有一个合适的过滤器。

63
00:03:37,740 --> 00:03:40,500
找到RemoveWithValues

64
00:03:40,500 --> 00:03:44,270
过滤器。

65
00:03:44,270 --> 00:03:47,200
单击打开配置面板，

66
00:03:47,200 --> 00:03:51,890
单击More获取相关介绍。这里写着

67
00:03:51,890 --> 00:03:55,740
“滤除具有特定属性值的实例”，

68
00:03:55,740 --> 00:03:57,920
正是我们想要的。

69
00:03:57,920 --> 00:04:01,890
我们现在设置属性序号，我们想要的是第三个

70
00:04:01,890 --> 00:04:03,710
属性，湿度，

71
00:04:03,710 --> 00:04:07,590
的第一个值。我们可以删除一系列不同的的值。我们现在来删除

72
00:04:07,590 --> 00:04:09,040
第一个值。

73
00:04:09,040 --> 00:04:10,490
现在我们已经配置好了。

74
00:04:10,490 --> 00:04:13,160
需要Applay过滤器。

75
00:04:13,160 --> 00:04:17,340
当我点击Apply，看看会有什么变化。

76
00:04:17,340 --> 00:04:20,730
我们保留了属性湿度，但是没有了湿度值为high

77
00:04:20,730 --> 00:04:24,290
的实例。 实际上，数据集被减少到

78
00:04:24,290 --> 00:04:27,940
七个实例。

79
00:04:27,940 --> 00:04:31,430
完成过滤处理后，你可以保存过滤结果。如果需要，我们可以保存

80
00:04:31,430 --> 00:04:33,390
过滤后的数据集，但是

81
00:04:33,390 --> 00:04:34,980
我现在不想保存。

82
00:04:34,980 --> 00:04:38,480
我要撤消过滤操作。

83
00:04:40,100 --> 00:04:43,320
我们已经删除了湿度值为high的实例。

84
00:04:43,320 --> 00:04:45,680
在选择过滤器的时候，我们必须考虑

85
00:04:45,680 --> 00:04:49,600
是用监督过滤器还是无监督过滤器，

86
00:04:49,600 --> 00:04:52,640
用属性过滤器还是实例过滤器。

87
00:04:52,640 --> 00:04:54,080
之后，就是用你的常识

88
00:04:54,080 --> 00:05:00,340
在过滤器列表中找到你想要的过滤器。

89
00:05:00,340 --> 00:05:03,450
有时候，通过过滤数据你可以得到较好的分类。

90
00:05:03,450 --> 00:05:04,970
举个非常简单例子。

91
00:05:04,970 --> 00:05:07,730
我们下面载入之前见过的

92
00:05:07,730 --> 00:05:10,080
玻璃数据集。

93
00:05:10,080 --> 00:05:14,610
这是玻璃数据集。我打算使用之前用过的J48分类器。

94
00:05:15,580 --> 00:05:18,650
J48是一个树分类器。

95
00:05:21,370 --> 00:05:24,010
我运行一下，

96
00:05:24,010 --> 00:05:27,190
得到的准确度是66.8%。

97
00:05:30,230 --> 00:05:33,360
让我们删除属性铁（Fe），

98
00:05:35,150 --> 00:05:38,700
这里，铁。删除这个属性，

99
00:05:38,700 --> 00:05:40,570
得到一个更小的数据集。

100
00:05:40,570 --> 00:05:45,670
再次运行J48。

101
00:05:45,670 --> 00:05:47,730
这次我们得到的准确度是

102
00:05:47,730 --> 00:05:51,480
67.3%。所以，通过删除属性铁，

103
00:05:51,480 --> 00:05:54,370
我们提高了分类的准确度。

104
00:05:54,370 --> 00:05:58,210
有时候，效果会十分明显。实际上，我将删除折射率和镁(Mg)之外的

105
00:05:58,210 --> 00:06:01,430
所有属性。

106
00:06:01,430 --> 00:06:08,430
删除所有的其他属性。

107
00:06:09,290 --> 00:06:13,140
得到一个只包含两个属性的小数据集。

108
00:06:13,140 --> 00:06:19,020
再次运行J48。

109
00:06:19,020 --> 00:06:21,130
现在，我们得到了一个更好的结果，

110
00:06:21,130 --> 00:06:24,210
68.7%的准确度。

111
00:06:24,210 --> 00:06:28,480
右击这里，创建可视化决策树模型，

112
00:06:28,480 --> 00:06:31,990
选择可视化决策树。

113
00:06:31,990 --> 00:06:35,790
我们来看一下，它代表什么。小的决策树更加


114
00:06:35,790 --> 00:06:36,640
容易理解。

115
00:06:37,960 --> 00:06:39,310
这是应用过滤器的

116
00:06:39,310 --> 00:06:44,580
一个很好的实例。

117
00:06:44,580 --> 00:06:46,300
以上是这节课的主要内容。

118
00:06:46,300 --> 00:06:48,510
我们了解了Weka中的过滤器，

119
00:06:48,510 --> 00:06:51,850
监督和无监督过滤器，属性和实例过滤器；

120
00:06:53,230 --> 00:06:55,450
学习了如何找到正确的过滤器。

121
00:06:55,450 --> 00:06:58,840
明智而审慎地使用过滤器可以

122
00:06:58,840 --> 00:07:02,820
提高分类的准确度并且使分类结果更加清晰。

123
00:07:02,820 --> 00:07:05,680
如果你有兴趣了解更多内容，可以阅读课本

124
00:07:05,680 --> 00:07:10,040
的11.2节，加载和过滤文件，

125
00:07:10,040 --> 00:07:14,080
然后去做本节课的课后练习。

126
00:07:14,080 --> 00:07:16,600
下次见！

