Sign in to save your place.

πŸŽ“ COMPLETE DATA SCIENCE CURRICULUM

πŸ“Š Data Science Course Hub

From zero programming knowledge to building real machine learning models. Every concept explained like you're 5 years old!

πŸ“ˆ Course Progress

90% Complete

Python, Data Structures, Math, Statistics, Linear & Logistic Regression, Decision Trees, Deep Learning, NLP, and A/B Testing are ready!

πŸ“₯ Download Course Datasets

Every lesson that uses data has a dataset you can download. Save the file in the same folder as your script or notebook so pd.read_csv("filename.csv") works.

View & download all datasets Pro

βœ… READY
🐍

Module 1: Python Basics

Start here if you've never programmed before! Learn variables, data types, strings, loops, and conditions.

βœ… READY
πŸ“

Module 2: Math for Data Science

Don't worry, we make math easy! Learn mean, median, variance, percentiles, and normalization.

βœ… READY
πŸ“Š

Module 3: Statistics

Statistics is just asking questions about data! Learn normal distribution, correlation, Chi-Square, and T-Tests.

βœ… READY
πŸ€–

Module 4: Machine Learning Basics

Your first ML algorithms! Linear & Logistic Regression, kNN, and Support Vector Machines.

Introduction to Machine Learning Linear Regression (Predict Numbers)Pro
In this lesson
    Bias, Variance & Gradient DescentPro
    In this lesson
      Logistic Regression (Classification)Pro
      In this lesson
        k-Nearest Neighbors (kNN)Pro
        In this lesson
        • Classify by voting among K nearest neighbors
        • Distance metrics, scaling, choosing K
        • Full Python walkthrough
        Support Vector Machines (SVM)Pro
        In this lesson
        • Maximum margin classifier with kernel trick
        • Hard vs soft margin, C and gamma tuning
        • Complete Python walkthrough with GridSearchCV
        SVM Code Walkthrough (Line by Line)Pro
        In this lesson
        • Bank customer churn prediction with SVM
        • EDA, feature engineering, scaling
        • GridSearchCV with interactive heatmap
        βœ… READY
        🌳

        Module 5: Advanced ML

        Decision Trees, Random Forests, Boosting algorithms, and Feature Engineering techniques.

        Decision Trees & Random ForestsPro
        In this lesson
          Random Forest Code Walkthrough (Car Evaluation)Pro
          In this lesson
            Boosting (XGBoost, AdaBoost)Pro
            In this lesson
              Feature Engineering
              What you’ll learn
              • Creating new columns from existing ones (e.g. ratios, bins, interactions)
              • When and why it improves models
              πŸ“Œ Feature Engineering in one sentence: It means building new, useful inputs (features) from your raw dataβ€”e.g. "revenue per visit" from revenue and visits, or binning age into groupsβ€”so the model has better signals to learn from. The SVM walkthrough builds features before it fits. See the note on this hub.
              βœ… READY
              🎯

              Module 6: Clustering & Unsupervised

              Find patterns without labels! K-Means, Hierarchical Clustering, and PCA dimensionality reduction.

              Clustering (K-Means, DBSCAN, Hierarchical)Pro
              In this lesson
                K-Means Code Walkthrough (Line by Line)Pro
                In this lesson
                • Every line of the K-Means notebook explained
                • Hotel Reservations dataset
                • Scaling, encoding, elbow method
                PCA (on this hub)
                What you’ll learn
                • Reducing many columns to fewer β€œsummary” columns
                • When to use it (visualization, noise reduction)
                πŸ“Œ PCA in one sentence: PCA finds a small set of new β€œsummary” directions (principal components) that capture most of the variation in your dataβ€”so you can reduce many numeric columns to a few for a plot or a faster model. The worked example is on this hub.
                βœ… READY
                🧠

                Module 7: Deep Learning

                Neural Networks, CNNs for images, and introduction to TensorFlow/Keras.

                βœ… READY
                πŸ’¬

                Module 8: Natural Language Processing

                Work with text data! Tokenization, TF-IDF, Sentiment Analysis, and more.

                βœ… READY
                πŸ§ͺ

                Module 9: Applied Data Science

                Real-world applications: A/B Testing, Market Basket Analysis, Time Series.

                βœ… READY
                πŸš€

                Module 10: Deployment & Advanced

                Explainable AI, Gen AI intro, and deployment concepts (AWS, ML project structure).

                Feature engineering

                A feature is a column the model is allowed to see. Engineering one means building it from raw columns before the split is used for fitting: a ratio, a date part, or a bin. Build it with pandas, then let the pipeline below fit encoders on the training fold only. The bank-churn SVM walkthrough does this before GridSearchCV.

                PCA, without a separate lesson file

                PCA redraws numeric columns along the directions that vary most. You can plot the first two components when a scatter of raw columns is unreadable. Fit it on the training fold only, inside a pipeline, after scaling. Do not treat a component as a business cause. It is a mix of the original columns.

                from sklearn.decomposition import PCA
                from sklearn.pipeline import Pipeline
                from sklearn.preprocessing import StandardScaler
                
                view = Pipeline([
                    ("scale", StandardScaler()),
                    ("pca", PCA(n_components=2)),
                ])
                # Fit view on X_train only, then transform X_test with view.transform.

                Save, track, and describe the model

                This hub does not deploy to AWS. What you can do from the lessons: fit a pipeline, log the run, and write down what the model is allowed to decide.

                import mlflow
                import mlflow.sklearn
                
                with mlflow.start_run():
                    mlflow.log_param("estimator", "logistic_regression")
                    mlflow.log_metric("roc_auc", float(roc_auc))
                    # MLflow 2.21+ and 3.x take name=, not the older artifact_path=.
                    mlflow.sklearn.log_model(pipeline, name="churn_model")

                A model card next to that run should name the intended use, the training file (for example datasets/BankChurnersData.csv), the metrics, and the decisions a person must still make. Explainable AI and the Gen AI lesson are the next pages.

                Knowledge check

                Where do you scale numeric columns so the test rows cannot leak into the scaler?