/// <summary> /// Predict target values for samples in x. /// </summary> /// <param name="regressor">A <see cref="IRegressor"/> instance.</param> /// <param name="x">Array with dimensions [nSamples, nFeatures].</param> /// <returns>Returns predicted values. Array with dimensions [nSamples].</returns> public static double[] PredictSingle(this IRegressor regressor, double[,] x) { return(regressor.Predict(DenseMatrix.OfArray(x)).Column(0).ToArray()); }
/// <summary> /// <para> /// Returns the coefficient of determination R^2 of the prediction. /// </para> /// <para> /// The coefficient R^2 is defined as (1 - u/v), where u is the regression /// sum of squares ((y_true - y_pred) ** 2).sum() and v is the residual /// sum of squares ((y_true - y_true.mean()) ** 2).sum(). /// Best possible score is 1.0, lower values are worse. /// </para> /// </summary> /// <param name="regressor">A <see cref="IRegressor"/> instance.</param> /// <param name="x">Feature matrix. Matrix with dimensions [nSamples, nFeatures].</param> /// <param name="y">True values for <paramref name="x"/>. Vector with dimensions [nSamples].</param> /// <returns> R^2 of Predict(X) wrt. y.</returns> public static double Score(this IRegressor regressor, Matrix <double> x, Vector <double> y) { return(Metrics.Metrics.R2Score(y.ToColumnMatrix(), regressor.Predict(x))); }
/// <summary> /// Predict target values for sample x. /// </summary> /// <param name="regressor">A <see cref="IRegressor"/> instance.</param> /// <param name="x">Array of length [nFeatures].</param> /// <returns>Returns predicted values. Array of length [nTargets].</returns> public static double[] Predict(this IRegressor regressor, double[] x) { return(regressor.Predict(x.ToDenseVector().ToRowMatrix()).Row(0).ToArray()); }
/// <summary> /// <para> /// Returns the coefficient of determination R^2 of the prediction. /// </para> /// <para> /// The coefficient R^2 is defined as (1 - u/v), where u is the regression /// sum of squares ((y_true - y_pred) ** 2).sum() and v is the residual /// sum of squares ((y_true - y_true.mean()) ** 2).sum(). /// Best possible score is 1.0, lower values are worse. /// </para> /// </summary> /// <param name="regressor">A <see cref="IRegressor"/> instance.</param> /// <param name="x">Feature matrix. Matrix with dimensions [nSamples, nFeatures].</param> /// <param name="y">True values for <paramref name="x"/>. Matrix with dimensions [nSamples, nTargets].</param> /// <returns> R^2 of Predict(x) wrt. y.</returns> public static double Score(this IRegressor regressor, Matrix <double> x, Matrix <double> y) { return(Metrics.Metrics.R2Score(y, regressor.Predict(x))); }