질문: 의사결정 트리 모델의 "리프 레이블 공식"에서 중복된 열 이름을 추출하지 않으려면 어떻게 해야 합니까?
의사결정 트리 모델의 "리프 레이블 수식"에서 중복되지 않은 열 이름을 얻는 방법은 무엇입니까?예를 들어 다음 JSL을 사용하여 리프 레이블 수식을 가져옵니다. 처음 10개 행의 수식에서 열 이름을 추출합니다.
감사해요!
d0 = Open( "$SAMPLE_DATA/Equity.jmp" );
p=Partition(
Y( :BAD ),
X(
:LOAN, :MORTDUE, :VALUE, :REASON, :JOB, :YOJ, :DEROG, :DELINQ, :CLAGE, :NINQ,
:CLNO, :DEBTINC
),
Validation Portion( 0.3 )
);
p<<GO></GO>
자동화 및 스크립팅질문: 의사결정 트리 모델의 "리프 레이블 공식"에서 중복된 열 이름을 추출하지 않으려면 어떻게 해야 합니까?Current Data Table( d0 );
txt = "";
For( i = 1, i <= 10, i++,
If( i == 1,
a = "",
a = "aaa"
);
nn = d0[i, "Leaf Label Formula"];
txt = txt || a || nn;
);
tx = "ccc\!n" || Substitute( txt, "&", "\!n", "aaa", "\!n", " or Missing", "", " not Missing", "", " Is Missing", "" );
tx = Substitute( tx, ">", "\!t>", "<", "\!t<", "(", "\!t(" );
d1 = Open( Char To Blob( tx ), "text" );
d2 = d1 << Summary( Group( ccc ), Freq( 0 ), Weight( 0 ), Link to original data table( 0 ) );Re: 의사결정 트리 모델의 "리프 레이블 수식"에서 중복되지 않은 열 이름을 얻는 방법은 무엇입니까?가능한 모든 열 이름을 반복하여 일치하는 항목이 발견되면 연관 배열에 추가하고 원하는 경우 열 목록에서 제거할 수 있습니다.
Names Default To Here(1);
input_cols = {"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "YOJ", "DEROG", "DELINQ", "CLAGE", "NINQ", "CLNO", "DEBTINC"};
dt = Open("$SAMPLE_DATA/Equity.jmp");
part = dt << Partition(
Y(:BAD),
X(Eval(input_cols)),
Validation Portion(0.3)
);
part << go;
part << save leaf label formula;
part << close window;
aa_cols = Associative Array();
For Each({row_val}, dt[1::10, "Leaf Label Formula"],
input_cols_temp = input_cols;
For Each({input_col, idx}, input_cols,
If(Contains(row_val, input_col),
aa_cols[input_col] = 1;
Remove From(input_cols_temp, idx);
);
);
input_cols = input_cols_temp;
);