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 Datensatzanalyse und zeichnen Sie dann die 10 wichtigsten Merkmalswichtigkeitsparameter für die Ansicht auf. Könnten Sie mir bitte ein Beispiel dafür geben, wie das geht?
Grüße
Anna
Als Sie das „X“ in Ihrem Code hatten, hatten Sie passende Klammern.Beim Entfernen mussten Sie zurückgehen und die Klammern für die von Ihnen verwendeten Funktionen anordnen.
For( i = 1, i <= 10, i++,
dt30 << Graph Builder(
Size( 532, 10449 ),
Show Control Panel( 0 ),
Variables(
X( :Chamber ),
Y( orderedContributionList[i] ),
Page( :Step_ ),
Color( :Chamber )
),
Elements( Points( X, Y, Legend( 7 ) ) ),
Title( "Mean Value scatter plot" )
)
);
@txnelson
Vielen Dank für Ihre Antwort, aber nachdem ich das geändert habe, werde ich gewarnt, dass die for-Schleife zu viele Parameter enthält, wie im Bild unten
Die Farbe des „Graph Builder“ ist falsch, da Sie sehen können, dass es sich um ein Bule handelt, aber es sollte Brone sein, wenn es ohne Warnungen ausgeführt werden kann
@txnelson Noch eine Frage: Entschuldigung, so viele Fragen.
Nachdem ich die Top 10 von orederedContributionList[i] erhalten habe, möchte ich ein Streudiagramm aus einer anderen Tabelle dt30 zeichnen. und ich verwende die for-Schleife wie folgt, anscheinend funktioniert der Graph Builder für dt30 nicht und ich habe keine Warnung vom Protokoll erhalten:
For( i = 1, i <= 10, i++,
dt30< (
Größe( 532, 10449 ),
Systemsteuerung anzeigen( 0 ),
Variablen(
X( :Kammer ),
Y( X( orderedContributionList[i] ),
Seite( :Step_ ),
Farbe (:Kammer)
),
Elemente( Punkte( X, Y, Legend( 7 ) ) ),
),
Titel („Mittelwert-Streudiagramm“)
)
);
Hallo Txnelson-san,
Vielen Dank für Ihre freundliche Antwort, sehr inspirierend. Zur Bootstrap-Methode habe ich auch eine Frage.
Wenn ich 581 Spalten für meine X-Faktoren habe, wie wäre es dann mit den Parametern in der JMP-Boostrap-Methode, die Sie vorschlagen, um die beste Genauigkeit zu erzielen? Gibt es irgendwelche Tricks oder Erfahrungen, die Sie teilen können?
- Zum Beispiel „Number Terms( 200 ),Number Trees( 14 )“, was ist die beste Zahl für diese Parameter?
Validierung( :Validierung ),
Zufälligen Startwert festlegen (123),
Multithreading( 0 ),
Methode( „Bootstrap Forest“),
Spaltenbeiträge( 1 ),
ROC-Kurve( 1 ),
Hubkurve( 1 ),
Teil Bootstrap( 1 ),
Zahlenterme( 200 ),
Zahlenbäume( 14 ),
Gehen
Hier ist ein Beispiel für eine Möglichkeit, dies zu tun.Ich bin mir nicht sicher, ob es die Top 10 so erreicht, wie Sie es sich vorstellen, aber es sollte Ihnen eine Vorstellung davon geben, wie Sie vorgehen sollen.
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 ) ) )
)
);