模型的输入参数作为文本分类中的字符串
Input parameter for model as string in Text classification
我正在使用 scikit-learn 构建文档分类系统,它运行良好。我正在将模型转换为 Core ML 模型格式。但模型格式除了输入参数为 multiArrayType。我想把它变成 excepts string 或 array of string 这样我就可以很容易地从 IOS 预测 application.I 已经尝试过以下方式:
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(X_train_dtm, y_train)
#testing a value
docs_new = ['get exclusive prize offer']
docs_pred_class = nb.predict(count_vect.transform(docs_new))
#Exporting to coremodel
import coremltools
coreml_model = coremltools.converters.sklearn.convert(logreg)
#print model
coreml_model
打印 coreml 模型得到以下输出:
input {
name: "input"
type {
multiArrayType {
shape: 7505
dataType: DOUBLE
}
}
}
output {
name: "classLabel"
type {
int64Type {
}
}
}
output {
name: "classProbability"
type {
dictionaryType {
int64KeyType {
}
}
}
}
predictedFeatureName: "classLabel"
predictedProbabilitiesName: "classProbability"
我检查了 GitHub 库中的 Core ML model,我可以看到输入和输出不同。
我怎样才能做到这一点,以便我可以从 IOS 应用传递一个简单的参数来进行预测。
听起来您发现的其他 mlmodel 使用 DictVectorizer
将字符串转换为索引(可能后跟 OneHotEncoder
)。
您可以通过在 sklearn 中创建管道并将该管道转换为 Core ML 来实现。
我正在使用 scikit-learn 构建文档分类系统,它运行良好。我正在将模型转换为 Core ML 模型格式。但模型格式除了输入参数为 multiArrayType。我想把它变成 excepts string 或 array of string 这样我就可以很容易地从 IOS 预测 application.I 已经尝试过以下方式:
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(X_train_dtm, y_train)
#testing a value
docs_new = ['get exclusive prize offer']
docs_pred_class = nb.predict(count_vect.transform(docs_new))
#Exporting to coremodel
import coremltools
coreml_model = coremltools.converters.sklearn.convert(logreg)
#print model
coreml_model
打印 coreml 模型得到以下输出:
input {
name: "input"
type {
multiArrayType {
shape: 7505
dataType: DOUBLE
}
}
}
output {
name: "classLabel"
type {
int64Type {
}
}
}
output {
name: "classProbability"
type {
dictionaryType {
int64KeyType {
}
}
}
}
predictedFeatureName: "classLabel"
predictedProbabilitiesName: "classProbability"
我检查了 GitHub 库中的 Core ML model,我可以看到输入和输出不同。
我怎样才能做到这一点,以便我可以从 IOS 应用传递一个简单的参数来进行预测。
听起来您发现的其他 mlmodel 使用 DictVectorizer
将字符串转换为索引(可能后跟 OneHotEncoder
)。
您可以通过在 sklearn 中创建管道并将该管道转换为 Core ML 来实现。