다음을 통해 공유


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부에서는 자습서의 사전 요구 사항을 설치한 다음, 샘플 데이터 세트를 데이터베이스에 복원합니다. 이 시리즈의 뒷부분에서는 Python에서 SQL 기계 학습을 사용하여 이 데이터로 클러스터링 모델을 학습시키고 배포합니다.

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

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

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

  • 샘플 데이터베이스 복원

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

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

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

필수 조건

  • Azure Data Studio Python 및 SQL 모두에 대해 Azure Data Studio에서 Notebook을 사용합니다. Notebooks에 대한 자세한 내용은 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부를 진행합니다.