Skip to content

Latest commit

 

History

History
516 lines (391 loc) · 14.7 KB

File metadata and controls

516 lines (391 loc) · 14.7 KB

❓ Frequently Asked Questions (FAQ)

This document answers common questions from students throughout the 1-Month ML Internship.


📚 General Questions

Q: How much time should I dedicate per day?

A: Plan for 6-8 focused hours per day for optimal learning:

  • 4 hours: Core learning + hands-on coding
  • 2 hours: Exercises and practice
  • 1 hour: Review, questions, community engagement
  • Breaks: Take 15-min breaks every 90 minutes (Pomodoro technique)

Quality > Quantity: 5 focused hours are better than 8 distracted hours.

Q: I'm falling behind schedule. What should I do?

A:

  1. Don't panic - This is normal! Most students need extra time somewhere
  2. Identify bottleneck - Is it a specific concept or time management?
  3. Focus on understanding - Skip ahead if needed, return to basics later
  4. Use resources - Watch videos from LEARNING_RESOURCES.md in a different style
  5. Ask for help - Join Discord/community or find a study buddy
  6. Adjust pace - Spreadsheeing to 5-6 weeks is fine!

Q: Can I skip Chapter 0? I already know Python/Git

A:

  • If comfortable with all Chapter 0 topics, you can skim
  • But recommended to review at least:
    • Part 3: Jupyter (might have VSCode/IDE tricks you don't know)
    • Part 4: ML libraries (scikit-learn patterns appear throughout)
  • Many students find Chapter 0 fills knowledge gaps, even experienced ones

Q: Is there a study group I can join?

A: Yes! Several options:

  1. Start your own - Post in subreddit or Discord looking for study buddies
  2. Find existing - Check community Discord/forums
  3. Recommended format - 2-3 people, 2 hours/week, rotate who teaches
  4. Teaching others = deepest learning for yourself!

💻 Python & Environment Questions

Q: I get "ModuleNotFoundError: No module named..." when importing

A: The library isn't installed or your virtual environment isn't activated.

Solution:

# Verify virtual environment is ACTIVE (shows (seedai_env) prefix)
python -m pip install <package_name>

# Or with specific version
pip install numpy==1.21.0

Common causes:

  • ❌ Installed with pip but using different Python
  • ❌ Forgot to activate virtual environment
  • ❌ Installed locally but running global Python

Q: "SyntaxError: invalid syntax" but code looks correct

A: Python is very sensitive to:

  • Indentation - Must be consistent (spaces vs tabs)
  • Colons - Every if/for/def statement needs :
  • Quotes - Must match: "..." or '...', not mixed
  • Parentheses - Must be balanced

Debug steps:

  1. Check indentation (Python strict about this!)
  2. Look at the line number - error right BEFORE that line
  3. Copy similar code that works and modify gradually
  4. Use IDE's error highlighting

Q: Can I use Jupyter or should I use .py files?

A: Use Jupyter for:

  • ✅ Learning and experimenting
  • ✅ Data visualization and EDA
  • ✅ Following along with tutorials

Use .py files for:

  • ✅ Larger projects
  • ✅ Production code
  • ✅ Version control (easier with text files)
  • ✅ Exercises (usually provided as .py)

Recommendation: Use both - Jupyter for learning, .py for exercises.


📊 Data & ML Questions

Q: What's the difference between "fit" and "transform"?

A: This is crucial for scikit-learn!

Fit: Learn from training data

scaler.fit(X_train)  # Learn the mean/std from training data

Transform: Apply learned transformation

X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)  # Use SAME scaler from training

Key point: ALWAYS fit on training data only, transform both train & test.

# RIGHT ✅
scaler = StandardScaler()
scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)

# WRONG ❌
scaler = StandardScaler()
scaler.fit(X_train)
scaler.fit(X_test)  # Don't refit!

Q: Should I use train/test split or cross-validation?

A: Both serve different purposes:

Train/Test Split: Simple, fast

  • ✅ For quick prototyping
  • ✅ When you have lots of data
  • ❌ Can have high variance (lucky/unlucky split)

Cross-Validation: Robust, thorough

  • ✅ When data is limited
  • ✅ For final evaluation
  • ✅ More statistically sound
  • ❌ Slower (trains model k times)

Best practice: Use cross-validation for final results, train/test for development.

Q: My model has 100% accuracy. Did I win?

A: Probably not. You likely have data leakage or the problem is too easy.

Common causes:

  1. Feature scaling BEFORE split - Information leaked to test set
  2. Using test data during preprocessing - Even accidentally!
  3. Identical train/test data - Copy-paste error?
  4. Dummy variable trap - One-hot encoding with all columns
  5. Problem too simple - Like classifying if random > 0.5

Diagnosis:

# Check 1: Are train/test different?
print(X_train.shape, X_test.shape)
print(X_train[0])
print(X_test[0])  # Should be different

