Стратегии оценки модели лесного покрова в произвольном порядке - PullRequest
0 голосов
/ 28 марта 2019

Я использую алгоритм случайных рубок леса AWS sagemker для обнаружения аномалий.

import boto3
import sagemaker

containers = {
    'us-west-2': '174872318107.dkr.ecr.us-west-2.amazonaws.com/randomcutforest:latest',
    'us-east-1': '382416733822.dkr.ecr.us-east-1.amazonaws.com/randomcutforest:latest',
    'us-east-2': '404615174143.dkr.ecr.us-east-2.amazonaws.com/randomcutforest:latest',
    'eu-west-1': '438346466558.dkr.ecr.eu-west-1.amazonaws.com/randomcutforest:latest',
    'ap-southeast-1':'475088953585.dkr.ecr.ap-southeast-1.amazonaws.com/randomcutforest:latest'
    }
region_name = boto3.Session().region_name
container = containers[region_name]

session = sagemaker.Session()

rcf = sagemaker.estimator.Estimator(
    container,
    sagemaker.get_execution_role(),
    output_path='s3://{}/{}/output'.format(bucket, prefix),
    train_instance_count=1,
    train_instance_type='ml.c5.xlarge',
    sagemaker_session=session)

rcf.set_hyperparameters(
    num_samples_per_tree=200,
    num_trees=250,
    feature_dim=1,
    eval_metrics =["accuracy", "precision_recall_fscore"])

s3_train_input = sagemaker.session.s3_input(
    s3_train_data,
    distribution='ShardedByS3Key',
    content_type='application/x-recordio-protobuf')

rcf.fit({'train': s3_train_input})

(по ссылке -> https://aws.amazon.com/blogs/machine-learning/use-the-built-in-amazon-sagemaker-random-cut-forest-algorithm-for-anomaly-detection/)

использованный выше код для обучения модели, не нашел способа оценить модель. как получить оценку точности и F после развертывания модели.

1 Ответ

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

Чтобы получить метрики оценки, вам нужно предоставить дополнительный канал, называемый «тест» во время обучения. Тестовый канал должен содержать помеченные данные. Это объясняется в официальной документации, https://docs.aws.amazon.com/sagemaker/latest/dg/randomcutforest.html:

Amazon SageMaker Random Cut Forest поддерживает обучающие и тестовые каналы данных. Дополнительный тестовый канал используется для вычисления меток точности, точности, отзыва и оценки F1 для помеченных данных. Типы данных обучения и тестирования могут быть в формате application / x-recordio-protobuf или text / csv. Для тестовых данных при использовании формата text / csv содержимое должно быть указано как text / csv; label_size = 1, где первый столбец каждой строки представляет метку аномалии: «1» для точки аномальных данных и «0» для нормальная точка данных. Вы можете использовать либо режим File, либо режим Pipe для обучения моделей RCF на данных, отформатированных как recordIO-wrapped-protobuf или CSV

Также обратите внимание ... тестовый канал поддерживает только S3DataDistributionType = FullyReplicated

Спасибо

Julio

...