我正在尝试遵循名为:Predicting a customer's next purchase using automatic feature engineering
有关 Featuretools 的更多信息,请参见此处:https ://docs.featuretools.com/index.html
数据可以在这里获取:https ://www.instacart.com/datasets/grocery-shopping-2017
当我尝试运行教程(jupyter notebook)中包含的命令时,我遇到了这个异常:
import featuretools as ft
from dask import bag
from dask.diagnostics import ProgressBar
import pandas as pd
import utils
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
import os
ft.__version__
label_times = utils.make_labels(es=es,
product_name = "Banana",
cutoff_time = pd.Timestamp('March 15, 2015'),
prediction_window = ft.Timedelta("4 weeks"),
training_window = ft.Timedelta("60 days"))
AttributeError: module 'utils' has no attribute 'make_labels'
es 对象是功能工具中的“EntitySet”类对象。
我使用以下命令创建了 es:
es = es.entity_from_dataframe(entity_id = 'orders',
dataframe = orders,
index = 'order_id',
variable_types = {
'user_id' : ft.variable_types.Categorical,
'eval_set' : ft.variable_types.Categorical,
'order_number' : ft.variable_types.Numeric,
'order_dow' : ft.variable_types.Numeric,
'order_hour_of_day' : ft.variable_types.Numeric,
'days_since_prior_order' : ft.variable_types.Numeric
})
es = es.entity_from_dataframe(entity_id = 'products',
dataframe = products,
index = 'product_id',
variable_types = {
'product_name' : ft.variable_types.Categorical,
'aisle_id' : ft.variable_types.Categorical,
'department_id' : ft.variable_types.Categorical
})
es = es.entity_from_dataframe(entity_id = 'departments',
dataframe = departments,
index = 'department_id',
variable_types = {
'department' : ft.variable_types.Categorical
})
es = es.entity_from_dataframe(entity_id = 'aisles',
dataframe = aisles,
index = 'aisle_id',
variable_types = {
'aisle' : ft.variable_types.Categorical
})