Поделиться через


Руководство по Python. Классификация клиентов с помощью кластеризации k-средних с помощью машинного обучения SQL

Область применения: SQL Server 2017 (14.x) и более поздних версий Управляемый экземпляр SQL Azure

В этом серии учебников с четырьмя частью используйте Python для разработки и развертывания модели кластеризации K-Средних в службах SQL Server Машинное обучение или Кластеры больших данных для классификации данных клиентов.

В этой серии руководств по четырех частей используйте Python для разработки и развертывания модели кластеризации K-Средних в SQL Server Машинное обучение Services для кластеризации данных клиента.

В этой серии учебников с четырьмя частью используйте Python для разработки и развертывания модели кластеризации K-Средних в службах Управляемый экземпляр SQL Azure Машинное обучение для кластеризации данных клиентов.

В одной из этих рядов настройте предварительные требования для руководства и восстановите образец набора данных в базу данных. Далее в этой серии используйте эти данные для обучения и развертывания модели кластеризации в Python с помощью машинного обучения SQL.

В двух и трех частях этой серии вы можете разработать некоторые скрипты Python в записной книжке Azure Data Studio для анализа и подготовки данных и обучения модели машинного обучения. Затем, в четвертой части, запустите эти скрипты Python в базе данных с помощью хранимых процедур.

Кластеризацию можно описать как организацию данных по группам, где члены группы каким-либо образом похожи друг на друга. В рамках этой серии руководств вы можете представить себя владельцем розничного предприятия. Используйте алгоритм K-Средних для выполнения кластеризации клиентов в наборе данных о покупках и возврате продуктов. Благодаря кластеризации клиентов вы можете более эффективно осуществлять маркетинговую деятельность, ориентируясь на конкретные группы. Кластеризация методом k-средних — это алгоритм неконтролируемого обучения, который ищет закономерности в данных на основе сходства.

В этой статье раскрываются следующие темы:

  • Восстановление примера базы данных

В первой части вы узнаете, как подготовить данные из базы данных для выполнения кластеризации.

В третьей части вы узнаете, как создать и обучить модель кластеризации K-Средних в Python.

В четвертой части вы узнаете, как создать хранимую процедуру в базе данных, которая может выполнять кластеризацию в Python на основе новых данных.

Необходимые компоненты

  • Azure Data Studio. используйте записную книжку в Azure Data Studio для Python и SQL. Дополнительные сведения о записных книжках см. в статье Использование записных книжек в Azure Data Studio.

  • Дополнительные пакеты Python. Примеры в этой серии учебников используют пакеты Python, которые могут быть установлены или не установлены.

    Откройте командную строку администрирования и измените путь установки для версии Python, используемой в Azure Data Studio. Например, 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 , чтобы предоставить доступ READ и EXECUTE к установленным библиотекам службе запуска SQL Server и SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES).

  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, чтобы его можно было скачать и использовать. Этот набор данных является производным от набора данных tpcx-bb, предоставляемого Советом по оценке производительности обработки транзакций (TPC).

Примечание.

Если вы используете Службы машинного обучения в Кластерах больших данных, ознакомьтесь со статьей Восстановление базы данных на главном экземпляре кластера больших данных 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 в SQL Server Management Studio, используя следующие сведения:

    • Выполните импорт из скачанного файла tpcxbb_1gb.bak.
    • Присвойте целевой базе данных имя tpcxbb_1gb.
  3. Вы можете убедиться, что набор данных существует после восстановления базы данных, запросив таблицу dbo.customer :

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

Очистка ресурсов

Если вы не собираетесь продолжать работу с этим учебником, удалите базу данных tpcxbb_1gb.

Следующий шаг

В первой части этого учебника вы выполнили следующие действия:

  • Восстановление примера базы данных

Чтобы подготовить данные из для модели машинного обучения, перейдите ко второй части этого учебника: