Hallo an alle,
Ich habe einen Python-Code aus JMP mit einer neuronalen Netzwerkfunktion exportiert. Ich versuche, den Code auf Spyder auszuführen, aber es gibt eine Funktion namens „jmp.mz“ und ich weiß nicht, wie ich sie ersetzen soll. Ich weiß nicht, was diese Funktion macht.
Könnte mir jemand dabei helfen? Vielen Dank im Voraus für Ihre Zeit.
Einen schönen Tag noch.
Alyson
Ich bin nicht sicher, was Sie getan haben. Ich habe Big Class als Beispiel verwendet. Ich habe gemodelt :Gewicht mit :Alter , :Sex , Und :Höhe als Eingaben. Ich habe das Modell im Formula Depot veröffentlicht. Ich habe Python-Code generiert. Hier ist es:
from __future__ import division
import jmp_score as jmp
from math import *
import numpy as np
""" ====================================================================
Copyright (C) 2022-2023 JMP Statistical Discovery LLC. All rights reserved.
Notice: The following permissions are granted provided that the above
copyright and this notice appear in the score code and any related
documentation. Permission to copy, modify and distribute the score
code generated using JMP (r) software is limited to customers of JMP
Statistical Discovery LLC ("JMP") and successive third parties, all
without any warranty, express or implied, or any other obligation by
JMP. JMP and all other JMP Statistical Discovery LLC product and
service names are registered trademarks or trademarks of JMP
Statistical Discovery LLC in the USA and other countries. Except as
contained in this notice, the name of JMP shall not be used in the
advertising or promotion of products or services without prior
written authorization from JMP Statistical Discovery LLC.
==================================================================== """
""" Python code generated by JMP 17.2.0 """
def getModelMetadata():
return {"creator": u"Neural", "modelName": u"", "predicted": u"weight", "table": u"Big Class", "version": u"17.2.0", "timestamp": u"2023-06-22T15:05:18Z"}
def getInputMetadata():
return {
u"age": "float",
u"height": "float",
u"sex": "str"
}
def getOutputMetadata():
return {
u"Predicted weight": "float"
}
def score(indata, outdata):
sex_asCode = jmp.match(indata[u"sex"],{u"F":0,u"M":1}, np.nan)
H1_1 = tanh((12.9380978259799 + -0.216077718694819 * indata[u"height"] + 0.5 * jmp.match(indata[u"age"],{12:-0.0752869145775503,13:1.43808466048513,14:2.51676030243735,15:1.74966392837427,16:-3.99748804536747,17:-1.63173393135173}, np.nan) + 0.5 * jmp.match(sex_asCode,{0:-1.0888433588967,1:1.0888433588967}, np.nan)))
H1_2 = tanh((19.7761183161641 + -0.331952318291445 * indata[u"height"] + 0.5 * jmp.match(indata[u"age"],{12:-0.476738410666868,13:-2.86567218066002,14:0.848951695382413,15:1.24849250460232,16:6.92106266494234,17:-5.67609627360018}, np.nan) + 0.5 * jmp.match(sex_asCode,{0:1.56127362393991,1:-1.56127362393991}, np.nan)))
H1_3 = tanh((1.43246192499634 + -0.037575857404148 * indata[u"height"] + 0.5 * jmp.match(indata[u"age"],{12:-0.519079596013513,13:-2.26923722344442,14:3.65113577518731,15:2.78561481785367,16:1.59523547291602,17:-5.24366924649907}, np.nan) + 0.5 * jmp.match(sex_asCode,{0:-0.207032194138191,1:0.207032194138191}, np.nan)))
outdata[u"Predicted weight"] = 100.343111337815 + -28.0586522707582 * H1_1 + -16.1719623964746 * H1_2 + 2.89859037837539 * H1_3
return outdata[u"Predicted weight"]
Ich sehe die Funktion, nach der Sie gefragt haben, nicht.
Die Funktion mz() ist in jmp_score.py definiert, das in der ersten Zeile des Score-Codes importiert wird.
import jmp_score as jmp
Sie finden jmp_score.py in:
Mac
/Library/Application Support/JMP/17/scoring/Python
Windows
C:\Programme\SAS\JMPPRO\17\Scoring\Python