{"id":22785728,"url":"https://github.com/avidrucker/ml-course-map","last_synced_at":"2026-01-08T15:05:17.340Z","repository":{"id":267317462,"uuid":"900875504","full_name":"avidrucker/ml-course-map","owner":"avidrucker","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-16T17:31:33.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T15:33:58.594Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avidrucker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-09T16:23:18.000Z","updated_at":"2024-12-16T17:31:37.000Z","dependencies_parsed_at":"2024-12-09T17:36:00.786Z","dependency_job_id":"e1c9a8c3-8068-4420-a39a-13d5fac10771","html_url":"https://github.com/avidrucker/ml-course-map","commit_stats":null,"previous_names":["avidrucker/ml-course-map"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/avidrucker/ml-course-map","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Fml-course-map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Fml-course-map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Fml-course-map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Fml-course-map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avidrucker","download_url":"https://codeload.github.com/avidrucker/ml-course-map/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Fml-course-map/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28246414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-08T02:00:06.591Z","response_time":241,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T23:07:26.904Z","updated_at":"2026-01-08T15:05:17.286Z","avatar_url":"https://github.com/avidrucker.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Machine Learning Course Map\n\n**Machine Learning Fundamentals (topic)**  \n- Overview (topic)  \n  - (assertion) Students should be able to use scikit-learn to create, train, and test various machine learning models.  \n  - (assertion) Students should be able to produce plots and visualizations of data and model performance using matplotlib.  \n  - (assertion) Students should understand the difference between supervised, unsupervised, and semi-supervised learning techniques.\n\n- Naive Bayes Classification (topic)  \n  - (assertion) Naive Bayes classifiers assume that features are conditionally independent given the class label.  \n  - (assertion) Naive Bayes can handle categorical data by encoding features into numeric values and applying suitable probability models.  \n  - (assertion) Naive Bayes is particularly effective for text classification problems due to its simple probabilistic approach.\n\n- Linear Regression (topic)  \n  - (assertion) Linear regression fits a linear model to minimize the sum of squared errors between predictions and actual values.  \n  - (assertion) Common evaluation metrics for linear regression include Mean Squared Error (MSE) and R-squared (coefficient of determination).  \n  - (assertion) Proper feature scaling and removal of outliers can improve the stability and accuracy of a linear regression model.\n\n- Logistic Regression (topic)  \n  - (assertion) Logistic regression models the probability of a binary outcome as a logistic function of input features.  \n  - (assertion) Unlike linear regression, logistic regression outputs probabilities and is suitable for classification tasks.  \n  - (assertion) The decision boundary in logistic regression is linear in the feature space.\n\n- Gradient Descent (topic)  \n  - (assertion) Gradient descent is an iterative optimization algorithm used to find a local minimum of a differentiable function.  \n  - (assertion) In machine learning, gradient descent is commonly used to adjust model parameters to minimize a loss function.  \n  - (assertion) Learning rate selection is crucial; too large a value can cause divergence, while too small slows convergence.\n\n- Multi-variable Regression (topic)  \n  - (assertion) Multi-variable (multivariate) regression extends linear regression to multiple input features simultaneously.  \n  - (assertion) Feature scaling and normalization often improve the conditioning of the problem, leading to more stable parameter estimates.  \n  - (assertion) Multicollinearity between features can reduce interpretability and stability of regression coefficients.\n\n- Decision Trees (topic)  \n  - (assertion) Decision trees recursively split the dataset based on feature values to create a hierarchy of decision rules.  \n  - (assertion) Each internal node in a decision tree corresponds to a test on a feature, and each leaf node corresponds to a class or value prediction.  \n  - (assertion) Decision trees can overfit if not pruned or constrained by parameters like max depth or minimum samples per split.\n  - (task) Given a dataset, set max_depth=3 and fit a DecisionTreeClassifier, then visualize decision boundaries to understand how the model splits features.\n\n- Random Forest (topic)  \n  - (assertion) A random forest is an ensemble of decision trees, each trained on a random subset of features and samples.  \n  - (assertion) Random forests generally improve over single decision trees by reducing variance and thus overfitting.  \n  - (assertion) The final prediction of a random forest is typically made by averaging or majority voting over all trees.\n  - (task) Fit a RandomForestClassifier with default parameters and report classification metrics.  \n  - (assertion) Random forests can produce stable results with minimal tuning and handle complex decision boundaries.\n\n- Overfitting/Underfitting (topic)  \n  - (assertion) Overfitting occurs when a model learns patterns specific to the training data, failing to generalize to unseen data.  \n  - (assertion) Underfitting occurs when a model is too simple to capture underlying trends in the data.  \n  - (assertion) The bias-variance trade-off describes the balance between model complexity (variance) and generalization (bias).\n\n- Evaluation Metrics (topic)  \n  - (assertion) Accuracy measures the proportion of correct predictions but can be misleading if classes are imbalanced.  \n  - (assertion) Precision and recall help evaluate the model’s performance on minority classes more effectively than accuracy alone.  \n  - (assertion) The AUC (Area Under the ROC Curve) metric summarizes model performance across various threshold settings.\n  - (task) Compute classification_report (precision, recall, f1-score, accuracy) for multiple models and interpret differences.  \n  - (assertion) Classifier choice may depend on cost-sensitive considerations: finding all positives (high recall) vs. avoiding false positives (high precision).\n\n- Data Preprocessing (topic)  \n  - (assertion) Scaling features ensures that no single feature dominates the model due to differences in magnitude and units.  \n  - (assertion) Imputing missing data allows models to use as many samples as possible without discarding incomplete rows.  \n  - (assertion) Handling outliers by transformation or removal can improve model stability and reduce the impact of anomalous points.\n  - (assertion) Stratification in train-test splitting ensures that class proportions are maintained, especially critical when classes are imbalanced.  \n  - (task) Perform a stratified train-test split using `StratifiedKFold` or `train_test_split` with `stratify` parameter.\n\n- Support Vector Classifier (SVC) (topic)  \n  - (assertion) An SVC tries to find a hyperplane that maximizes the margin between classes.  \n  - (assertion) Kernel functions allow SVC to model complex, non-linear decision boundaries.  \n  - (assertion) Regularization parameters (like C) control the trade-off between a smooth decision boundary and correctly classifying training samples.\n  - (task) Fit an SVC with rbf kernel and C=1000, visualize decision boundaries, and compare metrics (precision, recall, F1).\n\n- Clustering (topic)  \n  - (assertion) K-means clustering partitions data into K clusters, minimizing the within-cluster sum of squares.  \n  - (assertion) The choice of K in K-means can be guided by methods like the elbow method, silhouette score, or domain knowledge.  \n  - (assertion) Clustering is unsupervised, meaning it groups data based only on feature similarity, without class labels.\n\n- K-nearest Neighbors (KNN) (topic)  \n  - (assertion) KNN classifies a sample by looking at the classes of its K closest neighbors in feature space.  \n  - (assertion) KNN is a lazy learner and can become computationally expensive as the dataset grows large.  \n  - (assertion) Choosing K and the distance metric significantly affects KNN’s performance and stability.\n\n- Model Selection \u0026 Hyper-parameter Tuning (topic)  \n  - (assertion) Cross-validation helps estimate how well a model generalizes by training and evaluating on multiple folds of the data.  \n  - (assertion) GridSearch automates the search for optimal hyper-parameters by exhaustively trying combinations from a predefined set.  \n  - (assertion) Proper hyper-parameter tuning can drastically improve model performance while preventing overfitting.\n\n- Dimensionality Reduction (topic)  \n  - (assertion) Principal Component Analysis (PCA) projects data onto directions of maximum variance to reduce the dimensionality.  \n  - (assertion) Dimensionality reduction can speed up training and reduce overfitting by removing noise and redundant features.  \n  - (assertion) Retaining only a few principal components can preserve most variance while simplifying the model.\n\n- ML Pipelines (topic)  \n  - (assertion) A pipeline chains together preprocessing steps and a final estimator, ensuring a repeatable and clean workflow.  \n  - (assertion) By incorporating transformations like scaling, PCA, or feature selection into a pipeline, data leakage can be prevented.  \n  - (assertion) Pipelines make it easier to tune parameters for multiple steps simultaneously, improving the model selection process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favidrucker%2Fml-course-map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favidrucker%2Fml-course-map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favidrucker%2Fml-course-map/lists"}