# Check 2: Any suspicious features?
# Like "if_purchased" when predicting "purchased"

# Check 3: Try on different data
# If accuracy drops, you have overfitting

Q: How do I know if my model is good?

A: Compare against baselines:

# Baseline 1: Dummy predictor
from sklearn.dummy import DummyClassifier
baseline = DummyClassifier(strategy='most_frequent')
baseline.fit(X_train, y_train)
baseline_score = baseline.score(X_test, y_test)

# Your model should beat this!
your_score = model.score(X_test, y_test)

# Baseline 2: Simple model
from sklearn.linear_model import LogisticRegression
simple = LogisticRegression()
simple.fit(X_train, y_train)

# Your complex model should beat simple model
# If not, why use complex model?

Q: My features are categorical. How do I handle them?

A: Two main approaches:

1. Label Encoding (single column, tree models love it)

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
data['color_encoded'] = le.fit_transform(data['color'])

Use for: Tree models, ordinal categories

2. One-Hot Encoding (multiple columns, linear models need it)

data = pd.get_dummies(data, columns=['color'], drop_first=True)

Use for: Linear models, nominal categories, when order doesn't matter

Rule of thumb:

  • Tree-based: Label encode
  • Linear-based: One-hot encode
  • Unsure: One-hot is safer

🎯 Exercise & Project Questions

Q: I'm stuck on an exercise. What should I do?

A: Follow the 15-minute rule:

0-5 minutes: Read error carefully

  • What exactly is failing?
  • What were you trying to do?

5-10 minutes: Try to fix it

  • Check documentation
  • Look for similar examples
  • Test smaller pieces

10-15 minutes: Debug systematically

  • Print intermediate values
  • Test with simpler inputs
  • Change one thing at a time

After 15 minutes: Get help

  • ✅ Ask on Stack Overflow (show your code + error)
  • ✅ Check course Discord/community
  • ✅ Review similar solved exercises
  • ✅ Take a break and come back fresh

Most importantly: Don't spend 2 hours on one thing!

Q: Can I see solutions to exercises?

A: Generally NOT provided (for good reason):

  • Teaching yourself to debug = most valuable skill
  • Looking at solutions before struggling = less learning
  • Trying is where the learning happens

