mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-29 07:34:31 +00:00
44 lines
1.2 KiB
TeX
44 lines
1.2 KiB
TeX
\section{Model Training Pipeline}
|
|
|
|
|
|
\subsection{Training Data Preparation}
|
|
|
|
\begin{algorithm}
|
|
\caption{Training Data Generation}
|
|
\begin{algorithmic}[1]
|
|
\Function{GenerateTrainingData}{$\mathcal{E}$, $horizon$}
|
|
\State $samples \gets []$
|
|
\For{$c \in customers(\mathcal{E})$}
|
|
\For{$t \in observation\_points(c)$}
|
|
\State $features \gets$ \Call{ComputeFeatures}{$c$, $t$}
|
|
\State $label \gets$ \Call{HasPurchase}{$c$, $[t, t + horizon]$}
|
|
\State $samples.append((features, label))$
|
|
\EndFor
|
|
\EndFor
|
|
\State \Return $samples$
|
|
\EndFunction
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
\subsection{Class Imbalance Handling}
|
|
|
|
Purchase events are rare (typically 2-5\% of sessions convert). We address imbalance through:
|
|
|
|
\begin{enumerate}
|
|
\item SMOTE oversampling of minority class
|
|
\item Class weights in loss function: $w_{pos} = \frac{n_{neg}}{n_{pos}}$
|
|
\item Threshold optimization on validation set
|
|
\end{enumerate}
|
|
|
|
\subsection{Model Retraining}
|
|
|
|
Models are retrained on a weekly schedule:
|
|
|
|
\begin{itemize}
|
|
\item Training data: Rolling 180-day window
|
|
\item Validation: 14-day holdout
|
|
\item A/B testing: 5\% traffic for new model evaluation
|
|
\item Rollback criteria: >1\% AUC degradation
|
|
\end{itemize}
|
|
|