【4】制作coreML模型之实战

STEP1

http://scikit-learn.org/

我们看一下iris这个数据,这个数据是用来判断各种各样的尾鸢花,用维基百科搜一搜你就明白了。

STEP2

打开Spyder开始撸代码吧…

【1】得到iris这个包的数据

iris = datasets.load_iris()

【2】训练模型(喂养模型)

model = LogisticRegression()
model.fit(iris.data, iris.target)

【3】测试模型 []里面填写的是数据

print iris.target_names[model.predict([ [1.0 ,2.0, 2.0, 3.0] ])]

结果如下:(结果没问题)

【4】把model的数据导成一个包放在桌面

包名为iris.pkl

代码输入 joblib.dump(model, 'iris.pkl')

然后,设置文件路径。

我们的桌面就出现了这个包

STEP3

这个模型有了,我们就要做成我们iOS需要的coreml的格式了。
coremltools的作用就体现出来了。

coreml_model = coremltools.converters.sklearn.convert(model,
iris.feature_names, 'iris class')

从model里面去取资料,输出的结果是根据iris的特征来告诉名字是什么(feature_names)

保存成iris.mlmodel
coreml_model.save('iris.mlmodel')

然后我们在桌面就可以看到了

STEP4

打开文件,让我们清晰的看看内容是什么吧~

是不是有那么点意思?

==========================================

代码如下:

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.externals import joblib

import coremltools

# load iris
#拿到iris数据来用
iris = datasets.load_iris() 

# traning model with Regression algorithm
model = LogisticRegression()
#喂养数据
model.fit(iris.data, iris.target)

 # make a prediction
print 'prediction with the scikit iris model'
print iris.target_names[model.predict([ [1.0 ,2.0, 2.0, 3.0] ])]

joblib.dump(model, 'iris.pkl')

coreml_model = coremltools.converters.sklearn.convert(model,
iris.feature_names, 'iris class')

coreml_model.author = 'WiKi'
coreml_model.short_description = 'this is an iris flower classiftation model'
coreml_model.license = 'personal of China'

coreml_model.input_description["sepal length (cm)"] = 'sepal length in centernt'
coreml_model.input_description["sepal width (cm)"] = 'sepal width in centernt'
coreml_model.input_description["petal length (cm)"] = 'petal length in centernt'
coreml_model.input_description["petal width (cm)"] = 'petal width in centernt'

coreml_model.output_description["iris class"] = 'type of flower'
coreml_model.output_description["classProbability"] = 'the probabiliry associatied to the iris class output'


coreml_model.save('iris.mlmodel')

你可能感兴趣的:(iOS,机器学习ML)