问题标签 [feature-engineering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
28 浏览

c++ - 在哪里放置我的功能?进入我的母语 Gui 还是进入我的主持人?

我有以下场景:我在 Gui 层中有 Button 和 PreviewButton,它们有一个名为 BasedButton 的公共部分。Button只知道IButtonPresenter,ButtonPresenter的接口。按钮应该没有逻辑,演示者可以包含一些逻辑。问题是 PreviewButton 是一个非常简单的类,它不需要任何演示者。除了一件事: hasLed() 函数根据按钮类型(简单的开关情况)确定 Button 和 PreviewButton 是否有 LED。这个常见的 hasLed() 函数应该在哪里? 我的想法:

  1. PreviewButton 也应该有presenter,hasLed() 函数应该在Button 和PreviewButton 的presenter 的共同部分。问题:我应该只为这一个功能介绍演示者,这似乎是过度设计。

  2. 把它放在这个逻辑:hasLed() 到 BasedButton(在 Button 和 PreviewButton 的共同部分)。问题:我试图避免在我的母语 Gui 中加入任何逻辑。

  3. 创建一些命名空间(或使用按钮类型枚举命名空间!)并将这个简单的函数作为内联函数放入其中。问题:“逻辑”被放置在一个“奇怪”而不是预期的类中。

  4. 将 hasLed() 函数放入我的演示者层中的一个管理器类中。优点:所有原生 Gui 类都可以访问管理器接口。并且代码保持通用(没有代码重复)。缺点:我的经理有这样的功能似乎有点奇怪。

  5. 其他想法?

也许现在我会选择第四个...

0 投票
1 回答
35 浏览

feature-engineering - 使用 Deep Feature Synthesis 时如何记录 FeatureTools 派生的常量

当 FeatureTools 执行深度特征合成时,有没有办法记录它导出的常量值?

例如,我有很多这样的行: | loan_id | loan_term | |---------|:---------:| | a | 12 | | ... | ... | | z | 18 |

DeepFeatureSynthesis 工程师features包括<Feature: loan_term.COUNT(loan)> | loan | loan_term | loan_term.COUNT(loan) | |---------|:---------:|:---------------------:| | a | 12 | 2000 | | ... | ... | ... | | z | 18 | 800 |

我希望能够重新设计单个实体的功能,以便单个贷款期限12具有 a loan_term.COUNT(loan)of2000而无需重新计算所有loan_terms。*

我可以通过将实体与训练数据重新组合来做到这一点 ft.calculate_feature_matrix(features, my_entity_set_with_one_new_entity_added),但这效率低下且速度慢。

有没有办法指示 FeatureTools 记录在深度特征合成过程中发现的常量,并将它们用于未来的特征生成?


*现在将单个新贷款实体包括在计算中对我来说并不重要。所以12不必成为2001

0 投票
1 回答
788 浏览

python - 没有为我在功能工具中设置的实体集生成功能

我在尝试创建实体集之间的关系时遇到了一个问题(使用我自己的数据)。没有错误,但它只是没有为我的一个实体(“prods”实体)创建功能,尽管一切都应该连接得很好。

我不能分享我的数据,但我用一些模拟数据创建了一个最小的例子:

创建模拟数据

定义实体集

创建关系

生成特征

输出:

这也应该向我展示产品变量的功能,但事实并非如此。

所以我希望 SUM 将每个客户的产品价格相加。相反,什么都没有。

最终,我想为有趣的值创建特征。但是由于没有显示产品变量,因此添加有趣的值也不起作用。

输出:

希望有人可以提供帮助:)

0 投票
2 回答
737 浏览

python - 如何在python的数据框中快速生成二次数值特征?

使用 python 和标准库,我想快速生成机器学习模型(分类器或回归器)的交互功能。因为手工进行特征工程可能很耗时,所以我正在寻找可以半自动化某些过程的标准 python 库和方法。例如,要生成用于分析的二次特征,我有以下代码:

我想简化这段代码,因为这种特征工程应该更加标准化和快速部署。它也不足,因为它需要更多的代码行来从特征列的加法、减法或除法中生成派生特征。

如何简化上面的代码?是否有标准的 Python 方法或库可以更有效地生成用于构建模型的派生特征?

0 投票
1 回答
231 浏览

r - 这段代码在 R 中是什么意思?full$Title <- gsub('(.*, )|(\\..*)', '', full$Name)

0 投票
1 回答
86 浏览

r - 如何从非数字变量创建多项式特征?

