- Machine Learning with Swift
- Alexander Sosnovshchenko
- 295字
- 2021-06-24 18:55:00
Exporting the model for iOS
In our Jupyter notebook, execute the following code to export the model:
In []: import coremltools as coreml coreml_model = coreml.converters.sklearn.convert(tree_model, feature_names, 'label') coreml_model.author = "Author name goes here..." coreml_model.license = "License type goes here ..." coreml_model.short_description = "Decision tree classifier for extraterrestrials." coreml_model.input_description['data'] = "Extraterrestrials features" coreml_model.output_description['prob'] = "Probability of belonging to class." coreml_model.save('DecisionTree.mlmodel')
The code creates the tree.mlmodel file next to the Jupyter notebook file. This file can contain a single model, a model pipeline (several models chained one after another), or a list of scikit-learn models. According to the documentation, the scikit-learn converter supports the following types of machine learning models:
- Decision tree learning
- Tree ensembles
- Random forests
- Gradient boosting
- Linear and logistic regression (see Chapter 5, Association Rule Learning)
- Support vector machines (several types)
It also supports the following data transformations:
- Normalizer
- Imputer
- Standard scaler
- DictVectorizer
- One-hot encoder
Note that you can embed one-hot encoding as a part of pipeline, so you don't need to do it yourself in your Swift code. This is handy, because you don't need to keep track of the proper order of categorical variable levels.
The .mlmodel file can be one of three types: classifier, regressor, or a transformer, depending on the last model in the list, or a pipeline. It is important to understand that there is no direct correspondence between scikit-learn models (or other source framework) and Core ML models that run on a device. Because Core ML sources are closed, we don't know how it operates under the hood, and can't be sure that the model before and after the conversion will produce identical results. This means you need to validate the model after device deployment, to measure its performance and accuracy.
- 24小時學(xué)會電腦組裝與維護
- Istio入門與實戰(zhàn)
- 電腦維護與故障排除傻瓜書(Windows 10適用)
- Deep Learning with PyTorch
- 基于ARM的嵌入式系統(tǒng)和物聯(lián)網(wǎng)開發(fā)
- Unity 5.x Game Development Blueprints
- Artificial Intelligence Business:How you can profit from AI
- Hands-On Machine Learning with C#
- Visual Media Processing Using Matlab Beginner's Guide
- Machine Learning Solutions
- Creating Flat Design Websites
- SiFive 經(jīng)典RISC-V FE310微控制器原理與實踐
- 單片機開發(fā)與典型工程項目實例詳解
- 數(shù)字媒體專業(yè)英語(第2版)
- Mastering Machine Learning on AWS