Lieber leistungsstarker JMP-Benutzer,
Ich möchte ein Automatisierungsskript mit jsl erstellen, um die folgende Funktion zu erfüllen:
Verwenden Sie die Bootstrap-Methode für meine Dataset-Analyse, und zeichnen Sie dann die Top-10-Parameter für die Merkmalswichtigkeit zur Ansicht auf. Könnten Sie mir bitte ein Beispiel dafür geben, wie das geht?
Grüße
Anna
Hier ist ein Beispiel für eine Möglichkeit, dies zu tun.Ich bin mir nicht sicher, ob es die Top 10 so einfängt, wie Sie es sich vorstellen, aber es sollte Ihnen eine Vorstellung davon geben, wie Sie vorgehen müssen.
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 ) ) )
)
);
HI Txnelson-san,
Vielen Dank für Ihre freundliche Antwort, sehr inspirierend, für die Bootstrap-Methode habe ich auch eine Frage.
Wenn ich 581 Spalten für meine X-Faktoren habe, wie wäre es mit den Parametern in der JMP-Boostrap-Methode, die Sie vorschlagen, um die beste Genauigkeit zu erzielen, irgendwelche Tricks oder Erfahrungen, die Sie teilen können?
- Zum Beispiel "Zahlenbegriffe( 200 ), Zahlbäume( 14 )", was ist die beste Zahl für diese Parameter?
Validierung ( : Validierung ),
Zufälligen Seed setzen ( 123 ),
Multithreading( 0 ),
Methode( "Bootstrap Forest" ),
Spaltenbeiträge( 1 ),
ROC-Kurve ( 1 ),
Hubkurve ( 1 ),
Portion Bootstrap( 1 ),
Zahlbegriffe( 200 ),
Zahlenbäume( 14 ),
gehen