¿Cómo descartar K significa clúster en secuencias de comandos JMPHola,
Tengo un script JMP que coincide con un par de conjuntos de datos de coordenadas cartesianas usando K Means Cluster. El script funciona bien para conjuntos de datos que tienen un número igual de coordenadas. Estoy tratando de expandir el script para manejar los escenarios donde uno de los conjuntos de datos tiene coordenadas faltantes o menos coordenadas que el otro. Puedo hacer esto manualmente a través de la ventana de diálogo del Clúster de Medios K usando primero 'Eliminar' y luego seleccionando los valores atípicos y excluyéndolos. Me gustaría automatizar este proceso a través del script JMP. Mi plan es ejecutar la función 'Eliminar' y limitar el número de vecinos más cercanos a 1, luego 'Guardar distancias NN' a una columna y excluir las filas que están fuera de 3 sigma de la media. A continuación, ejecute el análisis de clúster en las coordenadas restantes.
No estoy seguro de cómo hacer esto a través de scripts JMP. La acción de identificar y excluir los valores atípicos de los vecinos más cercanos debe realizarse antes de que comience la función de clúster. Aquí es donde estoy atrapado.
¿Sería más fácil dejar el cuadro de diálogo Agrupar medios K con el gráfico de Disgregación y permitir al usuario resaltar los valores atípicos, excluirlos y luego ejecutar el algoritmo de agrupamiento? Si es así, ¿es posible que el script se detenga mientras el usuario realiza estas acciones y luego continúa una vez que se completa la función de clúster? Tengo acciones adicionales que se realizan en el resultado del clúster.
A continuación se muestra un fragmento de la función del grupo de medios K como lo he hecho ahora. La variable nClusters se define por el número de filas del conjunto de datos con el menor número de coordenadas.
obj = K significa clúster (
Y ( : X , : Y ) ,
Número de grupos ( nClusters ) ,
Columnas escaladas individualmente ( 0 )
) ;
obj << Declutter (1,1);
obj << Ir ;
Cualquier ayuda sería muy apreciada.
-Ry
Re: ¿Cómo declutter K significa clúster en secuencias de comandos JMPHola ih
Gracias. Exploraré esta función más a fondo.
Atentamente,
Ry
Re: ¿Cómo declutter K significa clúster en secuencias de comandos JMPFalta mi memoria de cómo se veía en JMP 12, pero John Sall lo mencionó aquí Así que espero que se pueda hacer. ¿Puedes chequear Cols-> Modeling Utilities? Esperemos que pueda trabajar a través del mismo análisis a través de la plataforma.
Re: ¿Cómo declutter K significa clúster en secuencias de comandos JMPHola ih
No estoy seguro de que esta función esté disponible en JMP 12 (lo que estoy usando). Cuando pruebo el código que enumeró, no hay ningún resultado para el paso "Explorar valores atípicos". Guardar NN Distancias no genera una columna.
Saludos,
Ry
Re: ¿Cómo declutter K significa clúster en secuencias de comandos JMPEn JMP 13, creo que puedes hacerlo usando la plataforma de selección:
//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;