BigQuery 예측으로 숙박 인원 분석 앱 만들기


Vertex AI Vision은 동영상 데이터를 수집, 분석, 저장하는 데 사용할 수 있는 AI 기반 플랫폼입니다. Vertex AI Vision을 사용하면 AI 애플리케이션을 빌드하고 배포할 수 있습니다. Vertex AI Vision을 다른 제품 구성요소와 통합하여 엔드 투 엔드 Vertex AI Vision 솔루션을 빌드할 수 있습니다.

Vertex AI Vision 플랫폼을 사용하여 솔루션을 구현하려면 다음 Vertex AI Vision 개념과 구성요소를 검토하세요.

  • 스트림: 솔루션의 동영상 스트리밍 레이어를 나타냅니다. 스트림 소스는 라이브 동영상 (예: IP 카메라) 또는 동영상 파일(예: MP4 파일)일 수 있습니다.

  • 애플리케이션: 스트림과 AI 프로세서 간의 연결을 사용 설정하여 동영상에 머신러닝 작업을 실행합니다. 예를 들어 카메라 스트림을 카메라 앞을 지나가는 사람 수를 세는 AI 모델에 연결할 수 있습니다.

  • 앱 출력 대상: 분석된 데이터를 저장소 대상(Vertex AI Vision의 미디어 저장소 또는 BigQuery)으로 전송하거나 실시간 데이터를 수신합니다. Vertex AI Vision의 미디어 웨어하우스에 저장하면 수집된 스트림의 데이터에 사용된 AI 프로세서의 분석 출력과 메타데이터를 검색할 수 있습니다. BigQuery에 저장하면 제품의 오프라인 분석 기능을 사용할 수 있습니다. 앱 출력을 직접 수신하는 경우 통계를 사용하여 즉시 비즈니스 결정을 내릴 수 있습니다. 자세한 내용은 개요: 데이터 대상에 앱 출력 연결을 참고하세요.

목표

이 튜토리얼에서는 다음 작업을 처리하는 방법을 보여줍니다.

  • BigQuery 데이터 세트와 테이블을 만듭니다.
  • BigQuery에 연결되는 Vertex AI Vision 점유율 분석 앱을 빌드합니다.
  • Compute Engine VM 인스턴스를 만들고 환경을 설정합니다.
  • VM 인스턴스에서 앱으로 동영상을 스트리밍합니다.
  • 저장된 앱 출력을 사용하여 BigQuery ML로 예측 모델을 만듭니다.

비용

이 문서에서는 비용이 청구될 수 있는 Google Cloud구성요소( )를 사용합니다.

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용합니다.

신규 Google Cloud 사용자는 무료 체험판을 이용할 수 있습니다.

이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, Compute Engine and Vision AI APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. Install the Google Cloud CLI.

  8. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the BigQuery, Compute Engine and Vision AI APIs.

    Enable the APIs

  13. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  15. Install the Google Cloud CLI.

  16. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  17. To initialize the gcloud CLI, run the following command:

    gcloud init
  18. Cloud Storage 버킷에서 샘플 동영상 파일을 복사하는 경우에만 역할이 필요합니다.

데이터를 수신하도록 BigQuery 설정

데이터를 수신하고 분석 앱 데이터에서 예측을 하려면 처리된 정보와 일치하는 BigQuery 데이터 세트와 테이블을 만들어야 합니다.

데이터 세트 만들기

