Я не понимаю, за что отвечают параметры сдвига и масштабирования в поле NormContinuous в коде PMML?

У меня есть нейросеть (не моя) обученная в STATISTICA и сохраненная в PMML v 3.0, пытаюсь переписать ее в keras, но столкнулся с некоторыми трудностями:

1) Как я понял из кода, входные данные должны быть нормированы к интервалу от 0 до 1, но я не понимаю, для чего нужны параметры "сдвиг" и "масштаб".

2) В нейросети есть входной параметр "МРТ" который может принимать одно из трех значений '1 или 2 или 3". Для этого параметра есть три входных нейрона. Правильно ли я понимаю, что если во входных данных получаем значение «МРТ» равное 1, тогда первый нейрон получит 1, а два других получат 0?

1)

<NormContinuous field="CORT_M2" shift="-1.29449838187702e-002" scale="1.61812297734628e-003">
<LinearNorm orig="8.00000000000000e+000" norm="0.000000"/>
<LinearNorm orig="6.26000000000000e+002" norm="1.000000"/>
</NormContinuous>

2)

<DataField name="MRI" optype="categorical">
<Value value="1"/>
<Value value="2"/>
<Value value="3"/>
</DataField>
...
...
<NeuralInput id="6">
<DerivedField>
<NormDiscrete field="MRI" value="1"/>
</DerivedField>
</NeuralInput>
<NeuralInput id="7">
<DerivedField>
<NormDiscrete field="MRI" value="2"/>
</DerivedField>
</NeuralInput>
<NeuralInput id="8">
<DerivedField>
<NormDiscrete field="MRI" value="3"/>
</DerivedField>
</NeuralInput>
</NeuralInputs>

person Misha572    schedule 02.07.2019    source источник


Ответы (1)


В PMML 3.0 элемент NormContinuous не определяет атрибуты shift и scale: http://dmg.org/pmml/v3-0/Transformations.html

Должно быть, это какие-то изобретения STATISTICA.

person user1808924    schedule 02.07.2019