linear_regression_line.js

/**
 * 给定 `linearRegression` 的输出:一个包含 `m` 和 `b` 值的对象,
 * 分别表示斜率和截距,生成一个将 x 值转换为 y 值的线性函数。
 *
 * @param {Object} mb 包含 `m` 和 `b` 成员的对象,表示所需直线的斜率和截距
 * @returns {Function} 计算直线上任意给定 x 值对应的 y 值的方法
 * @example
 * var l = linearRegressionLine(linearRegression([[0, 0], [1, 1]]));
 * l(0) // = 0
 * l(2) // = 2
 * linearRegressionLine({ b: 0, m: 1 })(1); // => 1
 * linearRegressionLine({ b: 1, m: 1 })(1); // => 2
 */
function linearRegressionLine(mb /*: { b: number, m: number }*/) {
    // 返回一个函数,该函数根据我们刚刚计算的 `b` 和 `a` 值,
    // 计算给定 x 值对应的 y 值。
    return function (x) {
        return mb.b + mb.m * x;
    };
}

export default linearRegressionLine;