gpt4 book ai didi

java - 从 JPMML 模型的 InputField 获取实际字段名称

转载 作者:行者123 更新时间:2023-11-30 06:21:32 26 4
gpt4 key购买 nike

我有一个 scikit 模型,正在使用 JPMML 在我的 java 应用程序中使用。我尝试使用训练期间使用的列的名称来设置 InputFields,但“inField.getName().getValue()”被混淆为“x{#}”。无论如何,我可以将“x{#}”映射回原始功能/属性名称吗?

Map<FieldName, FieldValue> arguments = new LinkedHashMap<>();
or (InputField inField : patternEvaluator.getInputFields()) {
int value = activeFeatures.contains(inField.getName().getValue()) ? 1 : 0;
FieldValue inputFieldValue = inField.prepare(value);
arguments.put(inField.getName(), inputFieldValue);
}
Map<FieldName, ?> results = patternEvaluator.evaluate(arguments);

这是我生成模态的方法

from sklearn2pmml import PMMLPipeline
from sklearn2pmml import PMMLPipeline
import os
import pandas as pd
from sklearn.pipeline import Pipeline
import numpy as np

data = pd.read_csv('/pydata/training.csv')
X = data[data.keys()[:-1]].as_matrix()
y = data['classname'].as_matrix()

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=0)

estimators = [("read", RandomForestClassifier(n_jobs=5,n_estimators=200, max_features='auto'))]
pipe = PMMLPipeline(estimators)
pipe.fit(X_train,y_train)
pipe.active_fields = np.array(data.columns)
sklearn2pmml(pipe, "/pydata/model.pmml", with_repr = True)

谢谢

最佳答案

PMML 文档是否包含实际的字段名称?在文本编辑器中打开它,然后查看 /PMML/DataDictionary/DataField@name 属性的值。

您的问题表明从 Scikit-Learn 到 PMML 的转换不完整,因为它不包含有关 Activity 字段(也称为输入字段)名称的信息。在这种情况下,它们被假定为 x1x2、..、xn

关于java - 从 JPMML 模型的 InputField 获取实际字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com