编程实现对数据记录的随机抽样。给定概率p,依概率p对给定的数据集合进行随机抽样。
比如说现在在一个数组中存放了10000位同学的身高和体重信息,现在需要你对这100位同学以概率p=0.002进行抽样,随机取出这10000位同学中约20位同学的信息。
各位大哥请问有什么高招?感激不尽!
比如说现在在一个数组中存放了10000位同学的身高和体重信息,现在需要你对这100位同学以概率p=0.002进行抽样,随机取出这10000位同学中约20位同学的信息。
各位大哥请问有什么高招?感激不尽!
import java.util.HashSet;
import java.util.Random;
public class Main {
public static void main(String[] args) {
//假设学生的编号是从1-10000
HashSet<Integer> set = new HashSet<Integer>();
Random random = new Random();
while(set.size()<=20) {
set.add(random.nextInt(10000) + 1);
}
System.out.println("随即取出来的20为同学的编号:");
for(Integer i : set) {
System.out.print(i + " ");
}
System.out.println();
}
}这里用最简单的方法实现了一个。