Могут ли инструменты функций сохранять список функций непосредственно в s3? - PullRequest
1 голос
/ 02 апреля 2019

Я пытаюсь сохранить список функций, возвращенных из Deep Feature Synthesis непосредственно в S3. Если локально сохраняется, я могу использовать "ft.save_features (features, pathtofile)". Есть ли способ передать URL S3 этому методу?

1 Ответ

0 голосов
/ 03 апреля 2019

Прямо сейчас он может записывать только на локальный диск.Если вы хотите сохранить на S3, а затем загрузить с S3, вы можете добиться этого, записав файлы на диск и с него, например,

import featuretools as ft
import boto

es = ft.demo.load_mock_customer(return_entityset=True)

feature_defs = ft.dfs(entityset=es,
                      target_entity="customers",
                      agg_primitives=["count"],
                      trans_primitives=["month"],
                      max_depth=1,
                      features_only=True)

# save features to disk
saved_features_file = "feature_defs"
ft.save_features(feature_defs, saved_features_file)

# upload to s3
s3_connection = boto.connect_s3()
bucket = s3_connection.get_bucket('featuretools-static')
key = boto.s3.key.Key(bucket, saved_features_file)
key.set_contents_from_filename(saved_features_file)

# download from s3
downloaded_features_file = "feature_defs_downloaded"
key.get_contents_to_filename(downloaded_features_file)
feature_defs_s3 = ft.load_features(downloaded_features_file)

# test to make sure it works
feature_matrix = ft.calculate_feature_matrix(entityset=es, features=feature_defs_s3)
...