BigQuery 테이블을 만들려면 먼저 앱에서 분석된 정보를 수신할 데이터 세트를 만들어야 합니다.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

    BigQuery 페이지로 이동

  2. 탐색기 패널에서 데이터 세트를 만들 프로젝트를 선택합니다.

  3. 작업 옵션을 펼치고 데이터 세트 만들기를 클릭합니다.

  4. 데이터 세트 만들기 페이지에서 다음을 실행합니다.

    • 데이터세트 IDoccupancy_dataset을 입력합니다.
    • 데이터 위치에서 데이터 세트의 지리적 위치를 선택합니다. 데이터 세트가 생성된 후에는 위치를 변경할 수 없습니다.

    • 기본 테이블 만료 시간에서 다음 옵션 중 하나를 선택합니다.

      • 사용 안 함: (기본값) 데이터 세트에 생성된 테이블이 자동으로 삭제되지 않습니다. 수동으로 삭제해야 합니다.
      • 테이블 생성 후 경과 일수: 이 값은 데이터 세트에서 새로 만든 테이블이 삭제되는 시기를 결정합니다. 테이블이 생성될 때 테이블 만료 시간을 설정하지 않은 경우에 이 값이 적용됩니다.

    • 데이터 세트 만들기를 클릭합니다.

BigQuery 테이블 만들기

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 탐색기 창에서 프로젝트를 펼친 후 occupancy_dataset 데이터 세트를 선택합니다.
  3. 데이터 세트 정보 섹션에서 테이블 만들기를 클릭합니다.
  4. 테이블 만들기 패널에서 다음 세부정보를 지정합니다.
    1. 소스 섹션의 다음 항목으로 테이블 만들기 목록에서 빈 테이블을 선택합니다.
    2. 대상 섹션에서 다음 세부정보를 지정합니다.
      1. 데이터 세트 필드에 occupancy_dataset이 지정되어 있는지 확인합니다.
      2. 테이블 필드에 occupancy_dataset_table을 입력합니다.
      3. 테이블 유형 필드가 기본 테이블로 설정되어 있는지 확인합니다.
    3. 스키마 섹션에 스키마 정의를 입력합니다. 다음과 같이 스키마 정보를 직접 입력할 수 있습니다.
      • 텍스트로 수정을 클릭하고 다음 JSON 배열 스키마를 붙여넣습니다. JSON 배열을 사용하는 경우 JSON 스키마 파일 만들기와 동일한 프로세스를 수행하여 스키마를 생성합니다.
        [
            {
              "name": "ingestion_time",
              "type": "TIMESTAMP",
              "mode": "REQUIRED"
            },
            {
              "name": "application",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "instance",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "node",
              "type": "STRING",
              "mode": "REQUIRED"
            },
            {
              "name": "annotation",
              "type": "STRING"
            }
        ]
    4. 테이블 만들기를 클릭합니다.

점유 수 애플리케이션 만들기

BigQuery 데이터 세트와 테이블을 설정한 후에는 이러한 BigQuery 리소스로 전송된 데이터를 처리하는 앱을 만들 수 있습니다.

빈 앱 만들기

앱 그래프를 채우려면 먼저 빈 앱을 만들어야 합니다.

콘솔

Google Cloud 콘솔에서 앱을 만듭니다.

  1. Vertex AI Vision 대시보드의 애플리케이션 탭을 엽니다.

    애플리케이션 탭으로 이동

  2. 만들기 버튼을 클릭합니다.

  3. 앱 이름으로 occupancy-bq-app를 입력하고 지역을 선택합니다.

  4. 만들기를 클릭합니다.

앱 구성요소 노드 추가

빈 애플리케이션을 만든 후에는 앱 그래프에 다음 세 노드를 추가할 수 있습니다.

  1. 수집 노드: 사용자가 만든 Compute Engine VM 인스턴스에서 전송된 데이터를 수집하는 스트림 리소스입니다.
  2. 처리 노드: 수집된 데이터를 기반으로 작동하는 점유율 분석 모델입니다.
  3. BigQuery 노드: 앱이 BigQuery 테이블에 메타데이터를 저장할 수 있도록 지원하는 커넥터 노드입니다.

콘솔

콘솔에서 앱에 구성요소 노드를 추가합니다.

  1. Vertex AI Vision 대시보드의 애플리케이션 탭을 엽니다.

    애플리케이션 탭으로 이동

  2. occupancy-bq-app 줄에서 그래프 보기를 선택합니다. 그러면 처리 파이프라인의 그래프 시각화로 이동합니다.

