

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 모델 훈련 구성 조정을 위한 additionalParams 내 파라미터 사용 예제
<a name="machine-learning-data-export-additionalParams-examples"></a>

 다음 예제에서는 속성 그래프 및 RDF 데이터 모델에서 "additionalParams" 기능을 활용하여 Neptune ML 애플리케이션에 대한 모델 훈련 프로세스의 다양한 측면을 구성하는 방법을 보여줍니다. 이 예제에서는 training/validation/test 데이터에 대한 기본 분할 비율 지정, 노드 분류, 회귀 및 링크 예측 작업 정의, 숫자 버킷, 텍스트 임베딩, 날짜/시간 및 범주형 데이터와 같은 다양한 기능 유형 구성 등 다양한 기능을 다룹니다. 이러한 세부 구성을 통해 기계 학습 파이프라인을 특정 데이터 및 모델링 요구 사항에 맞게 조정하여 Neptune ML 기능의 잠재력을 최대로 활용할 수 있습니다.

**Contents**
+ [additionalParams를 사용한 속성 그래프 예제](#machine-learning-property-graph-additionalParams-examples)
  + [모델 훈련 구성을 위한 기본 분할 비율 지정](#machine-learning-property-graph-additionalParams-default-split-rate-example)
  + [모델 훈련 구성을 위한 노드 분류 작업 지정](#machine-learning-property-graph-additionalParams-node-classification-example)
  + [모델 훈련 구성을 위한 다중 클래스 노드 분류 작업 지정](#machine-learning-property-graph-additionalParams-multi-class-example)
  + [모델 훈련 구성을 위한 노드 회귀 작업 지정](#machine-learning-property-graph-additionalParams-node-regression-example)
  + [모델 훈련 구성을 위한 엣지 분류 작업 지정](#machine-learning-property-graph-additionalParams-edge-classification-example)
  + [모델 훈련 구성을 위한 다중 클래스 엣지 분류 작업 지정](#machine-learning-property-graph-additionalParams-multi-edge-classification-example)
  + [모델 훈련 구성을 위한 엣지 회귀 지정](#machine-learning-property-graph-additionalParams-edge-regression-example)
  + [모델 훈련 구성을 위한 연결 예측 작업 지정](#machine-learning-property-graph-additionalParams-link-prediction-example)
  + [숫자형 버킷 특성 지정](#machine-learning-property-graph-additionalParams-numeric-bucket-example)
  + [`Word2Vec` 특성 지정](#machine-learning-property-graph-additionalParams-word2vec-example)
  + [`FastText` 특성 지정](#machine-learning-property-graph-additionalParams-fasttext-example)
  + [`Sentence BERT` 특성 지정](#machine-learning-property-graph-additionalParams-sbert-example)
  + [`TF-IDF` 특성 지정](#machine-learning-property-graph-additionalParams-tf-idf-example)
  + [`datetime` 특성 지정](#machine-learning-property-graph-additionalParams-datetime-example)
  + [`category` 특성 지정](#machine-learning-property-graph-additionalParams-category-example)
  + [`numerical` 특성 지정](#machine-learning-property-graph-additionalParams-numerical-example)
  + [`auto` 특성 지정](#machine-learning-property-graph-additionalParams-auto-example)
+ [`additionalParams`를 사용한 RDF 예제](#machine-learning-RDF-additionalParams-examples)
  + [모델 훈련 구성을 위한 기본 분할 비율 지정](#machine-learning-RDF-additionalParams-default-split-rate-example)
  + [모델 훈련 구성을 위한 노드 분류 작업 지정](#machine-learning-RDF-additionalParams-node-classification-example)
  + [모델 훈련 구성을 위한 노드 회귀 작업 지정](#machine-learning-RDF-additionalParams-node-regression-example)
  + [특정 엣지에 대한 연결 예측 작업 지정](#machine-learning-RDF-additionalParams-link-prediction-example)
  + [모든 엣지에 대한 연결 예측 작업 지정](#machine-learning-RDF-additionalParams-link-prediction-example)

## additionalParams를 사용한 속성 그래프 예제
<a name="machine-learning-property-graph-additionalParams-examples"></a>

### 모델 훈련 구성을 위한 기본 분할 비율 지정
<a name="machine-learning-property-graph-additionalParams-default-split-rate-example"></a>

다음 예제에서 `split_rate` 파라미터는 모델 훈련의 기본 분할 비율을 설정합니다. 기본 분할 비율을 지정하지 않은 경우 훈련은 [0.9, 0.1, 0.0] 값을 사용합니다. 각 대상에 `split_rate`를 지정하여 대상별로 기본값을 재정의할 수 있습니다.

다음 예제에서 `default split_rate` 필드는 대상별로 재정의하지 않는 한 `[0.7,0.1,0.2]`의 분할 비율을 사용해야 함을 나타냅니다.”

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 노드 분류 작업 지정
<a name="machine-learning-property-graph-additionalParams-node-classification-example"></a>

훈련용으로 레이블이 지정된 예제가 포함된 노드 속성을 나타내려면 `"type" : "classification"`을 사용하여 `targets` 배열에 노드 분류 요소를 추가하세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 예제에서 `node` 대상은 각 `Movie` 노드의 `genre` 속성을 노드 클래스 레이블로 취급해야 함을 나타냅니다. 이 `split_rate` 값은 기본 분할 비율을 재정의합니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 다중 클래스 노드 분류 작업 지정
<a name="machine-learning-property-graph-additionalParams-multi-class-example"></a>

훈련용으로 레이블이 지정된 여러 예제가 포함된 노드 속성을 나타내려면 `"type" : "classification"` 및 `separator`를 통해 대상 배열에 노드 분류 요소를 추가하여 대상 속성값을 여러 범주형 값으로 분할하는 데 사용할 수 있는 문자를 지정하세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 예제에서 `node` 대상은 각 `Movie` 노드의 `genre` 속성을 노드 클래스 레이블로 취급해야 함을 나타냅니다. 이 `separator` 필드는 각 장르 속성에 세미콜론으로 구분된 여러 값이 포함되어 있음을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "separator": ";"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 노드 회귀 작업 지정
<a name="machine-learning-property-graph-additionalParams-node-regression-example"></a>

훈련용으로 레이블이 지정된 회귀가 포함된 노드 속성을 나타내려면 `"type" : "regression"`을 사용하여 대상 배열에 노드 회귀 요소를 추가하세요. 기본 분할 비율을 재정의하려면 split\$1rate 필드를 추가합니다.

다음 `node` 대상은 각 `Movie` 노드의 `rating` 속성을 노드 회귀 레이블로 취급해야 함을 나타냅니다.

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "rating",
        "type" : "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      ...
    ]
  }
}
```

### 모델 훈련 구성을 위한 엣지 분류 작업 지정
<a name="machine-learning-property-graph-additionalParams-edge-classification-example"></a>

훈련용으로 레이블이 지정된 예제가 포함된 엣지 속성을 나타내려면 `"type" : "regression"`을 사용하여 `targets` 배열에 엣지 요소를 추가하세요. 기본 분할 비율을 재정의하려면 split\$1rate 필드를 추가합니다.

다음 `edge` 대상은 각 `knows` 엣지의 `metAtLocation` 속성을 엣지 클래스 레이블로 취급해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "knows", "Person"],
        "property": "metAtLocation",
        "type": "classification"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 다중 클래스 엣지 분류 작업 지정
<a name="machine-learning-property-graph-additionalParams-multi-edge-classification-example"></a>

훈련용으로 레이블이 지정된 여러 예제가 포함된 엣지 속성을 나타내려면 `"type" : "classification"` 및 `separator` 필드를 통해 `targets` 배열에 엣지 요소를 추가하여 대상 속성값을 여러 범주형 값으로 분할하는 데 사용되는 문자를 지정하세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 `edge` 대상은 각 `repliedTo` 엣지의 `sentiment` 속성을 엣지 클래스 레이블로 취급해야 함을 나타냅니다. 구분자 필드는 각 센티멘트 속성에 여러 개의 쉼표로 구분된 값이 포함되어 있음을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "repliedTo", "Message"],
        "property": "sentiment",
        "type": "classification",
        "separator": ","
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 엣지 회귀 지정
<a name="machine-learning-property-graph-additionalParams-edge-regression-example"></a>

훈련용으로 레이블이 지정된 회귀 예제가 포함된 엣지 속성을 나타내려면 `"type" : "regression"`을 사용하여 `targets` 배열에 `edge` 요소를 추가하세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 `edge` 대상은 각 `reviewed` 엣지의 `rating` 속성을 엣지 회귀로 취급해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "reviewed", "Movie"],
        "property": "rating",
        "type" : "regression"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 연결 예측 작업 지정
<a name="machine-learning-property-graph-additionalParams-link-prediction-example"></a>

연결 예측 훈련용으로 사용해야 하는 엣지를 나타내려면 `"type" : "link_prediction"`을 사용하여 대상 배열에 엣지 요소를 추가하세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 `edge` 대상은 연결 예측에 `cites` 엣지를 사용해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Article", "cites", "Article"],
        "type" : "link_prediction"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### 숫자형 버킷 특성 지정
<a name="machine-learning-property-graph-additionalParams-numeric-bucket-example"></a>

`features` 배열에 `"type": "bucket_numerical"`을 추가하여 노드 속성에 대한 수치 데이터 특성을 지정할 수 있습니다.

다음 `node` 특성은 각 `Person` 노드의 `age` 속성을 숫자형 버킷 특성으로 취급해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Person",
        "property": "age",
        "type": "bucket_numerical",
        "range": [1, 100],
        "bucket_cnt": 5,
        "slide_window_size": 3,
        "imputer": "median"
      }
    ]
  }
}
```

### `Word2Vec` 특성 지정
<a name="machine-learning-property-graph-additionalParams-word2vec-example"></a>

`features` 배열에 `"type": "text_word2vec"`를 추가하여 노드 속성의 `Word2Vec` 특성을 지정할 수 있습니다.

다음 `node` 특성은 각 `Movie` 노드의 `description` 속성을 `Word2Vec` 특성으로 취급해야 함을 나타냅니다.

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_word2vec",
        "language": "en_core_web_lg"
      }
    ]
  }
}
```

### `FastText` 특성 지정
<a name="machine-learning-property-graph-additionalParams-fasttext-example"></a>

`features` 배열에 `"type": "text_fasttext"`를 추가하여 노드 속성의 `FastText` 특성을 지정할 수 있습니다. `language` 필드는 필수이며, 다음 언어 코드 중 하나를 지정해야 합니다.
+ `en`(영어)
+ `zh`(중국어)
+ `hi`(힌디어)
+ `es`(스페인어)
+ `fr`(프랑스어)

단, `text_fasttext` 인코딩은 특성에서 한 번에 2개 이상의 언어를 처리할 수 없습니다.

다음 `node` 특성은 각 `Movie` 노드의 프랑스어 `description` 속성을 `FastText` 특성으로 취급해야 함을 나타냅니다.

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_fasttext",
        "language": "fr",
        "max_length": 1024
      }
    ]
  }
}
```

### `Sentence BERT` 특성 지정
<a name="machine-learning-property-graph-additionalParams-sbert-example"></a>

`features` 배열에 `"type": "text_sbert"`를 추가하여 노드 속성의 `Sentence BERT` 특성을 지정할 수 있습니다. 메서드는 다국어 언어 모델을 사용하여 텍스트 특성을 자동으로 인코딩하므로, 언어를 지정할 필요가 없습니다.

다음 `node` 특성은 각 `Movie` 노드의 `description` 속성을 `Sentence BERT` 특성으로 취급해야 함을 나타냅니다.

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_sbert128",
      }
    ]
  }
}
```

### `TF-IDF` 특성 지정
<a name="machine-learning-property-graph-additionalParams-tf-idf-example"></a>

`features` 배열에 `"type": "text_tfidf"`를 추가하여 노드 속성의 `TF-IDF` 특성을 지정할 수 있습니다.

다음 `node` 특성은 각 `Person` 노드의 `bio` 속성을 `TF-IDF` 특성으로 취급해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "bio",
        "type": "text_tfidf",
        "ngram_range": [1, 2],
        "min_df": 5,
        "max_features": 1000
      }
    ]
  }
}
```

### `datetime` 특성 지정
<a name="machine-learning-property-graph-additionalParams-datetime-example"></a>

내보내기 프로세스는 날짜 속성의 `datetime` 특성을 자동으로 유추합니다. 그러나 `datetime` 특성에 사용되는 `datetime_parts`를 제한하거나 보통 `auto` 특성으로 처리되는 속성을 `datetime` 특성으로 명시적으로 취급하도록 특성 사양을 재정의하려면 특성 배열에 `"type": "datetime"`을 추가하면 됩니다.

다음 `node` 특성은 각 `Post` 노드의 `createdAt` 속성을 `datetime` 특성으로 취급해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "createdAt",
        "type": "datetime",
        "datetime_parts": ["month", "weekday", "hour"]
      }
    ]
  }
}
```

### `category` 특성 지정
<a name="machine-learning-property-graph-additionalParams-category-example"></a>

내보내기 프로세스는 문자열 속성과 여러 값이 포함된 숫자 속성에 대한 `auto` 특성을 자동으로 유추합니다. 단일 값을 포함하는 숫자 속성의 경우 `numerical` 특성을 유추합니다. 날짜 속성의 경우 `datetime` 특성을 유추합니다.

속성이 범주형 특성으로 취급되도록 특성 사양을 재정의하려면 특성 배열에 `"type": "category"`를 추가하세요. 속성에 여러 값이 포함된 경우 `separator` 필드를 포함하면 됩니다. 예제:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "tag",
        "type": "category",
        "separator": "|"
      }
    ]
  }
}
```

### `numerical` 특성 지정
<a name="machine-learning-property-graph-additionalParams-numerical-example"></a>

내보내기 프로세스는 문자열 속성과 여러 값이 포함된 숫자 속성에 대한 `auto` 특성을 자동으로 유추합니다. 단일 값을 포함하는 숫자 속성의 경우 `numerical` 특성을 유추합니다. 날짜 속성의 경우 `datetime` 특성을 유추합니다.

속성이 `numerical` 특성으로 취급되도록 특성 사양을 재정의하려면 특성 배열에 `"type": "numerical"`을 추가하세요. 속성에 여러 값이 포함된 경우 `separator` 필드를 포함하면 됩니다. 예제:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Recording",
        "property": "duration",
        "type": "numerical",
        "separator": ","
      }
    ]
  }
}
```

### `auto` 특성 지정
<a name="machine-learning-property-graph-additionalParams-auto-example"></a>

내보내기 프로세스는 문자열 속성과 여러 값이 포함된 숫자 속성에 대한 `auto` 특성을 자동으로 유추합니다. 단일 값을 포함하는 숫자 속성의 경우 `numerical` 특성을 유추합니다. 날짜 속성의 경우 `datetime` 특성을 유추합니다.

속성이 `auto` 특성으로 취급되도록 특성 사양을 재정의하려면 특성 배열에 `"type": "auto"`을 추가하세요. 속성에 여러 값이 포함된 경우 `separator` 필드를 포함하면 됩니다. 예제:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "User",
        "property": "role",
        "type": "auto",
        "separator": ","
      }
    ]
  }
}
```

## `additionalParams`를 사용한 RDF 예제
<a name="machine-learning-RDF-additionalParams-examples"></a>

### 모델 훈련 구성을 위한 기본 분할 비율 지정
<a name="machine-learning-RDF-additionalParams-default-split-rate-example"></a>

다음 예제에서 `split_rate` 파라미터는 모델 훈련의 기본 분할 비율을 설정합니다. 기본 분할 비율을 지정하지 않은 경우 훈련은 [0.9, 0.1, 0.0] 값을 사용합니다. 각 대상에 `split_rate`를 지정하여 대상별로 기본값을 재정의할 수 있습니다.

다음 예제에서 `default split_rate` 필드는 대상별로 재정의하지 않는 한 `[0.7,0.1,0.2]`의 분할 비율을 사용해야 함을 나타냅니다.”

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ]
  }
}
```

### 모델 훈련 구성을 위한 노드 분류 작업 지정
<a name="machine-learning-RDF-additionalParams-node-classification-example"></a>

훈련용으로 레이블이 지정된 예제가 포함된 노드 속성을 나타내려면 `"type" : "classification"`을 사용하여 `targets` 배열에 노드 분류 요소를 추가하세요. 대상 노드의 노드 유형을 나타내려면 노드 필드를 추가합니다. 대상 노드의 대상 노드 특성으로 사용할 리터럴 데이터를 정의하려면 `predicate` 필드를 추가합니다. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 예제에서 `node` 대상은 각 `Movie` 노드의 `genre` 속성을 노드 클래스 레이블로 취급해야 함을 나타냅니다. 이 `split_rate` 값은 기본 분할 비율을 재정의합니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### 모델 훈련 구성을 위한 노드 회귀 작업 지정
<a name="machine-learning-RDF-additionalParams-node-regression-example"></a>

훈련용으로 레이블이 지정된 회귀가 포함된 노드 속성을 나타내려면 `"type" : "regression"`을 사용하여 대상 배열에 노드 회귀 요소를 추가하세요. 대상 노드의 노드 유형을 나타내려면 `node` 필드를 추가합니다. 대상 노드의 대상 노드 특성으로 사용할 리터럴 데이터를 정의하려면 `predicate` 필드를 추가합니다. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 `node` 대상은 각 `Movie` 노드의 `rating` 속성을 노드 회귀 레이블로 취급해야 함을 나타냅니다.

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/rating",
        "type": "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### 특정 엣지에 대한 연결 예측 작업 지정
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

연결 예측 훈련용으로 사용해야 하는 엣지를 나타내려면 `"type" : "link_prediction"`을 사용하여 대상 배열에 엣지 요소를 추가하세요. 엣지 유형을 지정하려면 `subject`, `predicate` 및 `object` 필드를 추가합니다. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

다음 `edge` 대상은 `Movies`에 `Directors`를 연결하는 `directed` 엣지를 연결 예측에 사용해야 함을 나타냅니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "subject": "http://aws.amazon.com/neptune/csv2rdf/class/Director",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/directed",
        "object": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "type" : "link_prediction"
      }
    ]
  }
}
```

### 모든 엣지에 대한 연결 예측 작업 지정
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

연결 예측 훈련용으로 사용해야 하는 모든 엣지를 나타내려면 `"type" : "link_prediction"`을 사용하여 대상 배열에 `edge` 요소를 추가하세요. `subject`, `predicate` 또는 `object` 필드를 추가하지 마세요. 기본 분할 비율을 재정의하려면 `split_rate` 필드를 추가합니다.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "type" : "link_prediction"
      }
    ]
  }
}
```