00:01
4.2分箱离散化线性模型与数数据表示的最佳方法不仅取决于数据的语义,还取决于所使用的模型种类。线性模型与基于数的模型,比如决策数、梯度提升数和随机森林是两种成员很多,同时又非常常用的模型,他们在处理不同的特征表示时,就具有非常不同的性质。我们回到第二章用过的未有回归数据集,它只有一个输入特征,下面是线性回归与决策数回归在这个数据集上的对比。
03:37
正如你所知,线性模型只能对线性关系建模,对于单个特征的情况就是直线决策数,可以构建更为复杂的数据模型。但这强烈依赖于数据表示。有一种方法可以让线性模型在连续数据上变得非常强大,就是使用分箱可,也叫离散化及discre。
04:04
将其划分为多个特征,如下所述。我们假设将特征的输入范围在这个例子中是负三到三,划分成固定个数的相符,并比如十个,那么数据点就可以用它所在的箱子来表示。为了确定这一点,我们首先需要定义箱子。在这个例子中,我们在负三和三之间定义十个均匀分布的箱子。我们用。NP.light space函数创建11个元素,从而创建十个箱子及两个连续边界之间的空间。
05:05
这里第一个箱子包含特征取值在负三到负2.4之间的所有数据点,第二个箱子包含特征取值在负2.4到负1.8之间的所有数据点,以此类推。接下来我们记录每个数据点所属的箱子,这可以用派点T函数轻松的计算出来。
06:35
注意到这个函数囊派台。这是对应的函数原型。根据输入数组X的形状创建一个新的整数数组,新数组每个位置上的值表示输入数组X对应位置的值在第几个箱子。一个值只能对应一个箱子,箱子通过参数定义词来指定。参数X一个类似数组对象输入数组。
07:04
并死一个类似数组对象箱子的数组必须是一为的排好序的数组。假设并死的长度为A对任意的I数一,二,一的方A,第二个相子的对应范围可以看一下表,如果并词是顺序排序,那么第个相子对应范围就是对应I减一,一直到B应I。如果be词是降序排序,那么第个相似的对应范围就是be I到be I减一。现在我们还不知道上围的边界怎么取值。看到下一个参数多少类型可选参数默认false相似,对应范围包含上级还是下级。如果be词是升序排序right等于false,那么第二个项对应的范围就是B3减一到B3。前闭后开的区间包含的是下。
08:00
如果并是升序排序right等于two,第二个项目的范围是并I减一到并三前开后闭的区间。包含的是上级。如果并是降序排序right等于false,那么。第二个项目对应范围就是。BI到S减一。前闭后开的区间包含下肢。如果be词是降序排序,Right等于two,第二个相互对应范围就是be I到be词I减一。前开后闭的区间。包含上级。看到例子。输入数组箱子数组都给出来了。结果是怎么来的?首先根据参数对应和参数right right取默认值false,写第几个箱子从一开始数,不是从零开始数,以及对应的区间放在表中。
09:03
第一个箱子对应的区间就是0.0~1.0,前壁后开,第二个箱子1.0~2.5,第三个箱子2.5~4.0,第四个箱子4.0~4.0。然后写出X以及它的值对应这几个箱子放在一张表中。索引为,零,X等于0.2位于区间。0.0~1.0之间。对应第一个箱子X等于6.4。位于区间4.0~4.0。对应第四个箱子。X等于3.0。位于区间2.5~4.0。对应第三个箱子,X等于1.6。
10:00
位于区间1.0~2.5之间。对应第二个箱子。1432就是输出数据。再来看一个例子。和之前一样,首先写第几个相互和对应的区间。负一到零一个区间,零到一一个区间。人物写出X以及其值对应第几个箱子放在一张表中。这个时候看第一个元素二。我们也不知道它既不是第一个箱子,也不是第二个箱子,那么它的第几个箱子?所以我们不能回答X对应的值在第几个箱子,但是结果又是怎么来的呢?不妨对第几个箱子和对应的区间这张表格做一下改动,箱子编号从左到右递增,注意要添加尽可能少的区间,使得X中每个值对应一个唯一的箱子编号。
11:01
换一句话说就是使得区间的交集为空集,区间的并极为实数集二。原本是负一到零和零到一两个区间,现在我添加成了四个区间,负无穷到负一。负一到零,零到一,一到正无穷。接着写出X以及其值对应第几个箱子放在一张表中。写完之后第几个箱子这一行这些数字。从左往右读30333。就是。输出数组。继续回到书上。
12:01
看到书上170页,我们在这里做的是将wave数据集中单个连续输入特征变换为一个分类特征,用于表示数据点所在的箱子想要在这个数据上使用的模型。我们利用。Processing模块的one或扣的将这个理想特征变换为one或编码。one或顶扣的实现的编码与panda.get米相同,但目前它只适用于值为整数的分类变量。
14:40
由于我们指定了十个箱子,所以变换后的X的数据集现在包含十个特征。
15:20
下面我们在one hot编码后的数据上构建新的线性模型和新的决策树模型。
18:30
我们可以发现。线性回归和决策数回归。完全的重合。为什么只能看到决策树回归?因为。我决策不违规。在线性回归之后进行绘制,所以他把线性回归的给覆盖掉。这说明线性回归模型和决策数做出了完全相同的预测。对于每个箱子,二者都预测一个常数值。因为每个箱子内的特征是不变的,所以对于一个箱子内的所有点,任何模型都会预测相同的值。比较对特征进行分箱前后模型学到的内容。
19:16
我们发现线性模型变得更加的灵活,因为现在它对每个箱子具有不同的取值,而角色数模型的灵活性降低了。分相特征对基于数的模型通常不会产生更好的结果,因为这个模型可以学习在任何位置划分数据。从某种意义上来看,决策数可以学习如何分箱,对预测这些数据最为有用。此外,决策数可以同时查看多个特征,而分箱通常针对的是单个特征。不过,线性模型的表现力在数据变换后得到了极大的提高。对于特定的数据集,如果有充分的理由使用线性模型,比如数据集很大,维度很高,但有些特征与输出的关系是非线性的,那么分箱是提高建模能力的一个好方法。
我来说两句