>> You're not going want to miss this episode of
The AI Show where literally it seems
like you have a data scientist in a box as a service.
It's amazing, make sure you tune in.
[MUSIC].
Hello and welcome to this episode of the AI Show.
This is funny because we did a whole thing,
Kiana and I, and I forgot to hit "Record".
Totally on me. Today we're
going to talk about automated machine learning,
a topic we've seen before,
but we're going to revisit again.
Kiana, why don't you tell us, who you are and what you do?
>> Hi, Seth. My name is Kiana and I
am a PM in the Azure Machine Learning team,
specifically working on the automated machine learning studio
and trying to make the user experience as pleasant as possible.
>> Tell us a little bit about what automated machine learning is.
>> Automated machine learning has been
around for a while and its sole purpose is to
democratize the way that machine learning
is being able to be used by different people.
We want to make sure that people who do
not have access or experience
with coding also are able
to use machine learning to promote their businesses.
So one of the best things about AutoML is that
you get to do everything from running,
training to deployment, all with the no code experience.
>> That's awesome. Who is this targeted to
and why would they choose to use something like this?
>> Our first target would be citizen data
scientists or any developers that
want to use low code or
no code experience to build models and deploy them.
Why would they use it?
Because automated machine learning does everything for you.
It goes through a bunch of combinations
of hyperparameters and algorithms,
and it keeps searching until it finds
the best model depending on the metric that you define yourself.
>> I'd love to see how this works.
Do you have something you can show us?
>> I definitely do.
Let's go through a demo.
What you see here is the Azure Machine Learning Studio.
On the side panel,
you can see one of our [inaudible] experiences
is the Automated ML.
Here you can easily start an Automated ML run.
But before we do that,
I wanted to talk to you about the problem that we're
going to be solving with Automated ML today.
This problem is called a bank marketing problem.
I have the dataset right here.
What we're going to do in this data set,
we have a bunch of data
related to marketing campaign of a Portuguese bank institution.
So what they did was they made several phone calls to
each customer and asked them if they
wanted the fixed term deposit.
What we are going to do is we're going
to use this data, make models,
and use that model to predict if other customers are going
to subscribe to a fixed bank deposit as well or not.
What we do is to start this experiment,
we go through and click the "New Automated ML run".
Here we would have the option to either choose from
existing registered datasets or if you don't want to do that,
you can easily create a dataset right here from your local files.
You, here have the option to put the dataset name.
I want to call this,
bank info 1, that's going to be the name.
The data set type is tabular and if you
want any description, you can put it here.
So you can say bank calling info.
After that, you have the option to choose
where do you want your data store to be.
Usually as the default,
we have the Azure Blob storage,
which is what we're going to use here.
Now, is the time to click "Browse" and actually
get the CSV file that we have for the dataset.
Then we click "Next" and
this CSV file is getting uploaded as an Azure registered dataset.
I don't want you to wait all this time,
so I already did this for you guys,
and here we are.
After this is all gone through,
we can see what the dataset actually looks like.
You can't see the first 50 rows here and different columns,
and what the column headers are.
For example, we have age, we have the job,
marital status, and different information about the customers.
Then we click "Next", and here we can visit the schema.
The schema is exactly each feature that exists in our dataset.
Here we can choose if we
want any of these to actually be included or not.
Let me make sure that we have the headers right.
Because all of my files here have the same headers,
I want to make sure that the headers are recognized by my dataset.
Now, because I have the headers,
we can see everything.
For example,
here the day of the week that we make the call has nothing to
do with the customer
wanting to subscribe to a fixed term deposit or not,
so I can ask for that
not to be included because it's unrelated data.
Then we confirm all the details,
and as easy as that,
we have a registered dataset that is right here for us.
I choose that dataset,
the good thing is you also have
the option to view it again if you want.
You can just click on it and you can
preview the whole dataset right here.
Then we click "Next",
and now it's time for us to configure our run.
You can either select an existing experiment or create a new one.
Sometimes when you're doing
the same experiment with different models over and over again,
it would be useful to use that experiment again.
For example, I've used this dataset and I
have an experiment called bank experiment 1,
but I can easily create a new one.
I'm going to call it bank experiment 2.
Now, the target column is going to be
the column that I am trying to predict.
Here, it's going to be the y column.
The y column includes either a y or an n; meaning yes,
the customer is going to subscribe to a fixed term deposit or no,
the customer is not going to do that.
So that's my target column.
Then we go to the next step which is going to be the task type.
I forgot to do the compute cluster.
>> Yeah, we need a computer, right?
>> Yeah, definitely. Without that how are we going to think?
We have to use one of these compute clusters,
or if you don't have one, you can easily,
again, make one right here.
The side panel is going to help you easily to choose your nodes,
that minimum and maximum,
and what kind of CPU or GPU you would want for your experiment.
I'm not going to do that, I'm going to choose what I have already.
Then we go to the last part,
which is additional task types and configurations.
Because the task type that I have here,
the problem is a classification problem,
that's the one I am going to use.
Now, automated machine learning has the benefit that
you can have additional configuration settings here.
You get to choose what metric you
want your model to be based upon.
So we can choose accuracy, AUC weighted,
and different depending on the task type that you have.
I am going to use AUC weighted,
which is area under the curve.
Then if you do have certain algorithms that you want blocked,
you have the option to do that from right here.
The other really good factor that automated ML
has is that you get to choose how many hours it runs for.
I'm going to say after one hour,
whatever the best model is,
I want you to stop there and not go on anymore.
This helps you actually save on your computing resources as well.
Validation type, you can also check
different options depending on either leading it to be auto,
so we will choose the best one for you,
or choosing one from the drop-down.
I'm going to say k-fold cross validation,
and I'm going to ask k to be two.
There's also a concurrency which would be
depending on the number of nodes that you have in your compute,
you can go up and down here.
I'm going to choose it to be five because I actually
do have five nodes in my compute target.
You can also leave this blank.
Now that I see that,
we go off to the Featurization Setting.
Automated ML also automatically
has enabled featurization for you being done in the background.
This means, for you,
it goes and checks every imputation,
any missing values, and make sure that everything in
your data is set and ready to go.
You can do that manually here as well.
For example, if your each column has some missing value,
you can impute it with the mean
or with the most frequent or the median.
Again, you don't have to do this,
but it's good to know that we
are checking this for you in the background.
Now that we have done all the customizations,
we are going for creation.
The automated ML run is now going to be started.
Of course, because this is going to take awhile,
I don't want to bore you guys.
So I have one that is already completed.
Now let's look at this.
After the status of the Run turns to completed,
you look at the best model summary.
You see what algorithm it is,
what your metric is,
and all the other information that you might want.
You have the option to look at all the other metrics
here as well if you are interested in comparing.
Now, the very interesting part,
remember when we were talking about featurization,
the automated machine learning automatically does
a featurization for you. What does that mean?
The data that I uploaded actually had some imbalance.
That means that one of the classes or several of the classes
had so many more rows in them than others.
So automated machine learning
got the alert and it makes sure that it
is detecting that input has imbalanced data and act accordingly.
Now, after the good stuff,
we have the Models tab,
which is populated with
every single Child model or
algorithm that automated ML has run for us.
All these algorithms are actually
here descending on my primary metrics.
For me it was AUC weighted.
The best model is going to be here
and everything else is going to be descending from there.
My best model was the VotingEnsemble,
and I can see what the metric is.
I can see how long it took for it to run, etc.
Now, I also have the option to just
open this model and try to learn more about it.
One thing that a lot of
our customers would like to know is about Explanation.
Model explanation is very
useful and it helps you
a lot when you want to talk to your stakeholders.
What does model explanation do?
It is a metric that is used to understand
what features are directly
impacting the model that you are looking at and why.
For example, here, we are
saying that what are the top eight features?
I can go up to five, say,
"Okay, what are the top five features that we have?"
Well, I can see that the first one is duration.
So the duration that the customer was with
the bank has the most to do
with them subscribing to a fixed term deposit or not.
Their level of employment,
the employment variation rate, and etc.
So I can see this in real time,
which ones of their user features
are contributing to my model predictions,
and if that's a good prediction or not.
Right from here, you also
have the option to deploy your model easily.
You just have to name the deployment and use your compute type.
As you can see, we started with
just a data set and we came to deployment,
all with that one single line of code.
>> Well, that was amazing.
I didn't want to interrupt because you basically
went from the data set,
the beginning of the data science process,
all the way to the thing is out in production,
and you didn't even do anything with code.
Look, I'm a data scientist type and there's
a week's worth of
garbage work where I'm literally doing all this stuff.
The part that was flaw,
because I hadn't seen this before,
was when it detected a feature problem,
the imbalance in the feature problem.
What other things can it detect when it comes to the features?
>> That's a really good question because we
have recently improved our data guardrails,
which are technically the guard rails we
put on the data before we send it to training.
The first part of an automated ML run is just preparing the data.
So we do reduce,
make sure that there are no imbalanced classes,
and if there are, we will make sure that
that does not make biased results.
We also check for any imputing values, any missing values.
We do check for any bias in the data as to it being overfitted.
So yeah, we do have a lot
of cool options and we're adding to them every day.
You can check out the different data guardrails
that we would have on our docs as well.
>> Then the other thing was, at the end,
and this is the part where
it's a week's worth of data science work,
where you literally explained to me
what features are causing the model to predict.
It was all just genius stuff.
I know you said this is for a citizen data scientists, but look,
for this semi citizen data scientists,
this is going to save me a week's worth of work initially.
Where can people go to find out more?
>> Well, you can always check out our docs on docs.Microsoft.com,
and we do have tutorials showing you how
to start from a very small model and build from there.
>> Awesome. Well, thank you so
much for spending some time with us,
Qian, and thank you so much for watching.
We've been learning all about automated machine learning.
To me, it feels like a data scientist in a box.
It's great, I love it.
Thank you so much for watching and
hopefully we'll see you next time. Take care.
[MUSIC]