Cher utilisateur puissant de JMP,
Je souhaite créer un script d'automatisation en utilisant jsl pour remplir la fonction ci-dessous :
Utilisez la méthode d'amorçage pour l'analyse de mon ensemble de données, puis tracez les 10 principaux paramètres d'importance des fonctionnalités pour la vue, pourriez-vous me partager un échantillon pour savoir comment procéder ?
Salutations
Anne
Voici un exemple d'une façon de procéder.Je ne sais pas s'il capture le top 10 de la manière que vous envisagez, mais cela devrait vous donner une idée de la façon de procéder.
Names Default To Here( 1 );
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// For the example, Change column modeling type: wafer
Data Table( "semiconductor capability" ):wafer << Set Modeling Type( "Continuous" );
// Launch platform: Bootstrap Forest
bf = dt << Bootstrap Forest(
Y( :wafer ),
X(
:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1, :INM1,
:INM2, :VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1, :NPN5, :EP2, :ZD6, :PBA, :PLG, :CAP,
:PBA3, :PLG2, :PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8, :IVP3, :IVP4, :IVP5, :IVP6,
:PNP9, :NPN8, :NPN9, :IVP7, :NPN10, :N_1, :PBA1, :WPR1, :B10, :PLY10, :VBE210, :VTN210,
:VTP210, :SIT2, :SIT3, :INV2, :INV3, :INV4, :INV5, :FST1, :FST2, :RES1, :RES2, :PNM1,
:PPM1, :FNM1, :FPM1, :FST3, :FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8,
:IVP9, :DE_H1, :NF_H1, :ESM1, :ESM2, :ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1,
:DEM1, :DEP1, :NFM1, :PLY1, :VDP1, :VDP2, :SNW1, :RSP2, :PLY2, :RSP1, :VDP3, :PBL1,
:PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6, :INM4, :VPM7, :M1_M1, :M2_M2, :P1_P1,
:E2A1, :E2B1, :NPN11, :IVP10, :PNP10, :INM5, :VPM8, :VPM9, :INM6, :VPM10, :N2A1, :N2B1,
:NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1
),
Method( "Bootstrap Forest" ),
Portion Bootstrap( 1 ),
Number Terms( 84 ),
Number Trees( 100 ),
Column Contributions( 1 ),
Go
);
// Get Top 10 contibutors
orderedContributionList = Report( bf )["Column Contributions"][String Col Box( 1 )] << get;
// Reduce to 10
Remove From( orderedContributionList, 11, N Items( orderedContributionList ) - 10 );
// Create the 10 plots
For( i = 1, i <= 10, i++,
Graph Builder(
Size( 525, 454 ),
Show Control Panel( 0 ),
Variables( X( orderedContributionList[i] ), Y( :wafer ) ),
Elements( Line Of Fit( X, Y, Legend( 8 ), R²( 1 ) ) )
)
);
Bonjour Txnelson-san,
Merci pour votre aimable réponse, très inspirante, pour la méthode bootstrap j'ai aussi une question.
si j'ai 581 colonnes pour mes facteurs X, qu'en est-il des paramètres de la méthode JMP boostrap que vous suggérez pour obtenir la meilleure précision, une astuce ou une expérience que vous pouvez partager ?
- Par exemple "Number Terms( 200 ),Number Trees( 14 )", quel est le meilleur nombre pour ces paramètres ?
Validation( :Validation ),
Définir la graine aléatoire ( 123 ),
Multithreading( 0 ),
Méthode( "Bootstrap Forest" ),
Colonne Contributions( 1 ),
Courbe ROC( 1 ),
Courbe de levage( 1 ),
Portion Bootstrap( 1 ),
Nombre de termes( 200 ),
Arbres de nombres( 14 ),
Aller
@txnelson Salut txnelson,
En python, nous pouvons utiliser gridsearch cv pour l'optimisation des paramètres, mais dans JMP, savez-vous comment faire cela et j'ai aussi une autre question ci-dessus, mais j'oublie de @vous désolé, j'attends votre réponse, merci d'avance ~