Wei-Tse (Wayne) Tang

Machine learning Toronto, Ontario

I work on imbalanced, high-stakes prediction — problems where the class that matters is a sliver of the data and accuracy quietly lies.

Electrical engineer by training. A year keeping camera inspection systems running on a semiconductor line, now finishing the Applied A.I. Solutions Development certificate at George Brown College. Looking for a machine learning co-op, January to April 2027.

01 — Profile

About

I spent a year as an application engineer keeping camera-based inspection systems running on a semiconductor line. When detection rates missed spec, I traced it to measurement-error variance, reworked the C# processing flow, and brought detection to 90 percent.

That left me suspicious of numbers that look good. My first term project handed me a dataset with 2.6 percent positives, where predicting "nobody is at risk" scores 97 percent. Making that pipeline honest — and proving it across ten seeds, not one lucky split — is the work I want to keep doing.

Looking for a machine learning co-op where models reach production and being wrong has consequences.

0.17
Recall lifted on a class making up 2.6 percent of the data
0
Revenue inflation found in a source file others had signed off
0
Ratings processed in a recommender benchmark

At a glance

  • B.Eng. Electrical Engineering
  • 1 year production engineering
  • Python, SQL, C#
  • Imbalanced classification, NLP
  • Hadoop, Hive, MongoDB, MySQL
  • English, Mandarin
02 — Skills and Resume

Technical skills

Everything below appears in work shown on this site.

Languages

PythonSQLC# CJavaBash

Machine learning

scikit-learnLightGBMimbalanced-learn SMOTEGridSearchCVthreshold tuning stratified k-foldfeature ablation scikit-surprisepandasNumPy

Natural language processing

spaCyNLTKgensim LDAWord2VecDoc2Vec FastTextTF-IDFsklearn-crfsuite pyLDAvis

Computer vision

OpenCVOtsu thresholdingcontours Haar cascadesbackground subtraction

Data and infrastructure

MySQL 8.0Hadoop 3.3.6HDFS HivePigMongoDB Atlas PyMongoParquetETL design 3NF modelling

Engineering practice

GitGitHubpytest JupyterTableauLinux / VM setup matplotlibseaborn

Full resume — one page, tailored to machine learning co-op roles.

PDF Word
03 — Work Samples

Selected projects

Every figure was produced by my own code. Every number I can walk through.

Depression screening on imbalanced survey data

AASD4001 · Team of 5

1,200 respondents, 31 positive cases. The model was never the hard part.

  • The random forest baseline hit 97.9 percent accuracy and caught one at-risk teenager out of six.
  • Kept SMOTE strictly inside the training folds; tuned the decision threshold to 0.23 on a leakage-free F2 scan instead of accepting 0.5.
  • Ablated all 14 features, then re-ran everything across 10 seeds — the spread is the result, not the best split.
0.17
Recall on the rare class, baseline to final
0
Mean F2 across 10 seeds
0
False positives, all seeds

Stack scikit-learn, imbalanced-learn, pandas, seaborn  ·  My role leakage-safe validation, feature ablation, multi-seed stability, notebook integration

Bar chart of test F2 across ten random seeds, mean 0.929 plus or minus 0.121
Seven of ten splits perfect. Mean F2 0.93, standard deviation 0.12.
Accuracy, recall and F2 against decision threshold, selected threshold marked at 0.23
Accuracy is flat across the range. Recall and F2 are not.
Baseline confusion matrix missing five of six at-risk cases
Baseline: recall 0.167.
Final confusion matrix identifying all six at-risk cases with no false positives
Final: all six, no false alarms.
Three-panel bar chart of accuracy, recall and F2 after dropping each of fourteen features
Sleep, stress and anxiety carry the model. The rest is close to noise.

Sales data quality audit and ETL pipeline

AASD4006

Five sources into one table, built twice — Tableau Prep and a tested Python package. The audit found a defect the lab manual did not contain.

  • One region reported $2,152,513 in revenue. The truth was $725,458.
  • A self-join artefact: order CA-2017-165330 held 11 products across 121 rows — exactly 11 squared. Two independent recovery methods both landed on 3,203 real rows.
  • Wrote 11 pytest assertions so the pipeline fails loudly instead of producing a clean-looking wrong answer.
0
Revenue inflation detected
0
Phantom rows removed
0
Data-quality assertions

Stack pandas, pyarrow, pytest, Tableau Prep, Parquet  ·  Structure modular extract / transform / load package with a test suite

Four-bar chart comparing reported versus actual rows and revenue for one region, showing threefold inflation
Reported against actual. Trust the source file and every downstream number is wrong.

Text classification benchmark

AASD4004

