397 lines
15 KiB
HTML
397 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<style>
|
|
@page {
|
|
size: A4;
|
|
margin: 2cm 1.8cm;
|
|
}
|
|
@page cover {
|
|
margin: 0;
|
|
@top-left { content: none; }
|
|
@top-right { content: none; }
|
|
@bottom-center { content: none; }
|
|
}
|
|
@page back {
|
|
margin: 0;
|
|
@top-left { content: none; }
|
|
@top-right { content: none; }
|
|
@bottom-center { content: none; }
|
|
}
|
|
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
|
|
/* ===== COVER ===== */
|
|
.cover-page {
|
|
page: cover;
|
|
width: 210mm; height: 297mm;
|
|
background: #2b2d42;
|
|
display: flex; flex-direction: column; justify-content: center; align-items: center;
|
|
padding: 30mm 20mm; text-align: center;
|
|
position: relative; overflow: hidden;
|
|
}
|
|
.cover-page::before {
|
|
content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
|
|
background: linear-gradient(135deg, rgba(138,180,248,0.05) 0%, transparent 50%);
|
|
}
|
|
.cover-page h1 {
|
|
color: #ffffff; font-size: 28pt; font-weight: 700;
|
|
letter-spacing: 1px; margin-bottom: 6mm;
|
|
font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
|
|
}
|
|
.cover-page .subtitle {
|
|
color: #8ab4f8; font-size: 14pt; font-weight: 400;
|
|
margin-bottom: 12mm; letter-spacing: 0.5px;
|
|
font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
|
|
}
|
|
.cover-page .divider {
|
|
width: 60mm; height: 2px; background: #8ab4f8; margin: 0 auto 10mm;
|
|
}
|
|
.cover-page .meta {
|
|
color: #b0b8c5; font-size: 10pt; line-height: 2;
|
|
font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
|
|
}
|
|
.cover-page .meta strong { color: #d3d7e0; }
|
|
.cover-page .footer-note {
|
|
position: absolute; bottom: 18mm;
|
|
color: #6c7384; font-size: 8pt;
|
|
font-family: 'Segoe UI', 'Helvetica Neue', sans-serif;
|
|
}
|
|
|
|
/* ===== CONTENT PAGES ===== */
|
|
body { font-family: 'Segoe UI', 'Helvetica Neue', sans-serif; color: #2d3748; font-size: 10pt; line-height: 1.6; }
|
|
.content-page { padding: 0; page-break-after: always; }
|
|
|
|
h2 {
|
|
color: #2b2d42; font-size: 16pt; font-weight: 700;
|
|
border-bottom: 2px solid #8ab4f8; padding-bottom: 4mm; margin-bottom: 6mm;
|
|
}
|
|
h3 {
|
|
color: #4a5568; font-size: 12pt; font-weight: 600;
|
|
margin-top: 6mm; margin-bottom: 3mm;
|
|
}
|
|
|
|
p { margin-bottom: 3mm; }
|
|
ul, ol { margin: 3mm 0 4mm 6mm; }
|
|
li { margin-bottom: 2mm; }
|
|
|
|
.highlight-box {
|
|
background: #f0f4ff; border-left: 4px solid #8ab4f8;
|
|
padding: 4mm 5mm; margin: 4mm 0; border-radius: 0 4px 4px 0;
|
|
}
|
|
.highlight-box strong { color: #2b2d42; }
|
|
|
|
.tip-box {
|
|
background: #fff8e7; border-left: 4px solid #f0ad4e;
|
|
padding: 4mm 5mm; margin: 4mm 0; border-radius: 0 4px 4px 0;
|
|
}
|
|
.tip-box strong { color: #8a6d3b; }
|
|
|
|
table {
|
|
width: 100%; border-collapse: collapse; margin: 4mm 0; font-size: 9pt;
|
|
}
|
|
th {
|
|
background: #2b2d42; color: #fff; padding: 3mm 4mm; text-align: left; font-weight: 600;
|
|
}
|
|
td {
|
|
padding: 3mm 4mm; border-bottom: 1px solid #e2e8f0;
|
|
}
|
|
tr:nth-child(even) td { background: #f7fafc; }
|
|
|
|
code {
|
|
background: #edf2f7; color: #2b2d42; padding: 1px 4px;
|
|
border-radius: 3px; font-size: 9pt; font-family: 'Consolas', 'Courier New', monospace;
|
|
}
|
|
pre {
|
|
background: #1a202c; color: #e2e8f0; padding: 4mm;
|
|
border-radius: 4px; font-size: 8.5pt; line-height: 1.4;
|
|
overflow-x: auto; margin: 4mm 0;
|
|
font-family: 'Consolas', 'Courier New', monospace;
|
|
}
|
|
|
|
.page-footer {
|
|
text-align: center; color: #a0aec0; font-size: 7.5pt;
|
|
border-top: 1px solid #e2e8f0; padding-top: 3mm; margin-top: 6mm;
|
|
}
|
|
|
|
.header-meta {
|
|
color: #a0aec0; font-size: 8pt; text-align: right;
|
|
margin-bottom: 2mm; border-bottom: 1px solid #edf2f7; padding-bottom: 1mm;
|
|
}
|
|
|
|
/* ===== BACK PAGE ===== */
|
|
.back-page {
|
|
page: back;
|
|
width: 210mm; height: 297mm;
|
|
background: #4a5568;
|
|
display: flex; flex-direction: column; justify-content: center; align-items: center;
|
|
padding: 30mm; text-align: center;
|
|
}
|
|
.back-page h2 {
|
|
color: #ffffff; font-size: 16pt; font-weight: 600; border: none; margin-bottom: 6mm;
|
|
}
|
|
.back-page p {
|
|
color: #c0c8d0; font-size: 10pt; line-height: 2;
|
|
}
|
|
.back-page .brand {
|
|
color: #8ab4f8; font-size: 11pt; font-weight: 600; margin-top: 8mm;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<!-- ===== COVER ===== -->
|
|
<section class="cover-page">
|
|
<h1>FDP Pre-Read Material</h1>
|
|
<p class="subtitle">Data Science Pipeline — Hands-on with Google Colab</p>
|
|
<div class="divider"></div>
|
|
<p class="meta">
|
|
<strong>Speaker:</strong> Kapil Panwar<br>
|
|
<strong>Organization:</strong> Gyannetra Pvt Ltd, Pune<br>
|
|
<strong>Date:</strong> 30 May 2026<br>
|
|
<strong>Venue:</strong> JIET, Jodhpur
|
|
</p>
|
|
<p class="footer-note">Pre-Read • Please go through before the session</p>
|
|
</section>
|
|
|
|
<!-- ===== PAGE 1: Introduction ===== -->
|
|
<section class="content-page">
|
|
<div class="header-meta">FDP Pre-Read • Data Science Pipeline</div>
|
|
|
|
<h2>1. Introduction</h2>
|
|
|
|
<p>
|
|
Welcome to the <strong>Data Science Pipeline</strong> Faculty Development Program session!
|
|
This pre-read document will prepare you for a completely hands-on, no-installation-needed workshop.
|
|
</p>
|
|
|
|
<div class="highlight-box">
|
|
<strong>Good News:</strong> You do <em>not</em> need to install Python, Docker, or any software on your laptop.
|
|
Everything runs in your browser via <strong>Google Colab</strong>.
|
|
</div>
|
|
|
|
<h3>What is a Data Science Pipeline?</h3>
|
|
<p>
|
|
A Data Science Pipeline is the end-to-end process of taking raw data and transforming it into
|
|
actionable insights. The standard pipeline has these stages:
|
|
</p>
|
|
<ol>
|
|
<li><strong>Data Collection</strong> – Gathering data from CSV, databases, APIs, etc.</li>
|
|
<li><strong>Data Cleaning & Preprocessing</strong> – Handling missing values, fixing data types</li>
|
|
<li><strong>Feature Engineering</strong> – Creating new features, encoding categorical variables</li>
|
|
<li><strong>Exploratory Data Analysis (EDA)</strong> – Visualizing patterns and relationships</li>
|
|
<li><strong>Model Training</strong> – Applying machine learning algorithms</li>
|
|
<li><strong>Evaluation</strong> – Measuring how well the model performs</li>
|
|
<li><strong>Interpretation</strong> – Understanding what the model tells us</li>
|
|
</ol>
|
|
|
|
<div class="tip-box">
|
|
<strong>Session Tip:</strong> Don't worry if some terms feel new. The session is designed for
|
|
beginners. Just bring curiosity and a working internet connection.
|
|
</div>
|
|
|
|
<div class="page-footer">Page 1</div>
|
|
</section>
|
|
|
|
<!-- ===== PAGE 2: Google Colab ===== -->
|
|
<section class="content-page">
|
|
<div class="header-meta">FDP Pre-Read • Data Science Pipeline</div>
|
|
|
|
<h2>2. Google Colab — Your Browser-Based Lab</h2>
|
|
|
|
<p>
|
|
<strong>Google Colaboratory (Colab)</strong> is a free, cloud-based Jupyter notebook environment
|
|
that runs entirely in your browser. No installation. No setup.
|
|
</p>
|
|
|
|
<h3>Why Colab for this FDP?</h3>
|
|
<ul>
|
|
<li>✅ <strong>Zero setup</strong> – Works on any laptop (i3, i5, any OS)</li>
|
|
<li>✅ <strong>Free GPU/CPU</strong> – Google servers do the heavy lifting</li>
|
|
<li>✅ <strong>Pre-written code</strong> – Just run each cell with Shift+Enter</li>
|
|
<li>✅ <strong>Auto-saves to your Google Drive</strong></li>
|
|
<li>✅ <strong>Works offline</strong> after initial load</li>
|
|
</ul>
|
|
|
|
<h3>How to Open a Colab Notebook</h3>
|
|
<ol>
|
|
<li>Open your browser (Chrome / Firefox recommended)</li>
|
|
<li>Go to <code>colab.research.google.com</code></li>
|
|
<li>Click <strong>File → Upload Notebook</strong></li>
|
|
<li>Select the <code>.ipynb</code> file we share during the session</li>
|
|
</ol>
|
|
|
|
<div class="highlight-box">
|
|
<strong>Shortcut:</strong> We will also share a direct Colab link — just click and it opens
|
|
automatically. No upload needed.
|
|
</div>
|
|
|
|
<h3>Colab Cell Types</h3>
|
|
<table>
|
|
<tr><th>Cell Type</th><th>Use</th><th>Example</th></tr>
|
|
<tr><td>Code Cell</td><td>Runs Python code</td><td><code>print("Hello")</code></td></tr>
|
|
<tr><td>Text Cell</td><td>Markdown documentation</td><td>Explanations, headings</td></tr>
|
|
</table>
|
|
|
|
<div class="page-footer">Page 2</div>
|
|
</section>
|
|
|
|
<!-- ===== PAGE 3: Categorical Data & One-Hot Encoding ===== -->
|
|
<section class="content-page">
|
|
<div class="header-meta">FDP Pre-Read • Data Science Pipeline</div>
|
|
|
|
<h2>3. Categorical Data & One-Hot Encoding</h2>
|
|
|
|
<h3>What is Categorical Data?</h3>
|
|
<p>
|
|
Categorical data represents groups or categories rather than numbers. Examples: Department
|
|
(Science, Commerce), Gender (Male, Female), or <strong>Favorite Color</strong> (Red, Blue, Green).
|
|
</p>
|
|
<p>
|
|
Machine learning models understand only <em>numbers</em>. So we must convert text categories to
|
|
numbers. This is called <strong>encoding</strong>.
|
|
</p>
|
|
|
|
<h3>The Problem with Simple Numbering</h3>
|
|
<p>
|
|
If we encode Red=1, Blue=2, Green=3, the model might think Green > Blue > Red (i.e.,
|
|
order/ranking). But colors have <em>no inherent order</em>. This is why we use one-hot encoding.
|
|
</p>
|
|
|
|
<h3>How One-Hot Encoding Works</h3>
|
|
<p>
|
|
One-hot encoding creates a separate column for <em>each category</em>, with 1 (present) or 0 (absent).
|
|
</p>
|
|
|
|
<table>
|
|
<tr><th>Original</th><th>Red</th><th>Blue</th><th>Green</th><th>Yellow</th></tr>
|
|
<tr><td>Red</td><td>1</td><td>0</td><td>0</td><td>0</td></tr>
|
|
<tr><td>Blue</td><td>0</td><td>1</td><td>0</td><td>0</td></tr>
|
|
<tr><td>Green</td><td>0</td><td>0</td><td>1</td><td>0</td></tr>
|
|
<tr><td>Yellow</td><td>0</td><td>0</td><td>0</td><td>1</td></tr>
|
|
</table>
|
|
|
|
<p>In Python with pandas, it's just one line:</p>
|
|
<pre>import pandas as pd
|
|
encoded = pd.get_dummies(df['Favorite_Color'], prefix='Color')</pre>
|
|
|
|
<div class="tip-box">
|
|
<strong>Visual Memory Aid:</strong> Think of one-hot like a light switch panel —
|
|
each color has its own switch, and exactly one switch is ON at a time.
|
|
</div>
|
|
|
|
<div class="page-footer">Page 3</div>
|
|
</section>
|
|
|
|
<!-- ===== PAGE 4: Dataset & Session Outline ===== -->
|
|
<section class="content-page">
|
|
<div class="header-meta">FDP Pre-Read • Data Science Pipeline</div>
|
|
|
|
<h2>4. Session Dataset — Student Stress Prediction</h2>
|
|
|
|
<p>
|
|
During the session, we will use a dataset about <strong>college student stress levels</strong>.
|
|
This dataset is specially designed to be relatable for faculty members.
|
|
</p>
|
|
|
|
<table>
|
|
<tr><th>Feature</th><th>Type</th><th>Description</th><th>Example</th></tr>
|
|
<tr><td>Department</td><td>Categorical</td><td>Student's department</td><td>Science, Arts, Commerce, Engineering</td></tr>
|
|
<tr><td>Attendance Level</td><td>Categorical</td><td>Attendance category</td><td>Regular, Irregular, Borderline</td></tr>
|
|
<tr><td>Favorite Color</td><td>Categorical</td><td>Self-reported favorite color 🌈</td><td>Red, Blue, Green, Yellow, Purple, Orange</td></tr>
|
|
<tr><td>Weekly Study Hours</td><td>Numerical</td><td>Hours studied per week</td><td>2 – 25 hours</td></tr>
|
|
<tr><td>Assignment Submission %</td><td>Numerical</td><td>Assignment submission rate</td><td>40% – 100%</td></tr>
|
|
<tr><td>Backlogs Count</td><td>Numerical</td><td>Number of pending backlogs</td><td>0 – 5</td></tr>
|
|
<tr><td>Stress Level</td><td>Binary (Target)</td><td>0 = Low Stress, 1 = High Stress</td><td>0 or 1</td></tr>
|
|
</table>
|
|
|
|
<h3>Session Outline (Hands-On)</h3>
|
|
<ol>
|
|
<li><strong>Open Colab & Load Data</strong> — 5 min</li>
|
|
<li><strong>Explore the Data (EDA)</strong> — 10 min</li>
|
|
<li><strong>One-Hot Encode Categorical Columns</strong> — 10 min</li>
|
|
<li><strong>Train a Machine Learning Model</strong> — 10 min</li>
|
|
<li><strong>Evaluate & Interpret Results</strong> — 10 min</li>
|
|
<li><strong>Q&A / Open Discussion</strong> — 10 min</li>
|
|
</ol>
|
|
<p><strong>Total:</strong> ~55 minutes</p>
|
|
|
|
<div class="highlight-box">
|
|
<strong>No prior coding experience needed.</strong> All code is pre-written.
|
|
You just click "Run" and watch the magic happen.
|
|
</div>
|
|
|
|
<h3>What You Will Learn</h3>
|
|
<ul>
|
|
<li>✅ How to load and view data in Python</li>
|
|
<li>✅ How to handle categorical data (one-hot encoding with colors!)</li>
|
|
<li>✅ How to train a simple ML model</li>
|
|
<li>✅ How to check if the model is accurate</li>
|
|
<li>✅ How these skills apply to your own courses & research</li>
|
|
</ul>
|
|
|
|
<div class="page-footer">Page 4</div>
|
|
</section>
|
|
|
|
<!-- ===== PAGE 5: Quick Reference ===== -->
|
|
<section class="content-page">
|
|
<div class="header-meta">FDP Pre-Read • Data Science Pipeline</div>
|
|
|
|
<h2>5. Quick Reference — Python & Colab Cheatsheet</h2>
|
|
|
|
<h3>Common Colab Shortcuts</h3>
|
|
<table>
|
|
<tr><th>Action</th><th>Shortcut</th></tr>
|
|
<tr><td>Run current cell</td><td><code>Shift + Enter</code></td></tr>
|
|
<tr><td>Add a code cell</td><td>Click <strong>+ Code</strong> button</td></tr>
|
|
<tr><td>Add a text cell</td><td>Click <strong>+ Text</strong> button</td></tr>
|
|
<tr><td>Delete a cell</td><td>Click cell → Trash icon (top-right)</td></tr>
|
|
<tr><td>Toggle cell output</td><td>Double-click output area</td></tr>
|
|
</table>
|
|
|
|
<h3>Key Python Commands We'll Use</h3>
|
|
<table>
|
|
<tr><th>Command</th><th>What it does</th></tr>
|
|
<tr><td><code>df.head()</code></td><td>Show first 5 rows of data</td></tr>
|
|
<tr><td><code>df.info()</code></td><td>Show data types and missing values</td></tr>
|
|
<tr><td><code>df.describe()</code></td><td>Show statistical summary</td></tr>
|
|
<tr><td><code>df['col'].value_counts()</code></td><td>Count unique values in a column</td></tr>
|
|
<tr><td><code>pd.get_dummies()</code></td><td>One-hot encode categorical columns</td></tr>
|
|
<tr><td><code>train_test_split()</code></td><td>Split data into train/test</td></tr>
|
|
<tr><td><code>RandomForestClassifier()</code></td><td>Create a Random Forest model</td></tr>
|
|
<tr><td><code>accuracy_score()</code></td><td>Calculate model accuracy</td></tr>
|
|
</table>
|
|
|
|
<h3>Before the Session, Please:</h3>
|
|
<ul>
|
|
<li>✅ Ensure you have a working internet connection</li>
|
|
<li>✅ Have a Google account (Gmail) logged in your browser</li>
|
|
<li>✅ Open Chrome / Firefox browser (latest version)</li>
|
|
<li>✅ Keep this pre-read handy for reference</li>
|
|
</ul>
|
|
|
|
<div class="highlight-box">
|
|
<strong>See you at the session!</strong> If you have questions beforehand, please reach out
|
|
via the FDP coordination team. We're here to help.
|
|
</div>
|
|
|
|
<div class="page-footer">Page 5</div>
|
|
</section>
|
|
|
|
<!-- ===== BACK PAGE ===== -->
|
|
<section class="back-page">
|
|
<h2>See You at the Session!</h2>
|
|
<p>
|
|
Data Science Pipeline • 30 May 2026 • JIET Jodhpur
|
|
</p>
|
|
<p>
|
|
<strong>Kapil Panwar</strong><br>
|
|
Gyannetra Pvt Ltd, Pune, Maharashtra<br>
|
|
<span class="brand">Gyannetra — India's Premier AI Consultancy</span>
|
|
</p>
|
|
</section>
|
|
|
|
</body>
|
|
</html>
|