Python machine learning package providing simple interoperability between ML.NET and scikit-learn components.
Перейти к файлу
Gani Nazirov bbf90534f5
Update LICENSE
2018-10-19 10:45:04 -07:00
build Initial checkin 2018-10-19 09:57:24 -07:00
docs Initial checkin 2018-10-19 09:57:24 -07:00
src Initial checkin 2018-10-19 09:57:24 -07:00
.gitignore Initial checkin 2018-10-19 09:57:24 -07:00
.vsts-ci.yml Initial checkin 2018-10-19 09:57:24 -07:00
LICENSE Update LICENSE 2018-10-19 10:45:04 -07:00
README.md Initial checkin 2018-10-19 09:57:24 -07:00
build.cmd Initial checkin 2018-10-19 09:57:24 -07:00
build.sh Initial checkin 2018-10-19 09:57:24 -07:00
nimbusml.sln Initial checkin 2018-10-19 09:57:24 -07:00
nuget.config Initial checkin 2018-10-19 09:57:24 -07:00
version.txt Initial checkin 2018-10-19 09:57:24 -07:00

README.md

NimbusML

nimbusml is a Python module that provides experimental Python bindings for ML.NET.

ML.NET was originally developed in Microsoft Research and is used across many product groups in Microsoft like Windows, Bing, PowerPoint, Excel and others. nimbusml was built to enable data science teams that are more familiar with Python to take advantage of ML.NET's functionality and performance.

This package enables training ML.NET pipelines or integrating ML.NET components directly into Scikit-Learn pipelines (it supports numpy.ndarray, scipy.sparse_cst, and pandas.DataFrame as inputs).

Documentation can be found here with additional notebook samples.

Installation

nimbusml runs on Windows, Linux, and macOS - any platform where 64 bit .NET Core is available. It relies on .NET Core, and this is installed automatically as part of the package.

nimbusml requires Python 2.7, 3.5, or 3.6, 64 bit version only.

Install nimbusml using pip with:

pip install nimbusml

nimbusml has been tested on Windows 10, MacOS 10.13, Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, CentOS 7, and RHEL 7.

Examples

Here is an example of how to train a model to predict sentiment from text samples (based on the ML.NET example here)

pipeline = Pipeline([ # nimbusml pipeline
    NGramFeaturizer(columns={'Features': ['SentimentText']}),
	FastTreeBinaryClassifier(feature=['Features'], 
	                                   label='Sentiment')
])

# fit and predict
pipeline.fit(data)
results = pipeline.predict(data)

Instead of creating an nimbusml pipeline, you can also integrate components into Scikit-Learn pipelines:

pipeline = Pipeline([ # sklearn pipeline
    ('tfidf', TfidfVectorizer()), # sklearn transform
    ('clf', FastTreeBinaryClassifier())]) # nimbusml learner
])

# fit and predict
pipeline.fit(data)
results = pipeline.predict(data)

Many additional examples and tutorials can be found in the documentation.

Building

To build nimbusml from source please visit our developers guide.

Contributing

We welcome contributions!

License

ML.NET for Python is licensed under the MIT license.