2024-04-29 05:55:50 发布
网友
featuretools文档在其第一句话中声明:
“Featuretools是一个执行自动化功能工程的框架。它擅长将时间和关系数据集转换为用于机器学习的特征矩阵。”
这似乎意味着dataset必须有一个datetime列。我只想确认一下事实是这样。例如,我不能在“iris”数据集上使用它来生成新的特征?如果数据集不需要时间变量,我将如何使用它在“iris”数据集上生成特征。如蒙答复,我将不胜感激。谢谢。在
Featuretools适用于带有或没有日期时间的关系数据集,为了回答您的问题,Featuretools可以为没有日期时间的单个表创建功能。对于iris数据集,只有一个表,没有要规范化的直接特征(从现有表生成一个新表),因此您将使用转换原语来生成新的特征。在
EntitySet
entity
transform
下面是一个完整的工作示例:
from sklearn.datasets import load_iris import pandas as pd import featuretools as ft # Load data and put into dataframe iris = load_iris() df = pd.DataFrame(iris.data, columns = iris.feature_names) df['species'] = iris.target df['species'] = df['species'].map({0: 'setosa', 1: 'versicolor', 2: 'virginica'}) # Make an entityset and add the entity es = ft.EntitySet(id = 'iris') es.entity_from_dataframe(entity_id = 'data', dataframe = df, make_index = True, index = 'index') # Run deep feature synthesis with transformation primitives feature_matrix, feature_defs = ft.dfs(entityset = es, target_entity = 'data', trans_primitives = ['add_numeric', 'multiply_numeric']) feature_matrix.head()
特征矩阵的前五行:
有关原语的更多信息,请参见here,有关所有变换原语的列表,请参见here。在
Featuretools最适用于具有多个表的关系数据集,但也可以很好地用于单个表。有several demos从一个表工作,其中一个实体被规范化,以便创建多个表。taxi trip duration项目就是这种方法的一个很好的例子。在
在iris数据集中,只有4个数字特征——假设你是在预测物种——而且这些特征不能直接产生你可以标准化的数值。但是,您可以将一种集群技术(如KMeans集群)应用于数值特征,然后根据集群分配创建一个实体。predict remaining useful life项目有一个这种技术的例子。在
Featuretools适用于带有或没有日期时间的关系数据集,为了回答您的问题,Featuretools可以为没有日期时间的单个表创建功能。对于iris数据集,只有一个表,没有要规范化的直接特征(从现有表生成一个新表),因此您将使用转换原语来生成新的特征。在
EntitySet
entity
transform
原语运行深度特征合成。在下面是一个完整的工作示例:
特征矩阵的前五行:
^{pr2}$有关原语的更多信息,请参见here,有关所有变换原语的列表,请参见here。在
Featuretools最适用于具有多个表的关系数据集,但也可以很好地用于单个表。有several demos从一个表工作,其中一个实体被规范化,以便创建多个表。taxi trip duration项目就是这种方法的一个很好的例子。在
在iris数据集中,只有4个数字特征——假设你是在预测物种——而且这些特征不能直接产生你可以标准化的数值。但是,您可以将一种集群技术(如KMeans集群)应用于数值特征,然后根据集群分配创建一个实体。predict remaining useful life项目有一个这种技术的例子。在
相关问题 更多 >
编程相关推荐