← Projects

// technical · machine learning

AI Land Ownership Prediction Model

Predicting ownership changes from county land tax datasets

This model predicts land ownership changes using tabular machine learning on county assessor tax record datasets. It was built as an early exploration into structured prediction over land data — a direct predecessor to the data modeling work inside Ranger Discovery.

relationship to ranger

This project predates Ranger and informed its architecture. The feature engineering patterns, class imbalance strategies, and county data schema design developed here shaped how Ranger models mineral ownership chains over Railroad Commission datasets.

Problem Framing

County assessor records contain ownership history, assessed value changes, and transfer events over time. The classification target was ownership change — predicting whether a given parcel would transfer ownership within a defined time window based on assessor features.

Ownership transfers are rare events relative to the full dataset, creating significant class imbalance. The model had to handle this without producing degenerate predictions biased toward the majority class.

ML Approach

Feature engineering was the primary lever. Raw assessor fields were transformed into ownership tenure signals, value change ratios, exemption status flags, and year-over-year delta features. The feature space was designed to encode economic and behavioral signals rather than raw administrative values.

Class imbalance was addressed through a combination of oversampling and weighted loss functions. Multiple architectures were evaluated — gradient-boosted trees, neural network classifiers, and logistic baselines — with evaluation focused on precision-recall tradeoffs rather than raw accuracy.

Pipeline Structure

// data flow

raw_recordscounty assessor CSV exports
feature_engtenure, value delta, exemption flags
class_balanceoversampling + weighted loss
modelTensorFlow classifier
evalprecision-recall curve, F1, AUC

Skills Demonstrated

PythonTensorFlowFeature EngineeringTabular ModelingClassificationClass Imbalance HandlingPandasJupyter