But if you're thoroughly stuck:

  1. Ask on Stack Overflow (mention it's an exercise context)
  2. Ask in community Discord
  3. Look for similar examples in documentation
  4. Try a different approach

Q: Should I start building a capstone project now?

A: Yes! Start thinking about it:

  • Week 1: Think about ideas
  • Week 2: Do project research, gather data
  • Week 3: Start building core functionality
  • Week 4: Polish, document, deploy

Good capstone project:

  • Uses concepts from 2+ chapters
  • Has your data (kaggle or scrape it)
  • Is on GitHub with good README
  • Has working code (not just theory)
  • Solves a real problem or answers a question

🤝 Community & Help Questions

Q: Where should I post questions for help?

A: Different platforms for different questions:

Platform Best For Not Good For
Stack Overflow General Python/ML questions with code Course-specific, very basic
Reddit r/learnML Beginner questions, encouragement Off-topic, spam
Course Discord Course-specific help, study groups General programming
GitHub Issues Bugs in code examples, typos General questions

Before posting:

  1. Search existing questions (likely answered)
  2. Create minimal reproducible example
  3. Show what you tried
  4. Be specific (not "it doesn't work")

Q: How do I ask a good question on Stack Overflow?

A: Follow this format:

TITLE: "ModuleNotFoundError when importing numpy after pip install"

DESCRIPTION:
I'm trying to use numpy in Python, but I get an error.

CODE:
import numpy as np  # This line fails

ERROR:
ModuleNotFoundError: No module named 'numpy'

WHAT I TRIED:
1. Ran: pip install numpy
2. Checked: numpy is in pip list
3. Restarted Python

MY SETUP:
- Python 3.9 on Windows 10
- Virtual environment activated (confirmed by prompt)

Good questions get answer in minutes!


📖 Resource & Learning Questions

Q: Which resource should I use for concept X?

A: Match resource to your learning style:

Style Resource
Visual learner 3Blue1Brown (YouTube), Visualizations
Mathematical Papers, textbooks, Wikipedia
Hands-on Kaggle Learn, interactive platforms
Conceptual Real Python, Medium articles
Practical Scikit-learn docs, tutorials

Recommendation: Try video FIRST (faster), dive deeper if needed.

Q: Should I read a paper on PCA?

A: Start with video/tutorial instead:

  1. Watch StatQuest PCA video (15 min)
  2. Code PCA example from Kaggle
  3. Then read Wikipedia for deeper theory
  4. Only then read actual paper if interested

Papers are 5% concept, 95% notation and proof. Frontload understanding first!

Q: How do I keep up with new ML developments?

A: Follow these sources:

  • Reddit: r/MachineLearning (daily new papers)
  • Twitter: Follow ML researchers
  • YouTube: Two-Minute Papers (summarizes research)
  • Papers with Code: See popular papers + implementations
  • ArXiv: Newest research
  • Newsletters: Deeplearning.ai newsletter (weekly)

As beginner: Focus on fundamentals first, not latest trends!


🐛 Technical Troubleshooting

Q: Jupyter notebook won't start / gives "Connection refused"

A: Try these steps:

# Close the notebook (ctrl+c in terminal)

# Clear Jupyter cache
jupyter --paths  # Find config
# Delete the directories shown

# Reinstall
pip install --upgrade --force-reinstall jupyter

# Try starting fresh
jupyter notebook --no-browser

Q: Git says "fatal: not a git repository"

A: You're not in a git folder:

# Check current folder
pwd  # Linux/Mac
cd   # Windows (shows current)

# Go to your project folder
cd "path/to/seedai"

# Check if git initialized
ls -la  # Linux/Mac - look for .git folder
dir    # Windows

# If no .git folder, initialize
git init

Q: I accidentally deleted code. Can I get it back?

A: If committed:

# See all previous commits
git log --oneline

# Restore deleted file
git restore <filename>

# Restore to specific commit
git checkout <commit-hash> -- <filename>

If NOT committed: Likely unrecoverable. Use version control!

Q: Python running slow or using lots of memory

A: Check for common culprits:

# 1. Loading entire dataset
df = pd.read_csv('huge_file.csv')  # Use chunksize instead
df = pd.read_csv('huge_file.csv', chunksize=10000)

# 2. Inefficient loops
# ❌ Slow
for i in range(len(df)):
    df.loc[i, 'new_col'] = df.loc[i, 'col1'] * 2

# ✅ Fast
df['new_col'] = df['col1'] * 2

# 3. Growing lists/arrays
# ❌ Slow
results = []
for i in range(1000000):
    results.append(expensive_function())

# ✅ Fast (pre-allocate)
results = [None] * 1000000
for i in range(1000000):
    results[i] = expensive_function()

🎓 Mindset & Motivation

Q: I feel like I'm not smart enough for ML

A: This is completely normal. ML is hard! Everyone feels this:

  • Researchers with PhDs still get confused
  • Imposter syndrome is real and almost universal
  • Struggling ≠ Not smart; it means you're learning

Remember:

  • You're comparing yourself to others' finished product
  • They struggled just as much when learning
  • Confusion is where learning happens
  • You're 3 weeks in; be patient with yourself!

Q: I don't understand the math. Do I need to?

A: Depends on your goal:

Intuitive understanding ✅ (Always needed)

  • Know what the algorithm does
  • Understand pros/cons
  • Know what parameters do

Mathematical proof ❌ (Usually not needed for application)

  • WHY the formula works
  • Derivatives and proof steps
  • High-level math

Start intuitive, dive deeper if interested. You can use ML effectively with intuitive understanding.

Q: I'm worried about my progress vs others

A: Don't.

  1. Everyone progresses differently - Some are fast at concepts, slow at coding
  2. Hidden struggle - Others struggling too, just not visible
  3. Different backgrounds - Some have ML experience, others don't
  4. You're on YOUR path - Not a race

Focus on: YOUR growth from Week 1 to Week 4.


💼 Career & Next Steps

Q: Will this internship help me get a job?

A: Yes, but it's one piece:

What this gives you:

  • ✅ Fundamental knowledge
  • ✅ Portfolio project
  • ✅ GitHub activity
  • ✅ ML foundation

What else helps:

  • ✅ More projects (use Chapter 0-3 to build 2-3 more)
  • ✅ Blog posts about learnings
  • ✅ Open source contributions
  • ✅ Networking (meetups, Twitter, LinkedIn)
  • ✅ Interview prep (system design, algorithms)

Timeline: Complete this, then spend 2-3 months on projects & depth before applying.

Q: What should I learn after this?

A: Suggested path:

  1. Right after (Week 5-6): Deep dive one area

    • Option A: Deep Learning (PyTorch/TensorFlow)
    • Option B: NLP (spaCy, Transformers)
    • Option C: Systems (Spark, data engineering)
  2. Next month: Build 2-3 real projects

  3. Beyond: Advanced ML or specialization

Don't jump ahead yet. Master Chapter 0-3 first!


📞 Still Need Help?

  1. Check this FAQ first - Your question might be here
  2. Search Stack Overflow - Likely someone asked it
  3. Ask in community - Discord, subreddit, course forum
  4. Review LEARNING_RESOURCES.md - Find explanation in different style
  5. Take a break - Really! Fresh eyes solve more problems

Last Updated: February 19, 2026
Community: Have a great FAQ suggestion? Contribute to CONTRIBUTING.md!