# Machine Learning for Software Engineers (Adaptilab)

Data Modeling with scikit-learn - Cross-Validation Learn about K-Fold cross-validation and why it's used. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B8ngJnrBNoo). Data Modeling with scikit-learn - Applying CV to Decision Trees Apply K-Fold cross-validation to decision trees. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3jOYJ2L9XDp). Clustering with scikit-learn - Hierarchical Clustering Learn about hierarchical clustering via the agglomerative approach. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/RMMpq19Vo1q). Clustering with scikit-learn - Evaluating Clusters Learn how to evaluate the performance of clustering algorithms. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/39Owjq2NnW4). Gradient Boosting with XGBoost - XGBoost Classifier Create an XGBoost classifier object. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YQ5nMjn24N2). Gradient Boosting with XGBoost - Model Persistence Save and load XGBoost models using joblib. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/xl9mJm4RzJz). Data Modeling with scikit-learn - Logistic Regression Implement logistic regression for classification tasks. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/39v9jknVN3M). Deep Learning with TensorFlow - Metrics Discover the most commonly used metrics for evaluating a neural network. Deep Learning with Keras - Sequential Model Learn how a neural network is built in Keras. Clustering with scikit-learn - Mean Shift Clustering Use mean shift clustering to determine the optimal number of clusters. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/q2omWplWx9r). Data Preprocessing with scikit-learn - Normalizing Data Learn about data normalization and implement a normalization function. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JPWR66G9gAJ). Deep Learning with TensorFlow - Softmax Use the softmax function to convert a neural network from binary to multiclass classification. Data Analysis with pandas - Indexing Understand how DataFrame values can be accessed via indexing. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/qVDzy5gG9B2). Gradient Boosting with XGBoost - XGBoost Regressor Create an XGBoost regressor object. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/qZr6ErOVN4y). Data Modeling with scikit-learn - Exhaustive Tuning Use exhaustive grid search techniques for hyperparameter tuning. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B1PB4MGOXB2). Clustering with scikit-learn - DBSCAN Learn about the DBSCAN clustering algorithm. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JYQpVMg6MLy). Deep Learning with Keras - Model Configuration Configure the Keras model for training. Deep Learning with TensorFlow - Logits Dive into the inner layers of a neural network and understand the importance of logits. Deep Learning with TensorFlow - Optimization Learn about loss functions and optimizing neural network weights. Data Analysis with pandas - File I/O Read from and write to different types of files in pandas. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7npOR61p9nQ). Data Analysis with pandas - To NumPy Understand how DataFrames can be converted to 2-D NumPy arrays. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/RMlM3NgjAyR). Data Analysis with pandas - Series Learn about the pandas Series object for 1-D data. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxZAOwDB7pZ). Data Preprocessing with scikit-learn - Labeled Data Separate the PCA components of a dataset by class. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YMQgOR115rn). Gradient Boosting with XGBoost - Hyperparameter Tuning Apply grid search cross-validation to XGBoost models. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/Y528kJOqO50). Data Analysis with pandas - DataFrame Learn about the pandas DataFrame object for 2-D data. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/xVovQB3Rknq). Data Analysis with pandas - Sorting Sort DataFrames based on their column features. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxMYYB1w3Kr). Clustering with scikit-learn - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3wrw28RpEz4). Clustering with scikit-learn - K-Means Clustering Learn about the K-Means clustering algorithm and how it works. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7AzwNx50kM1). Data Analysis with pandas - Grouping Learn how DataFrames can be grouped based on particular columns. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxQy88PwQEj). Data Manipulation with NumPy - Indexing Index into NumPy arrays to extract data and array slices. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/xV1qvj6PKkJ). Data Preprocessing with scikit-learn - Data Imputation Learn about data imputation and the various methods to accomplish it. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JPPonoGX40y). Data Preprocessing with scikit-learn - PCA Learn about PCA and why it's useful for data preprocessing. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3jYKmrVAPGQ). Data Analysis with pandas - Plotting Learn how to plot DataFrames using the pyplot API from Matplotlib. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JYEwVPx4X1v). Clustering with scikit-learn - Introduction An overview of unsupervised learning and clustering. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gkylrMMlZZD). Clustering with scikit-learn - Cosine Similarity Learn about the cosine similarity metric and how it's used. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/m220RR1ZNVp). Data Modeling with scikit-learn - Ridge Regression Understand the need for regularization in linear regression. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JYlM1noxJ9o). Data Manipulation with NumPy - Introduction An overview of data processing and the NumPy library. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/NEEDzxZgrY6). Clustering with scikit-learn - Nearest Neighbors Understand the purpose of finding nearest neighbors for data points. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/qVLk26yvZy3). Gradient Boosting with XGBoost - Cross-Validation Use cross-validation to evaluate parameters for XGBoost. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YVMg3o9EJX0). Data Manipulation with NumPy - Filtering Filter NumPy data for specific values. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YQlK1mDPgpK). Data Manipulation with NumPy - Statistics Learn how to apply statistical metrics to NumPy data. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JPXwgvr2qky). Data Preprocessing with scikit-learn - Robust Scaling Understand how outliers can affect data and implement robust scaling. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/N8KEyMK20DK). Data Modeling with scikit-learn - Training and Testing Separate a dataset into training and testing sets. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YMlO4rW66k2). Deep Learning with Keras - Model Output Complete a multilayer perceptron model in Keras. Deep Learning with Keras - Model Execution Learn how to train, evaluate, and make predictions with a Keras model. Data Modeling with scikit-learn - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/g77VDw2MGKr). Data Analysis with pandas - Filtering Filter DataFrames for values that fit certain conditions. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/mEGjmlLgzp0). Deep Learning with TensorFlow - Quiz Have questions about Quiz? Go for it! Deep Learning with TensorFlow - Model Initialization Learn about the input and output layers of a neural network. Deep Learning with TensorFlow - Training Initialize and train a TensorFlow neural network using actual training data. Data Modeling with scikit-learn - Introduction An overview of the main models used in scikit-learn. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YMlqG9Pr0q9). Deep Learning with TensorFlow - Introduction An overview of the multilayer perceptron neural network and deep learning in TensorFlow. Deep Learning with Keras - Quiz Have questions about Quiz? Go for it! Data Modeling with scikit-learn - Evaluating Models Learn how to evaluate classification and regression models. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/RLB0J8OWyyR). Gradient Boosting with XGBoost - Introduction An intro to XGBoost and gradient boosted decision trees. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B6EPL22opjY). What you'll learn from this course - Overview Have questions about Overview? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/YVzpz7YLXmA). Data Manipulation with NumPy - NumPy Arrays Learn about NumPy arrays and how they're used. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3jyvQ3pg6KO). Data Manipulation with NumPy - Saving Data Learn how to save and load NumPy data. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B89ERoBzg0k). Data Manipulation with NumPy - NumPy Basics Perform basic operations to create and modify NumPy arrays. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B81vnyp0GpY). Data Manipulation with NumPy - Aggregation Use aggregation techniques to combine NumPy data and arrays. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7nnxwPxALZj). Data Manipulation with NumPy - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gkzXzGBwm3D). Data Modeling with scikit-learn - Decision Trees Learn about decision trees and how they're used. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gx7wZzWn5Vj). Gradient Boosting with XGBoost - XGBoost Basics Learn about the basics of using XGBoost. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxBRBpE1XB9). Deep Learning with TensorFlow - Linear Limitations An overview of the limitations of a single layer perceptron model. Gradient Boosting with XGBoost - Feature Importance Learn about feature importance in making model predictions. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/N7g60WXxz0p). Gradient Boosting with XGBoost - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3jXZ3YVB8rA). Deep Learning with Keras - Introduction An overview of the Keras API and how it compares to TensorFlow. Deep Learning with Keras - Course Conclusion Have questions about Course Conclusion? Go for it! Deep Learning with TensorFlow - Evaluation Evaluate a fully trained neural network using the model accuracy as the evaluation metric. Data Manipulation with NumPy - Math Understand how arithmetic and linear algebra work in NumPy. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxkVE8NEvXj). Data Analysis with pandas - Introduction An overview of data analysis with pandas. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/xV9mMjj74gE). Data Preprocessing with scikit-learn - Introduction An overview of industry data science and the scikit-learn API. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7nn0m3M6Nq1). Data Preprocessing with scikit-learn - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JYpkxqnmOvo). Deep Learning with TensorFlow - Hidden Layer An overview of the limitations of a single layer perceptron model. Data Manipulation with NumPy - Random Generate numbers and arrays from different random distributions. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/3jEwl04BL7Q). Data Analysis with pandas - Combining Combine multiple DataFrames through concatenation and merging. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/m2yMjpwEBMG). Data Analysis with pandas - Features Learn about the different feature types that can be part of a dataset. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/B8nMkqBWONo). Data Analysis with pandas - Quiz Have questions about Quiz? Go for it! View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/Y521PD5mjWK). Data Preprocessing with scikit-learn - Standardizing Data Learn about data standardization and implement it with scikit-learn. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/39Ek39vZBy9). Data Preprocessing with scikit-learn - Data Range Create a function to compress data into a specific range of values. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/m2NM6z59kDn). Data Modeling with scikit-learn - Linear Regression Learn about basic linear regression and how it's used. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gkyDARAYV2j). Data Modeling with scikit-learn - Bayesian Regression Learn about Bayesian regression techniques. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/JYPmOo39Bql). Clustering with scikit-learn - Feature Clustering Use agglomerative clustering for feature dimensionality reduction. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7nO7GQL4xj8). Data Modeling with scikit-learn - LASSO Regression Apply regularization with LASSO regression. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7n9N5JMAjgQ). Gradient Boosting with XGBoost - Storing Boosters Save and load Booster objects using XGBoost binary files. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/7np2GOryn2j). Data Analysis with pandas - Metrics Use pandas to obtain statistical metrics for data. View the lesson [here](https://www.educative.io/courses/machine-learning-for-software-engineers/gxpWJ3ZKYwl). Deep Learning with TensorFlow - Multiclass Understand the differences between binary and multiclass classification.