K-means 군집화
| 항목 | 값 |
|---|---|
| 화면 이름 | K-means clustering |
| 식별자 | kmeansV1 |
| 지원 실행 방식 | Batch |
| 범주 | 열, 행과 실행 제어 (Other) |
벡터를 k개 군집으로 나누는 비지도 학습입니다. 최소 k와 최대 k 사이의 후보에서 실루엣 점수가 가장 좋은 k를 선택합니다. Number of k values는 두 경계를 포함한 범위에서 시도할 k의 개수를 정합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Input dataset | 필수 | Table | 벡터 열이 있는 원천 데이터셋입니다. |
Maximum k | 필수 | Literal<Integer> | 최대 군집 수입니다. |
Minimum k | 필수 | Literal<Integer> | 최소 군집 수입니다. |
Number of k values | 필수 | Literal<Integer> | 최소 k부터 최대 k 사이에서 시험할 k의 개수입니다. 그 수만큼 군집 모델을 학습하므로 값이 크면 실행이 느려질 수 있습니다. 실루엣 점수로 최적 모델을 선택합니다. |
Vector column | 필수 | Column<Array<Float>> | 군집화에 사용할 float 벡터 열입니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
Input dataset: ri.foundry.main.dataset.aMaximum k: 12Minimum k: 3Number of k values: 4Vector column:feature_column
입력:
| feature_column |
|---|
| [ 0.05, 3.1, 2.3 ] |
| [ 1.0, 3.1, 2.3 ] |
| [ 1.0, 3.5, 2.3 ] |
| [ 19.0, 12.3, -1.4 ] |
출력:
| feature_column | cluster_id |
|---|---|
| [ 1.0, 3.1, 2.3 ] | 0 |
| [ 1.0, 3.5, 2.3 ] | 0 |
| [ 19.0, 12.3, -1.4 ] | 1 |
| [ 0.05, 3.1, 2.3 ] | 2 |
예시 2: null 처리
인자 값:
Input dataset: ri.foundry.main.dataset.aMaximum k: 12Minimum k: 3Number of k values: 4Vector column:feature_column
입력:
| feature_column |
|---|
| [ 0.05, 3.1, 2.3 ] |
| null |
| [ 1.0, 3.1, 2.3 ] |
| [ 1.0, 3.5, 2.3 ] |
| [ 19.0, 12.3, -1.4 ] |
출력:
| feature_column | cluster_id |
|---|---|
| [ 1.0, 3.1, 2.3 ] | 0 |
| [ 1.0, 3.5, 2.3 ] | 0 |
| [ 19.0, 12.3, -1.4 ] | 1 |
| [ 0.05, 3.1, 2.3 ] | 2 |
예시 3: 경계 조건
인자 값:
Input dataset: ri.foundry.main.dataset.aMaximum k: 3Minimum k: 3Number of k values: 1Vector column:feature_column
입력:
| feature_column |
|---|
| [ 0.05, 3.1, 2.3 ] |
| [ 1.0, 3.5, 2.3 ] |
| [ 19.0, 12.3, -1.4 ] |
출력:
| feature_column | cluster_id |
|---|---|
| [ 19.0, 12.3, -1.4 ] | 0 |
| [ 0.05, 3.1, 2.3 ] | 1 |
| [ 1.0, 3.5, 2.3 ] | 2 |