[SCALA] 어떻게 단순 무작위 표본 추출 및 아파치 스파크 (스칼라)에서 dataframe SAMPLE 기능 일을?
SCALA어떻게 단순 무작위 표본 추출 및 아파치 스파크 (스칼라)에서 dataframe SAMPLE 기능 일을?
Q1. 그것은 잘 때 작동하지만, 0.6 그러나 그것은 나에게 내가 그것을 실행할 때마다 다른 크기의 샘플을 제공합니다 : 거짓, 분수 : 나는 샘플 매개 변수 withReplacement와 함수를 사용하여 스파크 dataframe (13 행)에서 단순 무작위 표본을 얻기 위해 노력하고 있어요 나는 세 번째 매개 변수 (씨앗)을 설정합니다. 왜?
Q2. 어떻게 샘플은 난수 생성 후 얻을 수있다?
미리 감사드립니다
해결법
-
==============================
1.당신은 샘플로 원하는 부분에 따라 두 개의 서로 다른 알고리즘이있다. 당신은 Dataframes 유니폼에 샘플 방법은 샘플링 SPARK에 저스틴의 Pihony 답변을 확인할 수 있습니까?
당신은 샘플로 원하는 부분에 따라 두 개의 서로 다른 알고리즘이있다. 당신은 Dataframes 유니폼에 샘플 방법은 샘플링 SPARK에 저스틴의 Pihony 답변을 확인할 수 있습니까?
분획 RandomSampler.defaultMaxGapSamplingFraction 샘플링 이상이면 단순 필터에 의해 수행된다 :
items.filter { _ => rng.nextDouble() <= fraction }
그렇지 않으면 일을 조금 단순화, 그것은 반복적으로 임의의 정수를 사용하여 드롭 메소드를 호출하고 다음 항목을 걸립니다.
GapSamplingIterator와 아무것도 잘못이있는 가정, 마음에 반환 된 요소의 수는 평균이 무작위로 될 것이라고 분명해야한다는 유지, 일부 * rdd.count 같음. 당신은 씨앗을 설정하면 당신은 임의의 숫자와 동일한 순서를 얻고 결과적으로 같은 요소가 샘플에 포함되어 있습니다.
-
==============================
2.RDD의 API "는 어레이 내에 지정된 크기의 샘플의"을 반환 takeSample를 포함한다. 그것은이 (가) 다음 무작위로 그에서 특정 번호를 복용 한 요청보다 샘플 크기 이상을 때까지 샘플을 호출하여 사용할 수 있습니다. 코드 코멘트 인한 큰 샘플 크기를 향한 편견에 자주 반복이 안된다고.
RDD의 API "는 어레이 내에 지정된 크기의 샘플의"을 반환 takeSample를 포함한다. 그것은이 (가) 다음 무작위로 그에서 특정 번호를 복용 한 요청보다 샘플 크기 이상을 때까지 샘플을 호출하여 사용할 수 있습니다. 코드 코멘트 인한 큰 샘플 크기를 향한 편견에 자주 반복이 안된다고.
from https://stackoverflow.com/questions/32229941/how-do-simple-random-sampling-and-dataframe-sample-function-work-in-apache-spark by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] JTable의에서 JProgressBar가이 업데이트되지 (0) | 2019.11.24 |
---|---|
[SCALA] 무기 호는 목록의 마지막에 요구되는 이유는 단점 연산자를 사용하여 구축 (0) | 2019.11.24 |
[SCALA] ImageIO.write를 사용하여 품질 손실 (0) | 2019.11.24 |
[SCALA] SBT의 DependsOn RootProject는 : 종속성을 컴파일되지 않습니다 (0) | 2019.11.24 |
[SCALA] 스칼라는 일반적인 특성과 개체를 확장 (0) | 2019.11.24 |