Los ejemplos utilizan datos generados (datalines) o tablas SASHELP para asegurar la autonomía de cada bloque de código.
1 Bloque de código
PROC BINNING Data
Explicación : Este ejemplo crea una tabla de datos simple 'auto_data' en la librería CASUSER. Luego, se utiliza el procedimiento BINNING con el método CUTPTS para la variable 'Horsepower'. Se especifican puntos de corte en 180 y 200, creando así tres categorías: Horsepower <= 180, 180 < Horsepower <= 200, y Horsepower > 200. La tabla de salida 'binned_data' contendrá la nueva variable discretizada, así como las variables originales copiadas. Los resultados se muestran para las primeras observaciones y se realiza una frecuencia en la variable discretizada para verificar la discretización.
Explicación : Este ejemplo ilustra la discretización por puntos de corte en dos variables, 'SqFt' y 'YearBuilt', a partir de una tabla de datos 'house_prices'. La opción MONITOR=(SalePrice) se utiliza para la variable 'SqFt' con el fin de monitorear la variable 'SalePrice' en las estadísticas de los bins, lo cual es útil para evaluar el rendimiento de la discretización. La opción OUTSTAT genera una tabla adicional 'bin_stats' que contiene las estadísticas de cada bin, ofreciendo una vista detallada de los resultados de la agrupación.
Explicación : Este ejemplo avanzado utiliza una tabla de datos de clientes con valores perdidos. Para la variable 'Age', se definen puntos de corte específicos (30, 40, 50). Para 'Income_Monthly', aunque se proporcionan puntos de corte, la opción HANDLEMISSING=BIN indica que los valores perdidos deben tratarse como una categoría de bin distinta. Esto demuestra un enfoque más robusto para la agrupación de datos, teniendo en cuenta escenarios reales de datos incompletos.
¡Copiado!
/* Création d'une table CAS temporaire avec des valeurs manquantes */
options casdatalimit=1000;
caslib _all_ assign;
data casuser.customer_data;
input Age Income_Monthly Education_Level $ Credit_Score_PreBinning Gender $;
datalines;
30 3000 Bac NA . M
45 5000 Master NA 750 F
25 2000 HighSchool NA 600 M
NA 4000 PhD NA 800 F
35 NA Bachelor NA 700 M
50 6000 Master NA 850 F
28 2500 HighSchool NA 620 M
40 4500 Bachelor NA 720 F
NA 3500 PhD NA 780 M
32 3200 HighSchool NA 680 F
;
run;
/* Application du découpage avec gestion des manquantes et différentes numbin */
proc binning data=casuser.customer_data numbin=5 method=cutpts;
input Age / cutpts(30, 40, 50);
input Income_Monthly / numbin=3 cutpts(3000, 5000) handlemissing=bin;
output out=casuser.binned_customer_data copyvars=(Age Income_Monthly Credit_Score_PreBinning);
run;
/* Affichage des résultats pour les données binées */
proc print data=casuser.binned_customer_data;
run;
/* Vérification des fréquences pour les variables binées */
proc freq data=casuser.binned_customer_data;
tables Binned_Age Binned_Income_Monthly;
run;
1
/* Création d'une table CAS temporaire avec des valeurs manquantes */
2
options casdatalimit=1000;
3
caslib _all_ assign;
4
5
DATA casuser.customer_data;
6
INPUT Age Income_Monthly Education_Level $ Credit_Score_PreBinning Gender $;
7
DATALINES;
8
303000 Bac NA . M
9
455000 Master NA 750 F
10
252000 HighSchool NA 600 M
11
NA 4000 PhD NA 800 F
12
35 NA Bachelor NA 700 M
13
506000 Master NA 850 F
14
282500 HighSchool NA 620 M
15
404500 Bachelor NA 720 F
16
NA 3500 PhD NA 780 M
17
323200 HighSchool NA 680 F
18
;
19
RUN;
20
21
/* Application du découpage avec gestion des manquantes et différentes numbin */
/* Affichage des résultats pour les données binées */
29
PROC PRINTDATA=casuser.binned_customer_data;
30
RUN;
31
32
/* Vérification des fréquences pour les variables binées */
33
PROC FREQDATA=casuser.binned_customer_data;
34
tables Binned_Age Binned_Income_Monthly;
35
RUN;
36
4 Bloque de código
PROC BINNING
Explicación : Este ejemplo demuestra la integración de PROC BINNING en el entorno SAS Viya/CAS. Carga la tabla 'iris' de SASHELP en una librería CAS. Luego, aplica la discretización por puntos de corte a 'PetalLength' y 'SepalWidth' y guarda el estado de la discretización (las reglas de binning) en una tabla 'binning_state' utilizando la opción SAVE STATE. Este 'estado' puede reutilizarse para aplicar exactamente las mismas reglas de discretización (puntuación) a nuevos datos sin tener que redefinir los puntos de corte. La tabla 'scored_iris' muestra el resultado de la discretización en los nuevos datos.
¡Copiado!
/* Assurez-vous d'avoir une session CAS active et une caslib assignée */
options casdatalimit=1000;
caslib _all_ assign;
/* Charger des données SASHELP dans CAS pour l'exemple */
data casuser.iris;
set sashelp.iris;
run;
/* Application du découpage par points de coupure sur une table CAS */
proc binning data=casuser.iris numbin=3 method=cutpts;
input PetalLength / cutpts(1.5, 4.5);
input SepalWidth / cutpts(3.0, 3.5);
output out=casuser.binned_iris (replace=true) copyvars=(Species PetalLength SepalWidth);
save state out=casuser.binning_state (replace=true);
run;
/* Appliquer le découpage sur de nouvelles données (scoring) */
data casuser.new_iris_data;
input PetalLength SepalWidth Species $;
datalines;
1.2 3.8 Setosa
5.0 3.0 Virginica
4.0 2.5 Versicolor
;
run;
proc binning data=casuser.new_iris_data;
score state=casuser.binning_state out=casuser.scored_iris;
run;
proc print data=casuser.scored_iris;
run;
1
/* Assurez-vous d'avoir une session CAS active et une caslib assignée */
2
options casdatalimit=1000;
3
caslib _all_ assign;
4
5
/* Charger des données SASHELP dans CAS pour l'exemple */
6
DATA casuser.iris;
7
SET sashelp.iris;
8
RUN;
9
10
/* Application du découpage par points de coupure sur une table CAS */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.