Feature-Engine
文章平均质量分 87
Feature-Engine
数智笔记
目前从事数据挖掘工作,期望在自己学习总结的同时,也能分享有益的东西给别人,希望有志者能在数据挖掘领域共同进步
展开
-
工具系列:feature-engine介绍_数据转换_Yeo-Johnson变换YeoJohnsonTransformer
YeoJohnsonTransformer()将Yeo-Johnson变换应用于数值变量。可以从获取此笔记本中使用的数据集的版本。原创 2024-01-07 13:10:58 · 370 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据转换_倒数变换ReciprocalTransformer
ReciprocalTransformer()将倒数变换1 / x应用于数值变量。ReciprocalTransformer()仅适用于具有非零值的数值变量。如果变量包含值0,则转换器将引发错误。Dean De Cock(2011)Ames,Iowa:作为学期末回归项目的波士顿住房数据的替代品,统计教育杂志,Vol.19,No. 3此笔记本中使用的数据集版本可以从获取。原创 2024-01-07 13:10:22 · 776 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据转换_幂函数转换PowerTransformer
PowerTransformer() 对数值变量应用幂函数或指数函数变换。PowerTransformer() 仅适用于数值变量。在这个笔记本中使用的数据集版本可以从获取。原创 2024-01-07 13:09:41 · 865 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据转换_对数转换LogTransformer
LogTransformer()将自然对数或以10为底的对数应用于数值变量。自然对数是以e为底的对数。LogTransformer()仅适用于数值非负值。如果变量包含零或负值,则转换器将返回错误。此笔记本中使用的数据集版本可以从获取。原创 2024-01-07 13:08:41 · 816 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据转换_对数转换LogCpTransformer
仅适用于添加常数 C 后的数值非负变量。如果变量在添加常数 C 后包含零或负值,则转换器将返回错误。将变量进行转换,转换公式为 log(x + C),其中 C 是一个正常数。或者,转换器将自动选择和转换所有数值类型的变量。或者传递一个列名列表来找到数据集中的数值变量,如下面的示例所示。它可以应用自然对数或以 10 为底的对数,通过设置参数。最后一件事,为了验证转换后的变量,我们可以访问变换器的。在内部,每个变量的常数都是用公式。来自动找到每个变量的常数 C。我们现在可以可视化转换的结果。原创 2024-01-07 13:07:50 · 326 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据转换_BoxCoxTransformer
BoxCoxTransformer()将BoxCox变换应用于数值变量。其中Y是响应变量,λ是变换参数。λ通常在-5到5之间变化。在变换中,考虑所有λ的值,并选择给定变量的最佳值。可以从获取本笔记本中使用的数据集的版本。原创 2024-01-07 13:06:28 · 766 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_随机样本插补RandomSampleImputer
随机样本插补器从可用数据中提取一个随机样本观测,并用它来替换缺失值。它适用于数值和分类变量。为了控制随机样本的提取,有多种方法可以设置种子并确保或最大化可重现性。在这个笔记本中使用的数据集版本可以从获取。原创 2024-01-06 16:10:17 · 307 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_均值替换缺失MeanMedianImputer
MeanMedianImputer()将缺失数据替换为变量的均值或中位数值。它仅适用于数值变量。在这个笔记本中使用的数据集版本可以从获取。原创 2024-01-06 16:09:20 · 775 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_分布尾部值替换缺失数据EndTailImputer
EndTailImputer()函数通过分布的两个尾部之一的值替换缺失数据。它会自动确定用于插补的值,使用均值加上或减去标准差的因子,或者使用四分位数接近规则。另外,它还可以使用最大值的因子。EndTailImputer()本质上与ArbitraryNumberImputer非常相似,但它会自动选择用于插补的值,而不是让用户预先定义。它仅适用于数值变量。在这个笔记本中使用的数据集版本可以从获取。原创 2024-01-06 16:06:23 · 798 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_分类变量的插补CategoricalImputer
CategoricalImputer执行分类变量的插补。它将缺失值替换为任意标签“Missing”(默认)或用户输入的任何其他标签。或者,它使用最频繁的类别来插补缺失数据。本笔记本中使用的数据集版本可以从获得。原创 2024-01-06 16:05:13 · 900 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_任意值替换NAArbitraryNumberImputer
ArbitraryNumberImputer用一个任意值替换NA。它适用于数值变量。任意值需要由用户定义。在这个笔记本中使用的数据集版本可以从获取。原创 2024-01-06 16:03:35 · 356 阅读 · 0 评论 -
工具系列:feature-engine介绍_数据差值补全_添加缺失指示器AddMissingIndicator
AddMissingIndicator(添加缺失指示器)会添加额外的二进制变量来指示缺失数据。这些二进制变量的取值为1,如果观测值缺失,则为0。AddMissingIndicator会为每个变量添加1个二进制变量。本笔记本中使用的数据集版本可以从获取。原创 2024-01-06 16:02:31 · 891 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_字符相似度编码StringSimilarityEncoder
以字符相似度编码。原创 2024-01-05 13:21:26 · 792 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_CountFrequencyEncoder
CountFrequencyEncoder()将类别替换为每个类别的观测次数或每个类别的观测百分比。例如,在变量color中,如果有10个观测是蓝色,蓝色将被替换为10。或者,如果有10%的观测是蓝色,蓝色将被替换为0.1。The CountFrequencyEncoder()函数用于将类别替换为该类别在训练集中的观测次数或频率。如果我们在encoding_method中选择"count",那么对于变量colour,如果训练集中有10个观测显示颜色为蓝色,蓝色将被替换为10。原创 2024-01-05 13:20:30 · 681 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_PRatio编码
PRatioEncoder()将类别替换为目标=1的概率与目标=0的概率之比。目标概率比由以下公式给出:p(1) / p(0)。目标概率比的对数为:np.log( p(1) / p(0) )原创 2024-01-05 13:19:56 · 855 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_决策树编码DecisionTreeEncoder
DecisionTreeEncoder()使用决策树模型的预测结果对分类变量进行编码。首先,使用OrdinalEncoder()将分类变量编码为整数。这些整数可以任意分配给各个类别,也可以按照每个类别中目标变量的均值进行分配。然后,使用得到的数值变量拟合决策树来预测目标变量。最后,将原始的分类变量值替换为决策树的预测结果。原创 2024-01-05 13:19:17 · 758 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_均值Mean编码
MeanEncoder()将变量的标签替换为该标签的目标平均值。例如,在变量颜色中,如果二进制目标的平均值为0.5,则蓝色将被替换为0.5。The MeanEncoder()函数将每个类别替换为该类别的目标均值。例如,在变量color中,如果蓝色、红色和灰色的目标均值分别为0.5、0.8和0.1,则蓝色被替换为0.5,红色被替换为0.8,灰色被替换为0.1。该编码器只会对分类变量(类型为’object’)进行编码。可以将变量列表作为参数传递。原创 2024-01-05 13:18:27 · 778 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_WOE编码
例如,在变量"colour"中,如果目标=1的均值为0.8,目标=0的均值为0.2,则"blue"将被替换为:np.log(0.8/0.2) = 1.386。The WoERatioEncoder()函数通过证据权重或目标=1的概率与目标=0的概率之比来替换类别。因此,如果woe中的任何变量的p(0) = 0或p(1) = 0,则编码器将返回错误。证据权重由以下公式给出:log( p(1) / p(0) )除数为0是未定义的,log(0)也是未定义的。证据权重的计算公式为:log(P(X=x。原创 2024-01-05 13:17:05 · 842 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_稀有标签Rare Label编码
RareLabelEncoder()将数据集中出现次数较少的标签分组为一个名为“Rare”的新类别。这有助于避免过拟合。参数“tol”表示标签需要具有的观察值百分比,以避免被重新分组为“Rare”标签。参数n_categories表示变量需要具有的最小不同类别数,以便将任何标签重新分组为“Rare”。原创 2024-01-05 13:16:23 · 810 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_Ordinal编码
OrdinalEncoder()会将变量标签替换为数字,从1到不同标签的数量。如果我们选择“任意”,那么编码器将按照标签在变量中出现的顺序分配数字(先到先得)。如果我们选择“有序”,编码器将按照该标签的目标值平均值分配数字。因此,目标平均值较高的标签将获得数字1,而目标平均值最小的标签将获得数字n。函数将类别替换为有序数字(0、1、2、3等)。这些数字可以根据每个类别的目标值的平均值进行排序,也可以任意分配。有序编码:对于变量colour。原创 2024-01-05 09:50:39 · 786 阅读 · 0 评论 -
工具系列:feature-engine介绍_分类编码_One Hot编码
也就是说,如果一个分类变量有2个唯一值,例如颜色 = [‘black’,‘white’],设置参数drop_last_binary=True,将自动为该变量创建只有1个二进制变量,例如color_black。每个二进制变量也被称为虚拟变量。例如,从具有类别’female’和’male’的分类变量"Gender",我们可以生成布尔变量"female",如果该人是女性,则取值为1,否则为0。我们可以将具有超过2个类别的分类变量编码为k个虚拟变量,并同时将仅具有2个类别的分类变量编码为1个虚拟变量。原创 2024-01-05 09:34:45 · 835 阅读 · 0 评论