回复: 決定木モデルの「リーフラベル式」から重複した列名が抽出されないようにするにはどうすればよいでしょうか?
デシジョンツリーモデルの「リーフラベル式」から重複しない列名を取得するにはどうすればよいですか?たとえば、次の 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;
);