我想创建一个多项式特征(GarageGrade),通过乘法将车库质量(GarageQual)与车库条件(GarageCond)结合起来。GarageQual 和 GarageCond 的值以字符形式给出:Po(差)、Fa(一般)、TA(典型)、Gd(良好)、Ex(优秀)。

返回:chr [1:2919] “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “Fa” “Gd” “TA” ...

返回:chr [1:2919] “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” ...

首先,我考虑了它们:

返回:因子 w/ 5 个级别 "Ex","Fa","Gd",..: 5 5 5 5 5 5 5 5 2 3 ..

返回: > 因子 w/ 5 个级别 "Ex","Fa","Gd",..: 5 5 5 5 5 5 5 5 5 ...

现在我想替换因子级别名称的向量

带有数字向量

所以这些变量可以相乘以创建一个组合特征,如下所示:

实现结合 GarageQual 和 GarageCond 的综合 GarageGradevariable 最终目标的最佳方法是什么?我是否应该从一开始就考虑级别,还是应该直接用数字替换字符?如果是这样,我该怎么做?

0 投票
2 回答
73 浏览

r - 如何使用 apply 创建多个多项式变量?

我有几个变量,

每列由相同的五个 chr 值组成:

我想数字化

为了乘以创建新变量,如下所示:

有哪些方法可以实现这一目标?

注意:我是编程的初学者,所以夸大其词是值得赞赏的。

例子:

价值等价物将是 (6, 4, 6, 4, 6, 4)

价值等价物将是 (4, 4, 4, 4, 4, 4)

0 投票
1 回答
243 浏览

machine-learning - one-hot 编码是否会导致特征不平衡的问题?

我们知道,在数据挖掘中,我们经常需要 one-hot encoding 来对分类特征进行编码,因此,一个分类特征将被编码为几个“0/1”特征。

有一个特殊情况让我感到困惑:现在我的数据集中有一个分类特征和一个数字特征。我将分类特征编码为 300 个新的“0/1”特征,然后使用 MinMaxScaler 对数字特征进行归一化,所以我所有的特征值在0到1的范围内。但可疑的现象是分类特征与数值特征的比例似乎从1:1变为300:1。

我的编码方法正确吗?这让我对one-hot编码产生了怀疑,我认为这可能会导致特征不平衡的问题。

谁能告诉我真相?任何词将不胜感激!谢谢!!!

0 投票
1 回答
616 浏览

python - 机器学习:当多行属于同一个 ID 时,为分类构建特征

这是我的问题: 例如,我有一个表包含人们一个月内的行为信息(多个特征),每个人都有唯一的 ID 和唯一的标签(0 和 1)。我想要做的是使用这些功能来预测客户是否属于组 0 / 1。

但是,问题是每个ID的特征被多次收集和记录,这意味着我有多个行属于同一个ID。那么如何构建我的数据并构建一个特征矩阵,其中一个 ID 对应于一行特征和一个标签?

特征

标签

示例:两个数据框

有没有办法可以尽可能的把这些多行特征考虑进去,并创建一个一一对应的特征矩阵呢?

到目前为止我的个人想法:首先,计算每个 ID 显示为新特征的时间。其次,将每个 ID 聚类为两个簇,并使用大多数 ID 的簇中心作为该 ID 的特征数组。

任何人都可以帮助我吗?非常感谢!

0 投票
2 回答
1064 浏览

python - 如何获取熊猫数据框列在给定月份的天数?

尝试为 ML 算法编码循环特征,其中时间戳特征作为特征非常重要。

我想将 day_in_month (cyclic_df 的'day' 列)转换为循环变量,以便一个月的第一天在前一天的最后一天之后。所以 01. 二月 (01.02) 更接近 1 月 31 日 (31.01),因此 2 天之间的差异,如果你只考虑天列,是 1 而不是 30!

问题在于我划分的那 30 个。不是每个月都有 30 天,有些月有 30、31、28 或 29 天。在cyclical_df 的每一行中,我有一列“月”、一列“年”和一列“日”。所以从理论上讲,应该有一个解决方案来读取给定月份的正确天数。如何用正确的变量替换 30(上面代码中的第 5 行和第 6 行),以便它从其他列中读取年份和月份,并替换为正确的值,而不总是 30?

PS:如果有人能告诉我,如果我在每分钟、每小时和每月的时间里做得对的话,那就太好了,也可以在上面的代码中找到。

编辑(评论后):是的,我有一个“年”列。并将这两行更改为:

我收到以下错误: