Automated Deployment - Machine Learning for Telecommunication

Automated Deployment

Before you launch the automated deployment, please review the architecture, security, and other information discussed in this guide. Follow the step-by-step instructions in this section to configure and deploy the Machine Learning for Telecommunication solution into your account.

Time to deploy: Approximately five minutes

What We'll Cover

The procedure for deploying this architecture on AWS consists of the following steps. For detailed instructions, follow the links for each step.

Step 1. Launch the Stack

  • Launch the AWS CloudFormation template into your AWS account.

  • Enter values for required parameters: Source Bucket, Destination Bucket

  • Review the other template parameters and adjust if necessary.

Step 2. Run the Notebooks

  • Test the machine learning algorithms and run the notebooks.

Step 1. Launch the Stack

This automated AWS CloudFormation template deploys the Machine Learning for Telecommunication solution on the AWS Cloud.


You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Sign in to the AWS Management Console and click the button below to launch the machine-learning-for-telecommunication AWS CloudFormation template.

                                Machine Learning for Telecommunication launch button

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch the solution in a different AWS Region, use the region selector in the console navigation bar.


    This solution uses Amazon SageMaker, which is currently available in specific AWS Regions only. Therefore, you must launch this solution in an AWS Region where Amazon SageMaker is available. For the most current service availability by region, see AWS service offerings by region.

  3. On the Select Template page, assign a name to your solution stack.

  4. Under Parameters, review the parameters for the template and modify them as necessary. This solution uses the following default values.

    Parameter Default Description
    Industry telecom The industry for which the solution is deployed
    Source Bucket <Requires input> Unique name of the solution-created Amazon S3 bucket where your application artifacts will be stored
    Source Prefix machine-learning-for-all/V1.0.0/data Folder location of the dataset for the solution to process. By default, this is the location of synthetic dataset
    Destination Bucket <Requires input> Unique name of the solution-created Amazon S3 bucket where your AWS Glue processed Parquet data will be stored
    Detination Prefix machine-learning-for-all/V1.0/parq-conv Folder location of the AWS Glue processed dataset where glue job converts from CSV to Parquet
    Synthetic Data Yes Select Yes to transfer the synthetic demo dataset to the solution created Amazon S3 bucket and use it for modeling in the notebook. Select No to use your own dataset for modeling.

    You may need to update the schema. For more information, see Appendix A.

    Cron Job cron(0 0 1/1 * ? *) AWS Glue job scheduler for execution at a specific time. Use this parameter for long running jobs
    Start Transformation Yes Choose whether to start an ETL job transformation for converting CSV to Parquet format
    Deploy Sagemaker Yes Choose whether to deploy an Amazon SageMaker instance for execution of machine learning Jupyter notebooks
    Notebook Instance Type ml.t2.medium Select the instance type of the Amazon SageMaker instance

    We recommend a ml.p2.xlarge instance for notebooks with large amounts of data. For example the ML-telecom-TimeSeries-RandomForestClassifier-DeepAR notebook.

    KmsKeyId <Optional Input > AWS KMS key ID used to encrypt data at rest on the ML storage volume attached to the notebook instance.
  5. Choose Next.

  6. On the Options page, choose Next.

  7. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  8. Choose Create to deploy the stack.

    You can view the status of the stack in the AWS CloudFormation console in the Status column. You should see a status of CREATE_COMPLETE in approximately five minutes.


    In addition to the primary AWS Lambda functions, this solution includes the SolutionHelper Lambda function, which runs only during initial configuration or when resources are updated or deleted. When running this solution, the SolutionHelper function is inactive. However, do not delete this function as it is necessary to manage associated resources.

Step 2. Run the Notebooks

  1. In the AWS Management Console, navigate to the AWS CloudFormation stack Outputs tab.

  2. Copy the SageMakerInstance name.

  3. In the AWS Management Console, open the SageMaker instance.

  4. Under files, choose telecom.

  5. Open each of the notebooks: Ml-Telecom-NaiveBayes.ipynb,Ml-Telecom-PCA-KMeans.ipynb, and Ml-Telecom-RandomForestClassifier.ipynb.

  6. Choose Cell, then select Run all in each of the notebooks.

  7. Open the Ml-Telecom-RandomCutForest.ipynp notebook, and update the bucket_name located in cell 2 with the value you provided in the Source Bucket template parameter.

  8. Choose Cell, then select Run all.

  9. Open the Ml-Telecom-TimeSeries-RandomForestClassifier-DeepAR.ipynp notebook, and update the bucket_name located in cell 18 with the value you provided in the Source Bucket template parameter.

  10. Choose Cell, then select Run all.

Now you will be able to use the included Jupyter notebooks and the synthetic telecom dataset to demonstrate how to use machine learning algorithms to test and train models for time series predictive analysis in telecommunications.


The AWS Glue job processes the data to convert from CSV to Parquet and make sure the conversion job is complete before execution of the notebook. The AWS Glue job for data conversion of synthetic telecommunication dataset takes approximately one minute.