为什么使用 WEEKDAY、DayOfMonth、YEAR、MonthOfYear 等转换原语创建的新特征被创建为整数,即连续特征?它们不应该是分类特征吗?我的意思是在创建这些功能时,这些列的 dtype 不应该是“object”而不是“int”吗?
问问题
109 次
1 回答
1
分类或有序特征最好存储为整数值。这是因为将数据表示为整数比表示为字符串更有效。例如,[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
要将离散特征编码为机器学习的数字特征,请查看ft.encode_features
.
于 2018-06-26T21:02:42.690 回答