데이터 수집 노드 추가

  1. 입력 스트림 노드를 추가하려면 사이드 메뉴의 커넥터 섹션에서 스트림 옵션을 선택합니다.

  2. 열리는 스트림 메뉴의 소스 섹션에서 스트림 추가를 선택합니다.

  3. 스트림 추가 메뉴에서 새 스트림 등록을 선택하고 occupancy-bq-stream을 스트림 이름으로 추가합니다.

  4. 앱 그래프에 스트림을 추가하려면 스트림 추가를 클릭합니다.

데이터 처리 노드 추가

  1. 재실 수 모델 노드를 추가하려면 사이드 메뉴의 특수 모델 섹션에서 재실 분석 옵션을 선택합니다.

  2. 기본 선택 항목인 사람차량을 그대로 둡니다.

BigQuery 노드 추가

  1. 출력 대상 (스토리지) 노드를 추가하려면 사이드 메뉴의 커넥터 섹션에서 BigQuery 옵션을 선택합니다.

  2. BigQuery 메뉴에서 occupancy_dataset_table를 검색하고 테이블을 선택합니다.

  3. 다음에서 메타데이터 저장: 섹션에서 스트림재실 분석을 모두 선택합니다.

사용을 위해 앱 배포하기

필요한 모든 구성요소로 엔드 투 엔드 앱을 빌드한 후 앱을 사용하는 마지막 단계는 앱을 배포하는 것입니다.

콘솔

  1. Vertex AI Vision 대시보드의 애플리케이션 탭을 엽니다.

    애플리케이션 탭으로 이동

  2. 목록에서 occupancy-bq-app 앱 옆에 있는 그래프 보기를 선택합니다.

  3. 애플리케이션 그래프 빌더 페이지에서 배포 버튼을 클릭합니다.

  4. 다음 확인 대화상자에서 배포를 선택합니다.

    배포 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다. 배포가 완료되면 노드 옆에 녹색 체크표시가 나타납니다.

동영상을 스트리밍하도록 원격 머신 설정하기

이제 스트리밍 데이터를 수신, 처리, BigQuery 테이블에 저장할 준비가 된 점유율 앱이 배포되었으므로 실제로 앱에 동영상 데이터를 스트리밍해야 합니다.

이 튜토리얼에서는 동영상을 호스팅하는 Compute Engine VM 인스턴스를 만들고 VM에서 스트리밍 동영상 데이터를 전송합니다.

Linux VM 만들기

Compute Engine VM 인스턴스에서 동영상을 전송하는 첫 번째 단계는 VM 인스턴스를 만드는 것입니다.

콘솔

  1. 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.

  3. 인스턴스 만들기를 클릭합니다.

  4. VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.

  5. 선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록의 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.

  6. 나머지 기본 옵션을 수락합니다. 이러한 옵션에 대한 자세한 내용은 VM 만들기 및 시작을 참고하세요.

  7. 만들기를 클릭하여 VM을 만들고 시작합니다.

VM 환경 설정

VM이 시작되면 콘솔을 사용하여 브라우저에서 SSH 연결을 설정할 수 있습니다. 이 연결을 설정한 후 vaictl 명령줄 도구를 다운로드하여 앱에 동영상을 인그레션할 수 있습니다.

콘솔

VM에 SSH 연결 설정

  1. 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 생성한 인스턴스 행의 연결 섹션에서 SSH를 클릭합니다. 그러면 새 브라우저 창에서 SSH 연결이 열립니다.

    UI의 SSH 옵션

vaictl 명령줄 도구 다운로드

  1. SSH-in-browser 창에서 다음 명령어를 사용하여 Vertex AI Vision(vaictl) 명령줄 도구를 다운로드합니다.

    wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
    
  2. 다음 명령어를 실행하여 명령줄 도구를 설치합니다.

    sudo apt install ./visionai_0.0-5_amd64.deb
    
  3. 다음 명령어를 실행하여 설치를 테스트할 수 있습니다.

    vaictl --help
    

앱에 동영상 파일 처리

