public double PredictProbability(IList<double> input)
{
// TODO assert features and parameters have same length
double score = bias;
for (int i = 0; i < input.Count; i++)
score += input[i] * parameters[i];
return (double) 1 / (1 + Math.Exp(-score));
}