\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors)
\newcommand\bs[1]{\mathbf{#1}}\\% Differential
\newcommand\dd[2][]{\mathrm{d}^{#1}{#2}} % use as \dd, \dd{x}, or \dd[2]{x}\\% Poor man's siunitx
\newcommand\unit[1]{\mathrm{#1}}
\newcommand\num[1]{#1}
\newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/}
\newcommand\squared{{}^2}
\newcommand\cubed{{}^3}
%
% Scale
\newcommand\milli{\unit{m}}
\newcommand\centi{\unit{c}}
\newcommand\kilo{\unit{k}}
\newcommand\mega{\unit{M}}
%
% Percent
\newcommand\percent{\unit{{\kern-4mu}\%}}
%
% Angle
\newcommand\radian{\unit{rad}}
\newcommand\degree{\unit{{\kern-4mu}^\circ}}
%
% Time
\newcommand\second{\unit{s}}
\newcommand\s{\second}
\newcommand\minute{\unit{min}}
\newcommand\hour{\unit{h}}
%
% Distance
\newcommand\meter{\unit{m}}
\newcommand\m{\meter}
\newcommand\inch{\unit{in}}
\newcommand\foot{\unit{ft}}
%
% Force
\newcommand\newton{\unit{N}}
\newcommand\kip{\unit{kip}} % kilopound in "freedom" units - edit made by Sri
%
% Mass
\newcommand\gram{\unit{g}}
\newcommand\g{\gram}
\newcommand\kilogram{\unit{kg}}
\newcommand\kg{\kilogram}
\newcommand\grain{\unit{grain}}
\newcommand\ounce{\unit{oz}}
%
% Temperature
\newcommand\kelvin{\unit{K}}
\newcommand\K{\kelvin}
\newcommand\celsius{\unit{{}^\circ C}}
\newcommand\C{\celsius}
\newcommand\fahrenheit{\unit{{}^\circ F}}
\newcommand\F{\fahrenheit}
%
% Area
\newcommand\sqft{\unit{sq\,\foot}} % square foot
%
% Volume
\newcommand\liter{\unit{L}}
\newcommand\gallon{\unit{gal}}
%
% Frequency
\newcommand\hertz{\unit{Hz}}
\newcommand\rpm{\unit{rpm}}
%
% Voltage
\newcommand\volt{\unit{V}}
\newcommand\V{\volt}
\newcommand\millivolt{\milli\volt}
\newcommand\mV{\milli\volt}
\newcommand\kilovolt{\kilo\volt}
\newcommand\kV{\kilo\volt}
%
% Current
\newcommand\ampere{\unit{A}}
\newcommand\A{\ampere}
\newcommand\milliampereA{\milli\ampere}
\newcommand\mA{\milli\ampere}
\newcommand\kiloampereA{\kilo\ampere}
\newcommand\kA{\kilo\ampere}
%
% Resistance
\newcommand\ohm{\Omega}
\newcommand\milliohm{\milli\ohm}
\newcommand\kiloohm{\kilo\ohm} % correct SI spelling
\newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx
\newcommand\megaohm{\mega\ohm} % correct SI spelling
\newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx
%
% Capacitance
\newcommand\farad{\unit{F}}
\newcommand\F{\farad}
\newcommand\microfarad{\micro\farad}
\newcommand\muF{\micro\farad}
%
% Inductance
\newcommand\henry{\unit{H}}
\newcommand\H{\henry}
\newcommand\millihenry{\milli\henry}
\newcommand\mH{\milli\henry}
%
% Power
\newcommand\watt{\unit{W}}
\newcommand\W{\watt}
\newcommand\milliwatt{\milli\watt}
\newcommand\mW{\milli\watt}
\newcommand\kilowatt{\kilo\watt}
\newcommand\kW{\kilo\watt}
%
% Energy
\newcommand\joule{\unit{J}}
\newcommand\J{\joule}
%
% Composite units
%
% Torque
\newcommand\ozin{\unit{\ounce}\,\unit{in}}
\newcommand\newtonmeter{\unit{\newton\,\meter}}
%
% Pressure
\newcommand\psf{\unit{psf}} % pounds per square foot
\newcommand\pcf{\unit{pcf}} % pounds per cubic foot
\newcommand\pascal{\unit{Pa}}
\newcommand\Pa{\pascal}
\newcommand\ksi{\unit{ksi}} % kilopound per square inch
\newcommand\bar{\unit{bar}}
\end{aligned}\end{align} \]
Dec 04, 2025 | 314 words | 3 min read
13. Checkpoint 3
In this module, you will utilize the features extracted in Checkpoint 2. You will build three basic machine learning models: K Nearest Neighbors, Decision Tree with Information Gain, and Logistic Regression. You will then demonstrate your models and answer questions from a member of the teaching team. Each team member should be prepared to answer questions about the implementation and results/plots of each model.
Topics Covered
Using User Defined Functions to write clean and readable code
Train, Validate, and Test split of a dataset
Implementing K Nearest Neighbors from scratch
Implementing Decision Trees w/ Information Gain from scratch
Implementing Logistic Regression from scratch
Evaluating model performance using training and validation accuracy
Plotting training and validation accuracy curves
Learning Objectives and Course Outcomes
At the end of this module, you will be able to:
Implement K Nearest Neighbors, Decision Tree with Information Gain, and Logistic Regression models using Python
Evaluate model performance using training and validation accuracy
Plot training and validation accuracy curves to visualize model performance
These learning objectives are directly connected to the following Course Outcomes:
- CO 1.1:
Visually represent data and derive meaningful information from
data.
- CO 1.3:
Use evidence to develop and optimize solutions. Evaluate
solutions, test and optimize chosen solution based on evidence.
- CO 2.1:
Contribute to team products and discussions.
- CO 2.2:
Reflect on both personal and team’s problem solving/design
approach and process for the purpose of continuous improvement.
- CO 3.1:
Communicate engineering concepts, ideas and decisions effectively
and professionally in diverse ways such as written, visual and oral.
- CO 3.2:
Seek, find, use, and document appropriate and trustworthy
information.
- CO 4.1:
Develop code solutions that address engineering questions and
follow professional programming standards.
- CO 4.2:
Understand and implement basic and intermediate programming
structures: sequential structures, selection structures, repetition
structures, and nested structures.
- CO 4.3:
Create adaptable, reusable programming routines.
- CO 4.4:
Apply design ideas to programming solutions.
- CO 4.5:
Read and apply flowcharts as a visual representation of a
process.