머신러닝 모델 목록 조회

검색 조건과 일치하는 머신러닝 모델 목록을 조회합니다.

필요 권한

사용자 이상의 계정으로 이용할 수 있습니다.

HTTP 요청

GET /api/sonar/machine-learning/models
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     https://HOSTNAME/api/sonar/machine-learning/models
요청 매개변수
필수타입설명비고
offsetX32비트 정수건너뛸 갯수기본값: 0
limitX32비트 정수최대 갯수기본값: 무제한
keywordsX문자열검색 키워드모델 이름, 설명 등에서 검색

정상 응답

{
  "total_count": 1,
  "models": [
    {
      "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "type": "random_forest",
      "type_name": "랜덤 포레스트",
      "user_guid": "11111111-2222-3333-4444-555555555555",
      "user_name": "admin",
      "name": "이상 트래픽 분류",
      "description": "네트워크 트래픽 이상 탐지 모델",
      "dataset_guid": "99999999-8888-7777-6666-555555555555",
      "dataset_name": "트래픽 학습 데이터셋",
      "fields": [
        {
          "name": "src_ip",
          "type": "string"
        },
        {
          "name": "label",
          "type": "string",
          "target": true,
          "values": ["normal", "anomaly"],
          "cardinality": 2,
          "importance": 0.83
        }
      ],
      "parameters": {
        "max_depth": "5",
        "n_estimators": "100"
      },
      "trained": true,
      "train_progress": 100.0,
      "schema": null,
      "accuracy": 0.95,
      "precision": 0.93,
      "recall": 0.91,
      "f1": 0.92,
      "confusion": [[120, 5], [8, 110]],
      "created": 1718668225000,
      "updated": 1718668225000
    }
  ]
}
  • total_count (32비트 정수): 검색 조건과 일치하는 전체 건수
  • models (배열): 머신러닝 모델 목록
    • guid (문자열): 모델 식별자
    • type (문자열): 모델 유형 코드
    • type_name (문자열): 지역화된 모델 유형 이름
    • user_guid (문자열): 생성한 계정 식별자
    • user_name (문자열): 생성한 계정 이름
    • name (문자열): 모델 이름
    • description (문자열): 모델 설명
    • dataset_guid (문자열, nullable): 학습 데이터셋 식별자
    • dataset_name (문자열): 학습 데이터셋 이름
    • fields (배열): 모델 필드 목록
      • name (문자열): 필드 이름
      • type (문자열): 필드 데이터 타입
      • target (불리언, 선택적): 대상 필드 여부. 참인 경우에만 포함됩니다
      • values (문자열 배열, 선택적): 범주 값 목록. 설정된 경우에만 포함됩니다
      • cardinality (32비트 정수, 선택적): 범주 값 개수. values가 설정된 경우에만 포함됩니다
      • importance (64비트 실수, 선택적): 필드 중요도. 0보다 큰 경우에만 포함됩니다
    • parameters (맵): 하이퍼파라미터 키/값
    • trained (불리언): 학습 완료 여부
    • train_progress (64비트 실수): 학습 진행률(백분율)
    • schema (맵, nullable): 모델 스키마
    • accuracy (64비트 실수): 정확도
    • precision (64비트 실수): 정밀도
    • recall (64비트 실수): 재현율
    • f1 (64비트 실수): F1 점수
    • confusion (배열, nullable): 혼동 행렬. 32비트 정수 배열의 배열이며 각 행은 [실제][예측] 형태입니다
    • created (날짜): 생성 시각. epoch 밀리초 숫자입니다
    • updated (날짜): 수정 시각. epoch 밀리초 숫자입니다

오류 응답

offset, limit 값이 정수가 아닌 경우

HTTP 상태 코드 400 응답

{
  "error_code": "invalid-argument",
  "error_msg": "'offset' parameter should be int type"
}
권한이 없는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}