Come posso declutter K Means Cluster in JMP ScriptingCiao,
Ho uno script JMP che corrisponde a una coppia di set di dati di coordinate cartesiane utilizzando K Means Cluster.Lo script funziona bene per set di dati che hanno un numero uguale di coordinate.Sto cercando di espandere lo script per gestire scenari in cui uno dei set di dati ha coordinate mancanti o meno coordinate dell'altro.Posso farlo manualmente attraverso la finestra di dialogo K Means Cluster prima usando "Declutter", quindi selezionando i valori anomali ed escludendoli.Vorrei automatizzare questo processo tramite lo script JMP.Il mio piano è eseguire la funzione "Declutter" e limitare il numero di vicini più vicini a 1, quindi "Salva distanze NN" su una colonna ed escludere le righe che sono al di fuori di 3 sigma della media. Quindi eseguire l'analisi del cluster sulle coordinate rimanenti.
Non sono sicuro di come farlo tramite lo scripting JMP.L'azione di identificazione ed esclusione dei valori anomali da parte dei vicini più vicini deve avvenire prima che inizi la funzione del cluster.Questo è dove sono bloccato.
Sarebbe più semplice lasciare la finestra di dialogo Cluster K Mezzi con il grafico Declutter e consentire all'utente di evidenziare i valori anomali, escluderli, quindi eseguire l'algoritmo di clustering?In tal caso, è possibile che lo script si metta in pausa mentre l'utente esegue queste azioni e poi continui al termine della funzione cluster? Ho ulteriori azioni che vengono eseguite sul risultato del cluster.
Di seguito è riportato un frammento della funzione K Means Cluster come ho ora.La variabile nClusters è definita dal numero di righe del set di dati con il minor numero di coordinate.
ogg = K significa Cluster (
Y ( : X , : Y ) ,
Numero di cluster ( ncluster ) ,
Colonne ridimensionate individualmente ( 0 )
) ;
obj << Declutter(1,1);
ogg << andare ;
Qualsiasi aiuto sarebbe molto apprezzato.
-Ry
Re: Come posso declutter K Means Cluster in JMP ScriptingCiao io,
Grazie.Esplorerò ulteriormente questa funzione.
Distinti saluti,
Ry
Re: Come posso declutter K Means Cluster in JMP ScriptingIl mio ricordo di come appariva in JMP 12 è scomparso, ma John Sall l'ha fatto riferimento qui quindi mi aspetto che si possa fare. Puoi controllare Cols-> Utilità di modellazione? Spero che tu possa lavorare attraverso la stessa analisi attraverso la piattaforma.
Re: Come posso declutter K Means Cluster in JMP ScriptingCiao io,
Non sono sicuro che questa funzione sia disponibile in JMP 12 (quello che sto usando).Quando eseguo il test del codice che hai elencato, non ci sono risultati per il passaggio "Esplora valori anomali".Il salvataggio di NN Distanze non genera una colonna.
Saluti,
Ry
Re: Come posso declutter K Means Cluster in JMP ScriptingIn JMP 13 credo che tu possa farlo usando la piattaforma di screening:
//Use sample data
dt = Open( "$SAMPLE_DATA/Cytometry.jmp" );
//Find outliers using KNN
outliers = dt << Explore Outliers(
Y( :CD3, :CD8 ),
Name( "Multivariate k-Nearest Neighbor Outliers" )(K( 1 ))
);
//Save the distance to the nearest point
outliers << Save NN Distances;
//Make a column indicating that the point is an outlier. You could skip this and select the points over a certain value directly.
dt << New Column( "Is Outlier",
Numeric, "Nominal",
Formula(
If(
:Nearest 1 Distance > Col Mean( :Nearest 1 Distance ) + 3 *
Col Std Dev( :Nearest 1 Distance ),
1,
0
)
),
Value Labels( {0 = "No", 1 = "Yes"} ), Use Value Labels( 1 )
);
//show which points will be excluded
dt << Graph Builder(
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Row", Formula( Row() ) ) ),
Y( :Nearest 1 Distance ),
Color( :Is Outlier )
),
Elements( Points( X, Y, Legend( 14 ) ) )
);
//Uncomment to Hide and exclude outliers
//dt << select where( :Is Outlier == 1 );
//dt << hide and exclude;