Five feature extractors against four classifiers on 20 Newsgroups — 18,846 documents, 20 classes, metadata stripped so nothing can cheat.

  • Twenty configurations on one identical split, so the comparison is between representations.
  • Sparse lexical features beat dense embeddings by roughly 18 accuracy points.
  • The top two differ by 0.001 accuracy but swap rank on macro-F1 — worth saying, rather than declaring a winner.
0
Best accuracy: TF-IDF with logistic regression
0
Best macro-F1: TF-IDF with linear SVM
0
Configurations benchmarked

Stack scikit-learn, gensim, NumPy

Heatmap of test accuracy for five feature extractors against four classifiers on 20 Newsgroups
Representation moves the result far more than classifier choice.

Recommender systems on MovieLens-20M

AASD4004

Four approaches over 20 million ratings and 27,278 films: weighted popularity, content-based, user-based collaborative filtering, and matrix factorisation.

  • Content-based: TF-IDF over genres and tags, reduced to 200 dimensions retaining 59.3 percent variance. Querying "Toy Story" returns Toy Story 2, A Bug's Life and Finding Nemo — the sanity check passing.
  • Matrix factorisation is the only approach here with a defensible error metric, so it gets cross-validated rather than eyeballed.
0
RMSE, 5-fold CV (±0.0010)
0
MAE, 5-fold CV (±0.0008)
0
Ratings processed
0
Mean fit time per fold

Stack scikit-surprise, scikit-learn, pandas, SciPy

E-commerce analytics on a self-built Hadoop cluster

AASD4008

Not a managed service. Hadoop 3.3.6 and Hive on an Ubuntu ARM64 virtual machine I configured from the JDK upward.

  • 5,000 orders into HDFS, queried through Hive on MapReduce with real job runtimes.
  • 2022 revenue peaked in May and bottomed in December — worth flagging, because it inverts the usual retail seasonality.
0
Hive job runtime, 2 MapReduce stages
0
Orders loaded into HDFS

Stack Hadoop 3.3.6, HDFS, Hive, YARN, Ubuntu ARM64, OpenJDK 8

Terminal screenshot showing the e-commerce dataset loaded into HDFS on the local Hadoop cluster
The dataset in HDFS on the cluster I configured.

Additional work

Selected
  • Prescription parser — CRF sequence labelling turning free-text medical directions into structured fields. 87.0 percent token accuracy on 56 annotated prescriptions. AASD4004
  • LDA topic modelling — bigrams, spaCy lemmatisation, 20 topics at 0.485 c_v coherence, visualised with pyLDAvis. AASD4004
  • CDC BRFSS 2015 — 100,000 respondents, 313 features, randomised search on ROC-AUC. Test ROC-AUC 0.87 against a 0.50 baseline, with a 0.01 train-test gap. AASD4000
  • AutoFeatureSelector — six selection methods voted over 223 features. Exactly two survived all six. AASD4000
  • EU AI Act risk assessment — classified a health-insurance recommender under Annex III and wrote measurable oversight controls: review time above 30 seconds, agreement-rate alarm above 98 percent, auto-suspension when appeal overturns exceed 25 percent. AASD4003
ROC curves comparing train, test and baseline for the tuned random forest on CDC BRFSS data
Train and test sit on top of each other — the result I was checking for.
Confusion matrix for the tuned random forest on CDC BRFSS data
Recall 0.97 at precision 0.86 on 29,916 held-out respondents.
Seven-entity entity relationship diagram normalised to second normal form
Seven-entity schema normalised to 2NF, two partial dependencies promoted out.
04 — Education and Acknowledgements

Education

Ontario College Graduate Certificate, Applied A.I. Solutions Development (Co-op)

George Brown College — Toronto, Ontario
Machine Learning 1Machine Learning 2 Applied Mathematical Concepts for MLBig Data Techniques Data ManagementData Visualization Ethics and Law for Data ScienceDesign Thinking for AI
May 2026 – Apr 2027
(expected)

Bachelor of Engineering, Electrical Engineering

National Chiayi University — Chiayi, Taiwan
Sep 2019 – Jun 2023

Transcripts and credentials

Resume

One page, PDF. Word version also available.

George Brown College transcript

Unofficial transcript. Add as assets/docs/GBC_Transcript.pdf.

Bachelor's degree certificate

National Chiayi University. Add as assets/docs/NCU_Degree.pdf.

Certificates

Completed course certificates. Add to assets/docs.

Academic awards and letters of recommendation are not listed because I do not currently hold any. This section will be updated as they are received.
05 — Contact

Get in touch

Available for a full-time machine learning co-op, January to April 2027, in Toronto.