VM 환경을 설정한 후 샘플 동영상 파일을 복사한 다음 vaictl를 사용하여 동영상 데이터를 재실자 수 앱으로 스트리밍할 수 있습니다.

이 명령어를 보낸 후 다음 단계로 이동하기 전에 몇 시간 동안 데이터를 스트리밍해야 합니다.

브라우저에서 SSH를 통해 연결

샘플 동영상을 VM에 복사

  1. VM의 SSH-in-browser 창에서 다음 gcloud storage cp 명령어를 사용하여 샘플 동영상을 복사합니다. 다음 변수를 바꿉니다.
    • SOURCE: 사용할 동영상 파일의 위치입니다. 자체 동영상 파일 소스 (예: gs://BUCKET_NAME/FILENAME.mp4)를 사용하거나 샘플 동영상 중 하나를 사용할 수 있습니다.
      • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (사람과 차량이 있는 동영상, 동영상 소스)
      • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (차량만 있는 동영상, 동영상 소스)
    gcloud storage cp SOURCE .

VM에서 동영상을 스트리밍하고 앱에 데이터를 수집

  1. 이 로컬 동영상 파일을 앱 입력 스트림으로 전송하려면 다음 명령어를 사용합니다. 다음 변수를 사용해야 합니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
    • LOCATION_ID: 위치 ID입니다. 예를 들면 us-central1입니다. 자세히 알아보기
    • LOCAL_FILE.EXT: 로컬 동영상 파일의 파일 이름입니다. 예를 들면 my-video.mp4입니다.
    • --loop 플래그: 선택사항. 스트리밍을 시뮬레이션하기 위해 파일 데이터를 루프합니다.

    이 명령어는 동영상 파일을 스트림으로 스트리밍합니다. --loop 플래그를 사용하는 경우 명령어를 중지할 때까지 동영상이 스트림에서 연속 재생됩니다.

    vaictl -p PROJECT_ID \
        -l LOCATION_ID \
        -c application-cluster-0 \
        --service-endpoint visionai.googleapis.com \
    send video-file to streams 'occupancy-bq-stream' --file-path LOCAL_FILE.EXT --loop

vaictl 수집 작업을 시작한 후 동영상이 대시보드에 표시되기까지 약 100초가 걸릴 수 있습니다.

스트림 수집이 완료되면 occupancy-bq-stream 스트림을 선택하여 Vertex AI Vision 대시보드의 스트림 탭에서 동영상 피드를 확인할 수 있습니다.

스트림 탭으로 이동

BigQuery ML로 예측 모델 빌드

이제 BigQuery에 메타데이터를 저장하는 작동하는 앱이 있습니다. 앱으로 스트리밍된 데이터가 몇 시간 분량 쌓이면 BigQuery ML로 예측 모델을 빌드할 수 있습니다.

선택사항: 점유 쿼리 실행

간단한 쿼리를 실행하여 테이블에 저장된 앱 생성 데이터를 볼 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

    BigQuery로 이동

  2. occupancy_dataset 옆에 있는 펼치기를 선택하고 occupancy_dataset_table를 선택합니다.

  3. 표 세부정보 보기에서 새 쿼리 작성을 클릭합니다.

    새 쿼리 작성

  4. 쿼리 편집기 텍스트 영역에 다음 Google 표준 SQL 쿼리를 입력합니다.

    SELECT
     *
    FROM (
     SELECT
       TIMESTAMP_TRUNC(PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"', JSON_QUERY(annotation,
             "$.currentTime")), MINUTE) currentTime,
       CAST(JSON_QUERY(annotation,
           '$.stats.fullFrameCount[0].count') AS INT64) AS count,
       JSON_QUERY(annotation,
         '$.stats.fullFrameCount[0].entity.labelString') AS type
     FROM
       `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
    WHERE
     count IS NOT NULL
  5. (선택사항) 데이터 처리 위치를 변경하려면 더보기, 쿼리 설정을 차례로 클릭합니다. 처리 위치에서 자동 선택을 클릭하고 데이터의 위치를 선택합니다. 마지막으로 저장을 클릭하여 쿼리 설정을 업데이트합니다.

  6. 실행을 클릭합니다.

그러면 임시 테이블에 출력을 쓰는 쿼리 작업이 생성됩니다.

이 쿼리를 실행하면 동영상에 사람이 있는 경우 시간 및 수 정보가 포함된 표가 생성됩니다.

currentTime 개수 유형
2022-08-10 16:17:00 UTC 2 'Person'
2022-08-10 16:17:00 UTC 2 'Person'
2022-08-10 16:17:00 UTC 4 'Person'
2022-08-10 16:17:00 UTC 1 'Person'
2022-08-10 16:17:00 UTC 5 'Person'
2022-08-10 16:17:00 UTC 2 'Person'

학습용 뷰 만들기

테이블에 저장된 데이터를 확인한 후 뷰를 만들고 결과 테이블의 콘텐츠를 검사할 수 있습니다. 이 조회 데이터를 사용하여 예측 모델을 학습시킵니다.

뷰에 액세스할 수 있는 데이터를 정의하는 데 사용되는 SQL 쿼리를 작성하여 뷰를 만들 수 있습니다. SQL 쿼리는 SELECT 문으로 구성되어야 합니다. BigQuery 뷰에 대한 자세한 내용은 뷰 소개를 참고하세요.

학습 테이블 뷰를 만들려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

    BigQuery로 이동

  2. occupancy_dataset 옆에 있는 펼치기를 선택하고 occupancy_dataset_table를 선택합니다.

  3. 표 세부정보 보기에서 새 쿼리 작성을 클릭합니다.

    새 쿼리 작성

  4. 쿼리 편집기 텍스트 영역에 다음 Google 표준 SQL 쿼리를 입력합니다.

    CREATE VIEW `PROJECT_ID.occupancy_dataset.forecast_training_data` AS (
      WITH
        raw_counts AS (
        SELECT
          *
        FROM (
          SELECT
            TIMESTAMP_TRUNC(
              PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"',
                              JSON_QUERY(annotation,
                                          "$.currentTime")),
                            MINUTE) AS currentTime,
            CAST(JSON_QUERY(annotation,
                '$.stats.fullFrameCount[0].count') AS INT64) AS count,
            JSON_QUERY(annotation,
              '$.stats.fullFrameCount[0].entity.labelString') AS type
          FROM
            `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
        WHERE
          count IS NOT NULL )
      SELECT
        currentTime,
        SUM(count) AS total_count,
        type
      FROM
        raw_counts
      GROUP BY
        currentTime, type)
  5. 실행을 클릭합니다.

