Bonjour, je souhaite extraire, dans un tableau de données, les valeurs du VIP et des coefficients pour les données centrées et mises à l'échelle de la fenêtre de sortie PLS.
Est-ce possible via JSL ?
merci
Matéo
Salut,
Je pense que cela te fera ce que tu veux.
Vous pouvez trouver la section de rapport de n'importe quelle sortie en cliquant avec le bouton droit et en sélectionnant Édition-->Afficher l'arborescence.
J'ai utilisé l'exemple de table Baltic pour cet exemple.
Edit--Show Tree StructureEdit--Show Tree StructureModifier – Afficher l'arborescence
TableBox(7) VIP tableTableBox(7) VIP table TableBox(7) Table VIP
J'ai rejoint les tables en utilisant Tables --> JMP Query Builder.
Voici le scénario complet.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Baltic.jmp" );
P = Partial Least Squares(
Y( :ls, :ha, :dt ),
X(
:v1,
:v2,
:v3,
:v4,
:v5,
:v6,
:v7,
:v8,
:v9,
:v10,
:v11,
:v12,
:v13,
:v14,
:v15,
:v16,
:v17,
:v18,
:v19,
:v20,
:v21,
:v22,
:v23,
:v24,
:v25,
:v26,
:v27
),
Validation Method( Name( "Leave-One-Out" ), Initial Number of Factors( 15 ) ),
Fit(
Method( NIPALS ),
Number of Factors( 7 ),
Variable Importance Plot( 1 ),
VIP vs Coefficients Plots( 1 )
),
SendToReport(
Dispatch(
{"NIPALS Fit with 7 Factors"},
"Model Coefficients for Centered and Scaled Data",
OutlineBox,
{Close( 0 )}
),
Dispatch(
{"NIPALS Fit with 7 Factors", "Variable Importance Plot"},
"Variable Importance Table",
OutlineBox,
{Close( 0 )}
)
)
);
pls_rpt = p << report; //Get the report
//Find the specific section of report by right-clicking Edit-->show properties
//pls_rpt[Outline Box( 9 )] << Close; //Close the outline box; for example
//pls_rpt[Outline Box( 12 )] << Close; //Close the outline box; not necessary
coef_tbl = pls_rpt[Table Box( 5 )];
VIP_tbl = pls_rpt[Table Box( 7 )];
coef_tbl << Make Into Data Table(Invisible);
tbl_1# = Current Data Table()<< Set Name("Coefficients_Tbl");
VIP_tbl<<MAKE into="" data="https://community.jmp.com/" table=""> "_MEMORY_", "VIP_Tbl" => "_MEMORY_"] ),
QueryName( "SQLQuery2" ),
Select(
Column( "VIP", "t1", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "Coefficient", "t2" ),
Column( "ls", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "ha", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "dt", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) )
),
From(
Table( "VIP_Tbl", Alias( "t1" ) ),
Table(
"Coefficients_Tbl",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "X", "t1" ), Column( "Coefficient", "t2" ) )
)
)
)
) << Run;
Close( tbl_1#, NoSave );
Close( tbl_2#, NoSave );</MAKE>
Acclamations,
Stan
En fait, je cherchais du VIP, pas du VIF, sous la plateforme PLS. Je n'ai pas réussi à trouver un tableau contenant à la fois des VIP et des coefficients.
En tout cas, je pense avoir trouvé une solution de contournement. Les coefficients et les VIP se trouvent dans deux zones de tableau distinctes, je vais donc simplement les extraire séparément.
merci
Matéo
Bonjour Mike, merci. Dans l'arborescence, j'ai pu identifier une tablebox avec uniquement des coefficients mais pas les VIP, dans une outlinebox frère.
Je ne trouve aucune table associée à la framebox dont je souhaite extraire des données (VIP vs coefficients).
merci
Matéo
Bonjour Mike, merci. Dans l'arborescence j'ai pu identifier une tablebox avec des coefficients mais pas les VIP.Il semble que le tableau derrière la framebox contenant les coefficients VIP vs ne soit pas accessible.