Leveraging the power of Python, Octave and Matlab for Machine Learning
Mohammad Muqri, Seta Boghikian-Whitby, Muiz Muqri, Zacki Muqri, Sarah Muqri · 2024
The objective of this paper is to bring awareness, instigate interest, and promote the need of using Artificial Intelligence (AI) and machine learning algorithms for information and engineering technology students.This paper will also attempt to review some of the widely used methods for supervised and unsupervised machine learning and the key issues that students may come across, suggest some discrete resolutions so as to provide optimal results on the accuracy and validity of Train and Test methodology.Operational Definitions: Artificial intelligence is the intelligence demonstrated by machines while machine learning is the ability of a computer to learn and make decisions the same as a human.Data science is the exploration and quantitative analysis of all available structured and unstructured data to develop understanding, extract knowledge, and formulate actionable results.Machine learning (ML) process may be divided into three main steps: data cleansing, feature extraction and optimization, and train/test system modeling.Models are evaluated based on statistics about the errors, or residuals, in the predicted values.Evaluating models is challenging since there is no testing data with labels to determine the correctness.In Python, Principal Component Analysis (PCA) is used to evaluate clustering methods.Scikit-learn is a Python library that implements the various types of machine learning algorithms, such as classification, regression, clustering, decision tree, and more.Using Scikit-learn, implementing machine learning is now simply a matter of supplying the appropriate data to a function so that you can fit and train the model.The paper will explore selected programming tools, theoretical analysis of selected machine learning algorithms and demonstrate the three main ML steps with examples.1. symbolic model manipulation 2. symbolic model simplification numeric model simulation 4. code generation (for efficiency)Some experts have reported that the premise of Matlab is numerical computing.Depending on the application, say if one just wants to numerically compute eigenvalues, inverses, or numerically solve differential equations then probably Python is the way to go, because one can easily learn Python and make use of libraries like Numpy, SciPy, and Scikit rich numerical computing tools and abundant community support and best of all it is free (Muqri & Chang, 2015).There are a number of software products that are add-ins to Matlab Machine Learning Toolbox that let you perform supervised machine learning.These are explained as well in Appendix A.The paper will start with an introduction, followed with justifications of different methodologies such as Matlab and Maple.Breast cancer data will be used for demonstrations.The paper will conclude by providing students with five different lab experiments to practice on using Python.The paper ends by providing student feedback.The paper includes an appendix demonstrating various Machine Learning Algorithms.