Carter Blair | | CV



I recently graduated from the University of Victoria with a B.Sc in computer science and psychology with a minor in philosophy and I am currently working as a junior data scientist at NannyML. Some of my favourite topics are AI (especially cooperative AI and reinforcement learning), human-AI interaction, philosophy of science, philosophy of mind, social psychology, social choice theory, mechanism design and algorithmic game theory.



Towards Online PU-Learning

Janurary 2022 - Present
pdf | code

PU-learning is the task of learning a positive vs. negative (PvN) classifier from only positive and unlabeled data. In general, this task can be split up into two main parts: (1) Mixture proportion estimation (MPE), the task of estimating the proportion of positive examples in the unlabeled data, and (2) using this estimate to help train a PvN classifier. This project focused on mixture proportion estimation, and the goal was to build the first algorithm to do mixture proportion estimation in the online setting. In pursuit of this, I built TOM-ON, an algorithm for MPE that runs in constant time and accurately predicts the mixture proportion. And in addition to this, I developed another algorithm for the batch setting, TOM, that achieves state-of-the-art performance.

Context, Color and Emotion in Data Visualization

May 2021 - Present

The goal of this project is to understand the relationship between the emotions induced by a data visualization and the visual features of visualization itself. To uncover these relationships, we are using traditional hypothesis testing. Phase 1 of this study focused on the relationship between the color of a visualization and emotion, Phase 2 focused on the relationship between properties of the data (e.g. trend) and emotion, and Phase 3, which we are working on now, is focused on the relationship between data labelling and the induced emotion. This project is funded by an NSERC USRA grant.

Visualization of the Canadian Community Health Survey from 2015-2019

Janurary 2021 - March 2021

Statistics Canada releases the anonymized results from their Canadian Community Health Survey every year, but the data tends to sit lifelessly in tables. The goal of this project was to make this valuable resource more interpretable by visualizing it using D3.js.

Work Experience

Highlighted Courses

Computer Science, Math, and Statistics

Course Code Course Name
CSC 482A Machine Learning Theory
ECE 403 Optimization for Machine Learning
CSC 421 Intro to Artificial Intelligence
CSC 445 Operations Research: Linear Programming
CSC 446 Operations Research: Simulation
CSC 370 Database Systems
CSC 485D Information Visualization
Math 100, 101, 200 Calculus I, II, III
Math 211 Matrix Algebra
STAT 350 Mathematical Statistics


Course Code Course Name
PSYC 351C Cognitive Neuroscience
PSYC 351A Cognitive Psychology
PSYC 351D Biopsychology
PSYC 333 Consumer Psychology


Course Code Course Name
PHIL 358 Theory of Perception
PHIL 390 Topics in Philosophy: Wittgenstein
PHIL 356 Philosophy of Science
PHIL 308 The Empiricists
PHIL 351 Epistemology

Technical Skills

Languages: Python, R, C++, CUDA, SQL, Java, C, MATLAB, JavaScript, LaTeX
Developer Tools: Git, VS Code, Atom, Jupyter
Libraries: PyTorch, Scikit-Learn, SciPy, AutoKeras, NumPy, Pandas, NLTK, Matplotlib, seaborn, D3.js
Applications: Excel