Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Узнайте, как создать модель многоклассовой классификации с помощью Конструктора моделей для классификации уровня риска нарушений ресторанов, обнаруженных во время проверок работоспособности.
В этом руководстве вы узнаете, как:
- Подготовка и понимание данных
- Создание файла конфигурации построителя моделей
- Выбор сценария
- Загрузка данных из базы данных
- Обучение модели
- Оценка модели
- Использование модели для прогнозирования
Предпосылки
Список необходимых компонентов и инструкций по установке см. в руководстве по установке конструктора моделей .
Общие сведения о многоклассовой классификации конструктора моделей
В этом примере создается консольное приложение C#, которое классифицирует риск нарушений работоспособности с помощью модели машинного обучения, созданной с помощью конструктора моделей. Исходный код для этого руководства можно найти в репозитории dotnet/machinelearning-samples GitHub.
Создание консольного приложения
Создайте консольное приложение C# с именем "RestaurantViolations".
Подготовка и понимание данных
Набор данных, используемый для обучения и оценки модели машинного обучения, изначально является результатом оценки безопасности ресторана в Сан-Франциско. Для удобства набор данных был сокращен, чтобы включить только столбцы, относящиеся к обучению модели и делать прогнозы. Посетите следующий веб-сайт, чтобы узнать больше о наборе данных.
Скачайте набор данных оценки безопасности ресторана и распакуйте его.
Каждая строка в наборе данных содержит информацию о нарушениях, наблюдаемых во время проверки со стороны Департамента здравоохранения, и оценки риска этих нарушений, присутствующих в области здравоохранения и безопасности.
| Тип проверки | Описание нарушения | RiskCategory |
|---|---|---|
| Рутина — незапланированная | Неадекватно очищаются или санируются контактные поверхности пищевых продуктов | Умеренный риск |
| Новая собственность | Высокий риск заражения вредителями | Высокий риск |
| Процедура — незапланированная | Салфетки не чистые, неправильно хранятся или недостаточно дезинфицирующее средство. | Низкий риск |
- InspectionType: тип проверки. Это может быть первичная проверка для нового объекта, плановая проверка, проверка по жалобе и другие виды проверок.
- Нарушение: описание нарушения, обнаруженного во время проверки.
- RiskCategory: серьезность риска представляет нарушение для общественного здравоохранения и безопасности.
label — это столбец, который требуется прогнозировать. При выполнении задачи классификации цель — назначить категорию (текст или числовое). В этом сценарии классификации серьезность нарушения назначается значение низкого, умеренного или высокого риска. Таким образом, riskCategory — это метка. Это features данные, которые вы предоставляете модели, чтобы она могла предсказать label. В этом случае Тип проверки и Описание нарушения используются в качестве признаков или входных данных для прогнозирования RiskCategory.
Создание файла конфигурации построителя моделей
При первом добавлении конструктора моделей в решение вам будет предложено создать файл mbconfig. Файл mbconfig отслеживает все, что вы делаете в построителе моделей, чтобы разрешить повторно открыть сеанс.
- В обозревателе решений щелкните правой кнопкой мыши проект RestaurantViolations и выберите "Добавить>модель машинного обучения".
-
mbconfigНазовите проект RestaurantViolationsPrediction и нажмите кнопку "Добавить".
Выбор сценария
Экран сценария построителя моделей
Чтобы обучить модель, выберите из списка доступных сценариев машинного обучения, предоставляемых конструктором моделей. В этом случае сценарий — классификация данных.
- Для этого примера задача является многоклассовой классификацией. На шаге сценария построителя моделей выберите сценарий классификации данных .
Загрузка данных
Построитель моделей принимает данные из базы данных SQL Server или локального файла в формате csv, tsv или txt.
- На шаге данных средства построителя моделей выберите SQL Server из выбора типа источника данных.
- Нажмите кнопку "Выбрать источник данных ".
- В диалоговом окне "Выбор источника данных " выберите файл базы данных Microsoft SQL Server.
- Снимите флажок "Всегда использовать этот выбор" и нажмите "Продолжить".
- В диалоговом окне "Свойства подключения" выберите "Обзор " и выберите скачанный RestaurantScores.mdf файл.
- Нажмите ОК.
- Выберите "Нарушения " в раскрывающемся списке "Таблица ".
- Выберите RiskCategory в раскрывающемся списке Столбец для прогнозирования (Метка).
- Оставьте выбранные значения по умолчанию в параметрах расширенных данных.
- Нажмите кнопку "Следующий шаг", чтобы перейти к шагу обучения в Построителе моделей.
Обучение модели
Задача машинного обучения, используемая для обучения модели классификации проблем в этом руководстве, является многоклассовой классификацией. Во время обучения модели построитель моделей обучает отдельные модели с использованием различных алгоритмов и параметров многоклассовой классификации, чтобы найти оптимальную модель для набора данных.
Время, необходимое для обучения модели, пропорционально объему данных. Построитель моделей автоматически выбирает значение по умолчанию для времени обучения (в секундах) в зависимости от размера вашего источника данных.
- Построитель моделей задает значение времени для обучения (секунд) до 60 секунд. Обучение в течение длительного периода времени позволяет построителю моделей изучать большее количество алгоритмов и сочетание параметров в поиске лучшей модели.
- Нажмите кнопку "Начать обучение".
На протяжении всего учебного процесса данные о прогрессе отображаются в разделе Training results шага тренировки.
- Состояние отображает состояние завершения процесса обучения.
- Лучшая точность отображает точность оптимальной модели, найденной конструктором моделей до сих пор. Более высокая точность означает, что модель предсказала более правильно в тестовых данных.
- Лучший алгоритм отображает имя оптимального алгоритма, который был найден конструктором моделей до сих пор.
- Последний алгоритм отображает имя алгоритма, который недавно использовался конструктором моделей для обучения модели.
После завершения обучения файл mbconfig будет содержать созданную модель с именем RestaurantViolationsPrediction.zip и два файла C#:
- RestaurantViolationsPrediction.consumption.cs. Этот файл имеет общедоступный метод, который загружает модель, создаёт движок прогнозирования и возвращает прогноз.
- RestaurantViolationsPrediction.training.cs. Этот файл состоит из конвейера обучения, созданного конструктором моделей для создания лучшей модели, включая использованные гиперпараметры.
Нажмите кнопку Следующий шаг, чтобы перейти к шагу оценки.
Оценка модели
Результатом этапа обучения будет одна модель, которая имела лучшую производительность. На шаге оценки средства построителя моделей в разделе "Лучшая модель" будет содержаться алгоритм, используемый лучшей моделью, в записи Модель, а также метрики для этой модели в Точность.
Кроме того, в окне выходных данных Visual Studio будет сводная таблица, содержащая лучшие модели и их метрики.
В этом разделе также можно протестировать модель, выполнив один прогноз. Предусмотрены текстовые поля для ввода значений, и вы можете нажать кнопку "Предсказать", чтобы получить прогноз от лучшей модели. По умолчанию это будет заполнено случайной строкой в наборе данных.
(Необязательно) Использовать модель
На этом шаге будут использоваться шаблоны проектов, которые можно использовать для использования модели. Этот шаг является необязательным, и вы можете выбрать метод, который лучше всего соответствует вашим потребностям в том, как обслуживать модель.
- Консольное приложение
- Веб-API
Консольное приложение
При добавлении консольного приложения в решение вам будет предложено указать имя проекта.
Назовите консольный проект RestaurantViolationsPrediction_Console.
Щелкните Добавить в решение, чтобы добавить проект в текущее решение.
Запустите приложение.
Выходные данные, созданные программой, должны выглядеть следующим образом:
InspectionType: Routine - Unscheduled ViolationDescription: Moderate risk food holding temperature Predicted RiskCategory: Moderate Risk
Веб-API
При добавлении веб-API в решение вам будет предложено назвать проект.
Назовите проект веб-API RestaurantViolationsPrediction_API.
Нажмите кнопку Добавить в решение* , чтобы добавить проект в текущее решение.
Запустите приложение.
Откройте PowerShell и введите следующий код, в котором ПОРТ является портом, в котором приложение прослушивается.
$body = @{ InspectionType="Reinspection/Followup" ViolationDescription="Inadequately cleaned or sanitized food contact surfaces" } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"При успешном выполнении выходные данные должны выглядеть примерно так же, как и в приведенном ниже тексте. Выходные данные имеют прогнозируемую Категорию риска как Умеренный риск, а также оценки для каждой из входных меток: Низкий риск, Высокий риск и Умеренный риск.
prediction score ---------- ----- Moderate Risk {0.055566575, 0.058012854, 0.88642055}
Поздравляю! Вы успешно создали модель машинного обучения для классификации риска нарушений в области здравоохранения с помощью Model Builder. Исходный код для этого руководства можно найти в репозитории dotnet/machinelearning-samples GitHub.
Дополнительные ресурсы
Дополнительные сведения о разделах, упомянутых в этом руководстве, см. в следующих ресурсах:
- Сценарии модельного конструктора
- Многоклассовая классификация
- Метрики модели многоклассовой классификации