Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Formula mancante con dati con valore mancante addestrato dal modello di partizione, come convertire JSL in un modulo che può essere utilizzato nella formula JMP.
ab>=-14&P1>=174.1&EVk<34341 or Missing&xyz<214.98 or Missing&EVk<154 or Missing&P1>=1741
in
:ab >= -14 & :P1 >= 1741 & (:EVk < 154 | Is Missing( :EVk )) & (:xyz < 214.98 | Is Missing( :xyz ))
Grazie!
ScriptingRi: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Qui "AB", "P1" ed "EVk" sono Partizioni più volte. Come si possono mantenere solo parametri validi?
E come si gira automaticamente
"EVk <154 o mancante"
in
": EVk <154 | è mancante (: EVk)"?
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Quindi, se si salva il modello di partizione adattato, si tratta di una formula di colonna.
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Basta salvare la formula di previsione come formula di colonna dopo aver selezionato il modello di partizione.
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Grazie a Markbailey!
Ma ho provato a copiare la formula dell'etichetta foglia e a calcolarla come una formula normale, il che è sbagliato.
Per esempio:
dt<<NEW column="">=-14&:P1>=1741&:xyz<214.98 or Missing&:EVk<154 or Missing));dt<<RUN formulas=""></RUN></NEW>
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Sì, quel codice è sbagliato. Quel codice non è ciò che viene salvato come formula per le etichette delle foglie. Hai erroneamente copiato ciò che desideri dalla formula e incollato il codice errato nel tuo script.
Ecco un esempio che ha copiato la formula salvata per le etichette foglia testualmente e incollata come argomento nell'argomento Formula () per la nuova colonna:
Names Default To Here( 1 );
// open an example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// create a new column for character data and populate it with formula based on a
// previously saved formula for leaf labels.
dt << New Column( "Text",
Character,
Formula(
If( !Is Missing( :height ) & :height >= 63,
If( !Is Missing( :height ) & :height >= 67,
"height>=63&height>=67",
"height>=63&height<67"
),
"height<63"
)
)
);Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Sì. So anche che è possibile utilizzare direttamente la "formula di previsione", ma questa formula di previsione è così globale, così grande e così complessa che è scomodo usarla in altri file.
La "formula dell'etichetta foglia" è accurata, ma la formula dell'etichetta foglia prodotta automaticamente dal modello "Partizione" non può essere utilizzata direttamente.
Quindi ho trasferito queste formule di etichette foglia in Excel utilizzando VBA per convertirle automaticamente in un modulo che può essere utilizzato nelle formule JMP.
Ma questa operazione utilizzerà l'intero processo operativo non può essere completamente automatizzato.
Grazie a Markbailey!
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Quindi voglio sapere come usare JSL per convertire queste formule di etichette foglia nella forma utilizzabile di JMP formula () formu.Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Penso che siamo confusi perché la colonna Formula foglia etichetta ha già una formula dietro. Non è necessario convertire nulla. Puoi spiegare più chiaramente esattamente i passaggi che vuoi fare?

Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Naturalmente, il testo della colonna formula etichetta foglia non può essere calcolato direttamente in questo modo.

Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Grazie Jeff!
Da quando ho ottenuto queste formule per le etichette delle foglie che non sono state utilizzate nel file originale.
Quindi ho semplicemente rimosso la formula dalla colonna della formula dell'etichetta foglia, ho ottenuto solo il testo e ho raggruppato il testo delle diverse formule dell'etichetta foglia in un file.
Queste formule testuali per le etichette delle foglie vengono quindi utilizzate per calcolare altri dati utilizzando JSL, quindi ho questo problema di conversione.
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Stai dicendo che qualcuno ha già fatto un'analisi e non può più riprodurre il modello originale e ora stai provando a ricreare la formula dai dati esportati in Excel? Se possibile, sarebbe molto più semplice costruire di nuovo lo stesso modello in JMP e quindi esportare direttamente la colonna della formula. Andando avanti, per ogni nuovo modello creato esporterei sempre quella colonna foglia in modo da non doverti più occupare di questo. Se hai davvero bisogno di ricreare la formula e non puoi semplicemente "forza bruta" digitarla mentre ti riferisci al tuo file Excel (suppongo che sarebbe più veloce per qualcuno che non ha familiarità con lo script a meno che tu non abbia 100s di termini), allora potresti usare le formule sostitutive (semplici) o regex (complesse) per trasformare il tuo testo grezzo in una formula. Sembra un dolore e penso che tutti stiano dicendo di evitarlo se puoi.
OPPURE, stai cercando di creare un insieme di colonne per ogni possibile foglia con valori true / false che indicano se quella riga in ogni foglia? In questo caso, vorrei comunque salvare la formula foglia e quindi creare nuove colonne con una formula verificando se l'etichetta foglia corrisponde a una stringa di testo.
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?
Sì, non ho ancora trovato queste formule di etichette foglia che si ottengono utilizzando JSL per dividere automaticamente diversi file in un file e salvarli sotto forma di formule.Se si elimina il fattore X, si elimina la formula.
Grazie!
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Ora sono confuso. Puoi dirci cosa stai cercando di ottenere, comprese le colonne che ti aspetti nelle tabelle risultanti e i passi che pensi che porteresti per arrivarci?
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Premere il seguente JSL per ottenere un file di formula etichetta foglia non ripetibile T1.
Come estrarre il contenuto specifico di ogni formula di etichetta foglia di T1 riga per riga nella formula "Formula1" del file T1?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[30 :: 35, "height"] = "";
p = Partition( Y( :weight ), X( :age, :sex, :height ), Validation Portion( 0.3 ), Informative Missing( 1 ), split Best( 2 ) );
p << save leaf label formula;
p << Close Window;
Wait( 0 );
dt << Sort( By( 6 ), Order( Descending ), replacetable( 1 ) );
dt << Select Where( :Leaf Label Formula != Lag( :Leaf Label Formula, -1 ) );
d3 = dt << Subset( Output Table( "T1" ), Selected Rows( 1 ), selected columns( 0 ) );
Wait( 0 );

Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Basta prendere il testo della colonna "Formula etichetta foglia" nella tabella "T1" e ottenere il modulo Formula corrispondente.
non ho bisogno di una formula globale.
Grazie!
Ri: Come utilizzare JSL per convertire la formula dell'etichetta della foglia della partizione dell'albero decisionale in un modulo che può essere utilizzato nella formula JMP?Una di queste opzioni potrebbe funzionare? io pensare realizzano ciò che stai cercando:
//For each row (leaf of partition) create a new formula column
//indicating whether that row is in that leaf
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(:Leaf Label Formula == Expr(d3:Leaf Label Formula[r])));
));
);
//Or if you want it all in one column (slower if multiple columns):
for(r=1, r<= n row(d3), r++,
Eval(Eval Expr(
d3 << New Column("Alt Is Leaf " || d3:Leaf Label Formula[r], Numeric, "Continuous", Format("Best", 12), Formula(Expr(dt:Leaf Label Formula << Get Formula) == Expr(d3:Leaf Label Formula[r])));
));
);