【发布时间】:2018-06-27 05:02:42
【问题描述】:
为什么使用转换原语(如 WEEKDAY、DayOfMonth、YEAR、MonthOfYear 类型的特征创建为整数(即连续特征))创建的新特征?它们不应该是分类特征吗?我的意思是,在创建这些功能时,这些列的 dtype 不应该是“object”而不是“int”吗?
【问题讨论】:
标签: featuretools
为什么使用转换原语(如 WEEKDAY、DayOfMonth、YEAR、MonthOfYear 类型的特征创建为整数(即连续特征))创建的新特征?它们不应该是分类特征吗?我的意思是,在创建这些功能时,这些列的 dtype 不应该是“object”而不是“int”吗?
【问题讨论】:
标签: featuretools
分类或有序特征最好存储为整数值。这是因为将数据表示为整数比表示为字符串更有效。例如,[1, 4, 3, 1] 比 ["January", "April", "March", "January"] 需要的内存要少得多。您可以使用ft.dfs返回的特征定义列表来确定特征的数据类型
import featuretools as ft
es = ft.demo.load_mock_customer(return_entityset=True)
feature_matrix, feature_defs = ft.dfs(entityset=es,
target_entity="customers",
agg_primitives=[],
trans_primitives=["month"])
feature_defs 是功能定义列表
[<Feature: zip_code>, <Feature: MONTH(join_date)>]
我们可以这样获取变量类型
feature_defs[1].variable_type
返回
featuretools.variable_types.variable.Ordinal
如需将离散特征编码为机器学习的数值特征,请查看documentation for ft.encode_features。
【讨论】: