Skip to content

Azure Machine Learning setup

Adam edited this page May 13, 2021 · 30 revisions

Note: This guide is being updated per Microsoft's migration documentation to reflect changes in Micrsoft Azure products from ML Studio (classic) to the Azure Portal/ARM based Azure Machine Learning. The prior version of this documentation can be found here.

To enable the connector to leverage Azure Machine Learning in order to predict Work Item Type (IR/SR), Classification/Area, Support Group, and optionally the Impacted Configuration Item(s), you'll need to create an Azure Machine Learning account over at https://ml.azure.com/. You can alternatively deploy through the Azure Portal at https://portal.azure.com/.

PLEASE NOTE

Use of Azure Machine Learning has costs associated with it that your organization will incur. Please ensure you understand pricing when you select a Compute Target for training/prediction. A Compute Target is one or many machines required for the initial training and then prediction of results. Compute Targets give you the ability to scale up or down based on your needs without having to change any of your ML experiments. This gives you a flexible way to control cost. A complete list of pricing can be found here.

Create an Azure Machine Learning Studio Workspace

  1. Sign into https://portal.azure.com with the credentials/account you'll use to create the service
  2. Create a New Resource, searching for "Machine Learning Studio Workspace" and choosing Create.
  • screen 1
  • screen 2

Next we'll need to provide some information about the Machine learning workspace we're creating. We'll need to choose our subscription, select a Resource Group (or create a new one such as MachineLearningSCSM), give our workspace a name, pick a region, storage account, a Key Vault, Application Insights, and finally our Container Registry.

  • screen 3
  1. Once created, let's head into our new resource and from there click Launch Studio seen within "Overview"
  • screen 4
  1. With our Machine Learning workspace up and running, we'll need to upload our SCSM data to train Azure on. We'll be retrieving all Incidents, Service Requests, their Classifications, and Support Groups. We'll then save this as a CSV and upload to Azure. There are a few ways we can get this data so let's cover them here:

Option 1: SCSM Data Warehouse

SELECT ir.Title as 'Email_Subject',
ir.Description as 'Email_Description',
ic.EnumTypeId as 'Case_Subject',
tq.EnumTypeId as 'Queue_Name',
'ir' as 'Case_CaseType'
FROM IncidentDim as ir
    inner join IncidentTierQueuesvw as tq on ir.TierQueue_IncidentTierQueuesId = tq.IncidentTierQueuesId
    inner join IncidentClassification as ic on ir.Classification_IncidentClassificationId = ic.IncidentClassificationId
WHERE ir.Source like '%email%'
    and ir.Status like '%Closed%'
AND ir.createddate > '1-1-2021'

UNION ALL

SELECT sr.Title as 'Email_Subject',
sr.Description as 'Email_Description',
sa.EnumTypeId as 'Case_Subject',
sg.EnumTypeId as 'Queue_Name',
'sr' as 'Case_CaseType'
FROM ServiceRequestDim as sr
    inner join ServiceRequestSupportGroup as sg on sr.SupportGroup_ServiceRequestSupportGroupId = sg.ServiceRequestSupportGroupId
    inner join ServiceRequestArea as sa on sr.Area_ServiceRequestAreaId = sa.ServiceRequestAreaId
WHERE sr.Source like '%email%'
    and sr.Status like '%Closed%'
AND sr.createddate > '1-1-2021'

Option 2: Cireson Analytics

SELECT ir.Title as 'Email_Subject',
    ir.[Description] as 'Email_Description',
    ir.ClassId as 'Case_Subject',
    ir.TierId as 'Queue_Name',
    'ir' as 'Case_CaseType',
    ir.created
FROM SM_WorkItem_Incident as ir
WHERE ir.Source = 'E-Mail'
    and ir.[Status] = 'Closed'
    and ir.Created > '1-1-2021'

UNION ALL

SELECT sr.Title as 'Email_Subject',
    sr.[Description] as 'Email_Description',
    sr.ClassId as 'Case_Subject',
    sr.TierId as 'Queue_Name',
    'sr' as 'Case_CaseType',
    sr.created
FROM SM_WorkItem_ServiceRequest as sr
WHERE sr.Source = 'E-Mail'
    and sr.[Status] = 'Closed'
    and sr.Created > '1-1-2021'