선택사항: 뷰 쿼리

다음 쿼리를 실행하여 새 뷰 학습 데이터의 결과를 확인합니다.

콘솔

  1. occupancy_dataset_table 테이블 세부정보 보기에서 새 쿼리 작성을 클릭합니다.

  2. 쿼리 편집기 텍스트 영역에 다음 Google 표준 SQL 쿼리를 입력합니다.

    SELECT
     *
    FROM
      `PROJECT_ID.occupancy_dataset.forecast_training_data`
    ORDER BY
     currentTime, type
    LIMIT
     100
  3. 실행을 클릭합니다.

그러면 다음과 같이 시간순으로 정렬된 결과가 반환됩니다.

currentTime total_count 유형
2022-08-10 16:17:00 UTC 129 'Person'
2022-08-10 16:18:00 UTC 150 'Person'
2022-08-10 16:19:00 UTC 80 'Person'
2022-08-10 16:20:00 UTC 129 'Person'
2022-08-10 16:21:00 UTC 142 'Person'
2022-08-10 16:22:00 UTC 71 'Person'
2022-08-10 16:22:00 UTC 2 '차량'

BigQuery ML로 예측 모델 학습

이제 학습 데이터로 사용할 뷰에 데이터가 있으므로 BigQuery ML을 사용하여 예측 모델을 학습시킬 수 있습니다.

