Python 자습서: SQL 기계 학습을 사용하여 k-평균 클러스터링 사용하여 고객 분류

적용 대상: SQL Server 2017(14.x) 이상 Azure SQL Managed Instance

4부로 구성된 이 자습서 시리즈에서는 Python을 사용하여 SQL Server Machine Learning Services 또는 빅 데이터 클러스터 K-평균 클러스터링 모델을 개발하고 배포하여 고객 데이터를 분류합니다.

4부로 구성된 이 자습서 시리즈에서는 Python을 사용하여 SQL Server Machine Learning Services에서 K-평균 클러스터링 모델을 개발하고 배포하여 고객 데이터를 클러스터합니다.

4부로 구성된 이 자습서 시리즈에서는 Python을 사용하여 Azure SQL Managed Instance Machine Learning Services에서 K-평균 클러스터링 모델을 개발하고 배포하여 고객 데이터를 클러스터합니다.

이 시리즈의 1부에서는 자습서의 필수 구성 요소를 설정한 다음, 샘플 데이터 세트를 데이터베이스로 복원합니다. 이 시리즈의 뒷부분에서 이 데이터를 사용하여 SQL 기계 학습을 사용하여 Python에서 클러스터링 모델을 학습시키고 배포합니다.

이 시리즈의 2부와 3부에서는 Azure Data Studio Notebook에서 일부 Python 스크립트를 개발하여 데이터를 분석 및 준비하고 기계 학습 모델을 학습시킵니다. 그런 다음 4부에서는 저장 프로시저를 사용하여 데이터베이스 내에서 해당 Python 스크립트를 실행합니다.

클러스터링을 그룹 구성원이 어떤 식으로든 비슷한 그룹으로 구성하는 것으로 설명할 수 있습니다. 이 자습서 시리즈의 경우 소매 비즈니스를 소유하고 있다고 가정해 보세요. K-평균 알고리즘을 사용하여 제품 구매 및 반품 데이터 세트에서 고객의 클러스터링 수행합니다. 고객을 클러스터링하면 특정 그룹을 대상으로 보다 효과적으로 마케팅 노력을 집중할 수 있습니다. K-평균 클러스터링 유사성을 기반으로 데이터에서 패턴을 찾는 감독되지 않는 학습 알고리즘입니다.

이 문서에서는 다음 방법을 알아봅니다.

  • 샘플 데이터베이스 복원

2부에서는 데이터베이스에서 데이터를 준비하여 클러스터링 수행하는 방법을 알아봅니다.

3부에서는 Python에서 K-평균 클러스터링 모델을 만들고 학습하는 방법을 알아봅니다.

4부에서는 새 데이터를 기반으로 Python에서 클러스터링 수행할 수 있는 저장 프로시저를 데이터베이스에 만드는 방법을 알아봅니다.

필수 조건

  • Azure SQL Managed Instance Machine Learning Services. 자세한 내용은 Azure SQL Managed Instance Machine Learning Services 개요를 참조하세요.

  • 샘플 데이터베이스를 Azure SQL Managed Instance로 복원하기 위한 SQL Server Management Studio.

  • Azure Data Studio Python 및 SQL 모두에 대해 Azure Data Studio에서 Notebook을 사용합니다. Notebook에 대한 자세한 내용은 Azure Data Studio에서 Notebook을 사용하는 방법을 참조 하세요.

  • 추가 Python 패키지 - 이 자습서 시리즈의 예제에서는 사용자가 설치했거나 설치하지 않았을 수 있는 Python 패키지가 사용됩니다.

    관리이상 명령 프롬프트를 열고 Azure Data Studio에서 사용하는 Python 버전의 설치 경로로 변경합니다. 예: cd %LocalAppData%\Programs\Python\Python37-32. 그런 다음, 다음 명령을 실행하여 아직 설치되지 않은 패키지를 설치합니다. 이러한 패키지가 올바른 Python 설치 위치에 설치되어 있는지 확인합니다. 이 옵션을 -t 사용하여 대상 디렉터리를 지정할 수 있습니다.

    pip install matplotlib
    pip install pandas
    pip install pyodbc
    pip install scipy
    pip install scikit-learn
    

다음 icacls 명령을 실행하여 SQL Server 실행 패드 서비스 및 SID S-1-15-2-1(ALL_APPLICATION_PACKAGES)에 설치된 라이브러리에 대한 READ 및 EXECUTE 액세스 권한을 부여합니다.

  icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
  icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T

샘플 데이터베이스 복원

이 자습서에 사용된 샘플 데이터 세트는 다운로드하여 사용할 수 있도록 .bak 데이터베이스 백업 파일에 저장되었습니다. 이 데이터 세트는 TPC(트랜잭션 처리 성능 위원회)에서 제공하는 tpcx-bb 데이터 세트에서 파생됩니다.

참고 항목

빅 데이터 클러스터에서 Machine Learning Services를 사용하는 경우 SQL Server 빅 데이터 클러스터 마스터 인스턴스에 데이터베이스 복원을 참조하세요.

  1. tpcxbb_1gb.bak 파일을 다운로드하세요.

  2. 다음 세부 정보를 사용하여 Azure Data Studio의 백업 파일에서 데이터베이스 복원의 지침을 따릅니다.

    • 다운로드한 tpcxbb_1gb.bak 파일에서 가져오기
    • 대상 데이터베이스 이름을 "tpcxbb_1gb"로 지정합니다.
  3. dbo.customer 테이블을 쿼리하여 데이터베이스를 복원한 후 데이터 세트가 있는지 확인할 수 있습니다.

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    
  1. tpcxbb_1gb.bak 파일을 다운로드하세요.

  2. 다음 세부 정보를 사용하여 SQL Server Management Studio에서 SQL Managed Instance로 데이터베이스 복원의 지침을 따릅니다.

    • 다운로드한 tpcxbb_1gb.bak 파일에서 가져오기
    • 대상 데이터베이스 이름을 "tpcxbb_1gb"로 지정합니다.
  3. dbo.customer 테이블을 쿼리하여 데이터베이스를 복원한 후 데이터 세트가 있는지 확인할 수 있습니다.

    USE tpcxbb_1gb;
    SELECT * FROM [dbo].[customer];
    

리소스 정리

이 자습서를 계속 진행하지 않려면 tpcxbb_1gb 데이터베이스를 삭제합니다.

다음 단계

이 자습서 시리즈의 1부에서는 다음 단계를 완료했습니다.

  • 샘플 데이터베이스 복원

Machine Learning 모델을 위해 데이터를 준비하려면 이 자습서 시리즈의 2부를 진행합니다.