java 实现 r平方决定系数

 public static double calculateRSquare(List<Double> actualList, List<Double> predictedList) {
        Double[] actual = actualList.toArray(new Double[actualList.size()]);
        Double[] predicted = predictedList.toArray(new Double[predictedList.size()]);

        double mean = calculateMean(actual);
        double sst = 0.0; // 总平方和
        double ssr = 0.0; // 回归平方和
        double sse = 0.0; // 残差平方和

        for (int i = 0; i < actual.length; i++) {
            double difference = actual[i] - mean;
            double residual = actual[i] - predicted[i];
            ssr += Math.pow(difference, 2);
            sse += Math.pow(residual, 2);
            sst = ssr + sse;
        }

        double rSquare = 1 - sse / sst; // R方决定系数
        return rSquare;
    }

    private static double calculateMean(Double[] values) {
        double sum = 0.0;
        for (double value : values) {
            sum += value;
        }
        return sum / values.length;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值