Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中进行替换采样时,如何提高运行速度?_Java_Matrix_Sampling_Statistics Bootstrap - Fatal编程技术网

在Java中进行替换采样时,如何提高运行速度?

在Java中进行替换采样时,如何提高运行速度?,java,matrix,sampling,statistics-bootstrap,Java,Matrix,Sampling,Statistics Bootstrap,我已经处理过表格数据,其中大约有100多万行,而它只包含一列 我尝试使用bootstrap方法,也就是传统的抽样方法 由于bootstrap方法只是用替换法对总体中的值进行采样,所以我用一种简单的方法编写了下面的代码 public static double[] inelegantSampleWithReplacement(double []someArray,int howmany){ double result[] = new double[NUMBER_OF_ROWS];

我已经处理过表格数据,其中大约有100多万行,而它只包含一列

我尝试使用bootstrap方法,也就是传统的抽样方法

由于bootstrap方法只是用替换法对总体中的值进行采样,所以我用一种简单的方法编写了下面的代码

public static double[] inelegantSampleWithReplacement(double []someArray,int howmany){
        double result[] = new double[NUMBER_OF_ROWS];
        for(int i=0;i<howmany;++i){
            result[i] =  someArray[(int)(someArray.length * Math.random())];
        }
        return result;
    }
publicstaticdouble[]inegantsamplewithreplacement(double[]someArray,int-howmany){
double result[]=新的double[行数];

对于(In i=0;也许您应该考虑使用Apache Spple而不是编写自己的代码。约束是代码只在本地计算机上工作而不是分布式平台。这就是为什么我问了一个更好的解决方案的原因。谢谢您的评论。您想要实现什么?从数组中获得随机数据吗?为什么?不理解WH。如果您的代码运行太长时间,可能需要测量一些额外的操作。如果您在for语句之前使用
java.util.Random r=new Random();
fore,以及for get Random INBOUNDS
r.nextInt(someArray.length),则此代码可能会更快
我快速试用了您的代码。输入100万次,获得1000个样本,大约需要1毫秒。即使输入100万次,获得100万个样本也只需要55毫秒。很可能是方法中的某些东西导致了速度变慢