콘솔

  1. occupancy_dataset_table 테이블 세부정보 보기에서 새 쿼리 작성을 클릭합니다.

  2. 쿼리 편집기 텍스트 영역에 다음 Google 표준 SQL 쿼리를 입력합니다.

    CREATE OR REPLACE MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`
      OPTIONS( MODEL_TYPE = "ARIMA_PLUS",
        TIME_SERIES_TIMESTAMP_COL = "currentTime",
        TIME_SERIES_DATA_COL = "total_count",
        TIME_SERIES_ID_COL = "type" ) AS
    SELECT
      *
    FROM
      `PROJECT_ID.occupancy_dataset.forecast_training_data`
  3. 실행을 클릭합니다.

쿼리를 완료하는 데 몇 분 정도 걸립니다. 첫 번째 반복이 완료되면 탐색 패널에 모델 (occupancy_forecast_model)이 나타납니다. 이 쿼리에서는 CREATE MODEL 문을 사용하여 모델을 만들므로 쿼리 결과가 표시되지 않습니다.

모델 통계 탭을 확인하여 학습 중인 모델을 관찰할 수 있습니다. 첫 번째 반복이 완료되면 바로 탭이 업데이트됩니다. 반복이 완료될 때마다 통계가 계속 업데이트됩니다.

BigQuery로 점유 예측 가져오기

모델 학습이 완료되면 모델에서 재실자 수에 대한 예측을 얻을 수 있습니다.

다음 ML.FORECAST 쿼리는 HORIZON 함수 입력을 사용하여 향후 60분을 예측합니다.

콘솔

  1. occupancy_dataset_table 테이블 세부정보 보기에서 새 쿼리 작성을 클릭합니다.

  2. 쿼리 편집기 텍스트 영역에 다음 Google 표준 SQL 쿼리를 입력합니다.

    SELECT
      *
    FROM
      ML.FORECAST(MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`,
      STRUCT(60 AS HORIZON))
  3. 실행을 클릭합니다.

모델은 유형이 "Person"인 미래 타임스탬프에 대해 forecast_value에서 예측을 생성합니다. 예를 들어 11:06:002022-08-12에서 모델은 총 'Persons'이 약 15.26개일 것으로 예측합니다.

유형 forecast_timestamp forecast_value standard_error confidence_level prediction_interval_lower_bound prediction_interval_upper_bound
'Person' 2022-08-12 11:06:00 UTC 15.2621986941298 2.56470066 0.95 10.2444693 20.2799280
'Person' 2022-08-12 11:07:00 UTC 13.235260043001354 3.19379743 0.95 6.98672921 19.4837908
'Person' 2022-08-12 11:08:00 UTC 16.257331475128712 3.87581375 0.95 8.67446430 23.8401986
'Person' 2022-08-12 11:09:00 UTC 31.432229611853742 4.24905293 0.95 23.1191356 39.7453236
'Person' 2022-08-12 11:10:00 UTC 26.199214148193725 4.26157413 0.95 17.8616229 34.5368053
'Person' 2022-08-12 11:11:00 UTC 26.211573546307324 4.27962512 0.95 17.8386663 34.5844807

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

프로젝트 삭제

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

개별 리소스 삭제

Compute Engine VM 인스턴스 삭제

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

BigQuery 데이터 세트 삭제

  1. In the Google Cloud console, open the BigQuery page.

    Go to BigQuery

  2. Select expand next to your project and locate your occupancy_dataset dataset.
  3. To delete the dataset, click Actions, click Delete, and then follow the instructions.

스트림 삭제

  1. In the Google Cloud console, go to the Streams page.

    Go to the Streams tab

  2. Locate your occupancy-bq-stream stream.
  3. To delete the stream, click Actions, click Delete stream, and then follow the instructions.

앱 삭제

  1. In the Google Cloud console, go to the Applications page.

    Go to the Applications tab

  2. Locate your occupancy-bq-app app.
  3. To delete the app, click Actions, click Delete application, and then follow the instructions.

다음 단계