7 stages2 sections22 units

Module 01 · Applied project

Bike Sharing Dataset Explorer

Build a small Python project that loads UCI’s hourly Bike Sharing CSV, audits the raw data, creates reusable summaries and saves a short visual report. The goal is not to train a model yet. The goal is to produce a trustworthy, reproducible view of the dataset that the Classical Machine Learning module can use later.

4 to 6 hours 10 connected lessons Python · NumPy · pandas · Matplotlib
Bike Sharing DatasetUCI Machine Learning Repository · Free dataset

Implementation plan

Build it in six steps

6 steps
  1. 01
    1 · Set up the project. Create the folder, virtual environment, dependencies and script entry point.
  2. 02
    2 · Build the Python core. Use functions and collections to keep parsing and summary logic small and testable.
  3. 03
    3 · Load the source data. Read hour.csv, record the filename and checksum, and inspect its raw schema.
  4. 04
    4 · Audit the table. Measure missingness, duplicate records, dtypes, ranges and category values before cleaning.
  5. 05
    5 · Create summaries. Use pandas and NumPy to group by hour and weekday, calculate summaries and save output tables.
  6. 06
    6 · Explain the data. Save three labeled plots and a short report with observations, caveats and the exact input snapshot.

What to submit

Deliverables

  • requirements.txt and a short README with setup/run instructions.
  • A data audit report with file checksum, row/column count, dtypes, missingness and duplicate count.
  • A reusable Python package layout with separate loading, audit and reporting functions.
  • A grouped summary CSV and at least three clearly labeled charts.
  • A short Markdown report with 3–5 evidence-based observations and limitations.

Quality gate

Before you finish

  • testsThe loader fails clearly when the source file is missing.
  • testsThe audit output reconciles row counts before and after transformations.
  • testsGrouped observation counts sum to the number of rows included in the summary.
  • reproducibilityA fresh environment can recreate the reports from the same source CSV.

Follow the module

Lessons for this project

10 lessons
  1. 01.01 Set Up a Python ProjectRun Python from the terminal, create an isolated environment and keep a small project reproducible.
  2. 01.02 Values, Types & ExpressionsWork confidently with numbers, strings, booleans, `None` and explicit type conversion.
  3. 01.03 Decisions & LoopsUse conditions and iteration to process collections without writing repetitive code.
  4. 01.04 Collections & ComprehensionsChoose lists, tuples, sets and dictionaries based on how the data is used.
  5. 01.05 Functions & ModulesTurn repeated steps into small functions and split a project into importable files.
  6. 01.06 Files, CSV & ErrorsRead and write files safely, work with paths and handle predictable failures.
  7. 01.07 NumPy Arrays & VectorizationUnderstand array shape, dtype, indexing, aggregation and element-wise operations.
  8. 01.08 Pandas: Load, Inspect & SelectLoad a CSV into a DataFrame, inspect its schema and select the rows and columns you need.
  9. 01.09 Clean, Group & Combine DataHandle missing values and types, summarize groups and combine tables using explicit keys.
  10. 01.10 Visualize & Explain the DatasetChoose a chart for a question, label it clearly and turn the analysis into a repeatable report.

How to assess your work

Project rubric

Reproducibility

Pass

Setup and run steps work in a fresh environment.

Strong

Input identity and dependency versions are recorded; outputs regenerate cleanly.

Data audit

Pass

Schema, missing values and duplicates are reported.

Strong

Ranges, units, unusual categories and row-count reconciliation are also explained.

Code structure

Pass

Loading, audit and reporting are separated into functions.

Strong

Functions have clear contracts and are straightforward to test.

Communication

Pass

Charts and a short report are included.

Strong

Every chart answers a clear question and observations are separated from causal claims.

Where this leads: Classical Machine Learning: the same dataset can later be used to build a baseline demand-prediction model after the target and feature-availability contract are defined.

Quick find

Search Michi

Type to search every stage, section, unit, topic and resource.

Enter opens the first result Esc closes

Reference

Keyboard shortcuts

n
Continue to the first unit not passed
j / k
Next / previous unit
1 2 3
Toggle learned, practised, passed
/
Open search
?
Show this help
Esc
Close open panels