다시 : 총 확률을 고정하여 행에 카테고리 지정나는이 공식을 시도 할 것입니다.
p = Random Uniform();
If( p <= 0.5, 0, p <= 0.8, 1, 2 );
50 % 훈련, 30 % 검증 및 20 % 테스트를 사용했습니다.
다시 : 총 확률을 고정하여 행에 카테고리 지정안녕 mark ,
제안 해 주셔서 감사합니다. 이것은 작동하지만 열차의 고정 비율, 검증 및 테스트를 원하지 않기 때문에 약간 수정했지만 열차 / 검증 / 테스트의 최적 비율이 있는지 확인하기 위해 각 부트 스트랩 시뮬레이션을 수정하십시오. 유효성 검사 열의 선택 항목이 모형 적합에 영향을 줄 수 있으며 단순한 0.6, 0.2, 0.2 분할이 최적이 아닐 수 있습니다. 예를 들어 0.72, 0.15, 0.13이어야합니다.
p = Random Uniform();
If( p <= Random Uniform(x1,x2), 0,<BR /> p <= Random Uniform(X3,x4), 1,<BR /> p <= Random Uniform(x5,x6), 2 );
x1, x2, x3, x4, x5 및 x6을 조정하면 수식 열에서 열차 / 검증 / 테스트 비율이 달라질 수 있습니다.
감사!,
DS
다시 : 총 확률을 고정하여 행에 카테고리 지정한 번에 하나의 임의 변수 만 사용해야합니다. If () 함수를 호출하기 전에 Random Uniform ()을 두 번 이상 호출 할 필요가 없습니다. 부울 표현식에 변수를 사용하십시오.
p = Random Uniform();
If( p <= x1, 0, p <= x2, 1, 2 );
총 확률을 고정 된 상태로 행에 범주 지정JMP 커뮤니티님께,
(WE10, 64 비트, JMP Pro 4.1.0)
행에 0, 1 또는 2를 지정하여 "유효성 검사 열 만들기"와 유사한 작업을 수행하는 열 수식을 생성하려고합니다. 이 작업을 수행하는 방법으로 Random Category 기능을 시도하고 있지만 원하는 방식으로 작동하지는 않습니다. 행에 0, 1 또는 2를 할당하지만 각 범주의 빈도를 합산하면 1보다 큰 값을 얻습니다.
"유효성 검사 열 만들기"에서 데이터 테이블의 특정 비율을 "기차", "유효성 검사"또는 "테스트"(0, 1, 2)로 지정할 수 있으며 이러한 분수의 합은 항상 1에 추가됩니다. 임의 범주와 같은 함수를 사용 하여이 작업을 수행하고 싶습니다. "0 's,"1 's "및"2 's "의 분수가 1이됩니다. 간단히하기 위해 "1"의 수를 "2"의 수와 동일하게 유지하려고합니다. 즉, 유효성 검사 및 테스트 데이터의 수가 같고 1-수의 훈련 데이터 행을 더합니다.
이 모든 목적의 목적은 RMSE를 최소화하기 위해 열차 수를 변경하고 데이터 세트를 확인하고 데이터 세트를 테스트하여 모델 튜닝을 테스트하고 싶습니다. 관심 통계를 마우스 오른쪽 단추로 클릭 한 다음 "시뮬레이션"을 선택하면 모델이 부트 스트랩되고 재실행되어 통계가 어떻게 변경되는지 평가합니다. 그러나 각 유효성 검사 데이터 세트의 행 수를 교체하는 기능이 있어야합니다.
시뮬레이션을 실행할 때마다 새로운 유효성 검사 열을 "생성"하지만 "비율", "유효성", "테스트"행의 비율이 다릅니다. 그런 다음 출력을 사용하여 더 나은 성능의 모델을 만들기위한 세 가지의 최적 비율을 찾을 수 있습니다.
이에 대한 모든 의견 / 피드백은 대단히 감사합니다.
감사!,
DS
다시 : 총 확률을 고정하여 행에 카테고리 지정계획은 확실합니다. 그러나 더 큰 샘플에서는 더 잘 수행됩니다. 여기 더 나은 버전이 있습니다. (일반적으로 수식을 사용하지 않습니다.)
Names Default to Here( 1 );
n = 500;
dt = New Table( "Again and Again",
Add Rows( n ),
New Column( "Y", "Numeric", "Continuous", Values( J( n, 1, Random Normal() ) ) ),
New Column( "X1", "Numeric", "Continuous", Values( J( n, 1, Random Normal() ) ) ),
New Column( "X2", "Numeric", "Continuous", Values( J( n, 1, Random Normal() ) ) ),
New Column( "Validation", "Numeric", "Nominal" )
);
training proportion = 0.6;
valid threshold = 1 - ((1 - training proportion) / 2);
:Validation << Set Values(
J( n, 1, p = Random Uniform(); If( p <= training proportion, 0, p <= valid threshold, 1, 2 ) );
);
테스트를 위해 그렇게 많은 비율을 유지해야 할 이유가 있습니까?
다시 : 총 확률을 고정하여 행에 카테고리 지정안녕 mark ,
수정 된 버전을 사용하면 압축 된 형식을 사용하는 것보다 더 넓은 범위의 비율을 얻습니다.
다른 방법으로, 나는 더 넓은 범위를 볼 수 있습니다 테스트 다른 사람들과 함께 훈련 세트 (약 65 % -78 %)-대략 50/50 검증 / 테스트. 이것은 실제로 내가 추구하는 것입니다. 테스트 훈련은 낮은 값과 높은 값 사이에서 설정 한 다음 나머지 50/50을 분할합니다 : 검증 / 테스트.
감사!,
DS
다시 : 총 확률을 고정하여 행에 카테고리 지정귀하의 제안에 다시 한번 감사드립니다! 이전 답변에 오타가 있었고 편집했습니다. 더 큰 부분은 테스트 세트가 아닌 훈련 세트에 대한 것이어야합니다.