我们的模型建立好了,让我们用一份垃圾短信测试一下:
- #Test the modelprint text_clf.predict(vectorizer.transform(["""XXXMobileMovieClub: To use your credit, click the WAP link in the next txt message or click here>> http://wap. xxxmobilemovieclub.com?n=QJKGIGHJJGCBL"""]))
有趣,我们的模型效不雅很好!让我们添加交叉验证:
- #Cross - Validationfrom sklearn.model_selection import cross_val_scorecross_score = cross_val_score(text_clf, vectorized_text, y, cv=10)print cross_scoreprint "mean:",np.mean(cross_score)
- 如今已建好模型,为使它实用于CoreML,我们须要把它转换成.mlmodel格局。用之前安装的coremltools对象包来实现。以下代码能将我们的模型转换成.mlmodel格局。
- import coremltools
- #convert to coreml model
- coreml_model = coremltools.converters.sklearn.convert(text_clf, "message", "spam_or_not")
- #set parameters of the model
- coreml_model.short_description = "Classify whether message is spam or not"
- coreml_model.input_description["message"] = "TFIDF of message to be classified"
- coreml_model.output_description["spam_or_not"] = "Whether message is spam or not"
- #save the model
- coreml_model.save("SpamMessageClassifier.mlmodel")
这是若何运作的呢?
起首我们应用coremltools Python对象包。再选择一个转换器对模型进行转换,本例顶用converters.sklearn,因为要转换的模型是用sklearn对象建立的。然后在.convert()括号内声明模型对象、输入变量名称、输出变量名称。接下来设置模型参数来添加更多关于输入、输出的信息,最后用.save()保存已转换成CoreML格局的模型文件。
双击模型文件,会用Xcode打开。
如你所见,该模型文件显示了很多信息,关于模型的类型、它的输入、输出,输入输出的类械寥。我已在上图顶用红色标记。你可以将这些描述和转换成.mlmodel时所供给的一一比较。
推荐阅读
如今的┞封个IT时代,有一些用户对于安然问题并不是太关怀,切实其实,安排安然办法并不克不及带来营业的增长,只能是当做对于营业风险的防备,为了防止出问题才必不得已去应用。很多的企>>>详细阅读
地址:http://www.17bianji.com/lsqh/37900.html
1/2 1