auto-sklearn简介

来自官网首页

auto-sklearn是什么?

auto-sklearn是一个自动化机器学习的工具包,其基于sklearn编写.

    >>> import autosklearn.classification
    >>> cls = autosklearn.classification.AutoSklearnClassifier()
    >>> cls.fit(X_train, y_train)
    >>> predictions = cls.predict(X_test)

auto-sklearn可以进行机器学习算法的自动选择与超参数的自动优化,它使用的技术包括贝叶斯优化,元学习,以及集成机构?(ensemble construction).你可以通过这篇文章,NIPS 2015来学习关于更多auto-sklearn背后的原理与技术.

例子

    >>> import autosklearn.classification
    >>> import sklearn.model_selection
    >>> import sklearn.datasets
    >>> import sklearn.metrics
    >>> X, y = sklearn.datasets.load_digits(return_X_y=True)
    >>> X_train, X_test, y_train, y_test = \
        sklearn.model_selection.train_test_split(X, y, random_state=1)
    >>> automl = autosklearn.classification.AutoSklearnClassifier()
    >>> automl.fit(X_train, y_train)
    >>> y_hat = automl.predict(X_test)
    >>> print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_hat))

如果将上面的代码运行一个小时,那么其精度将会高于0.98.

手册

手册中文翻译

许可证

auto-sklearn与scikit-sklearn的许可证一样,即都为三条款的BSD许可

援引auto-sklearn

如果你在科学出版物上使用auto-sklearn,我们将感激不尽
Efficient and Robust Automated Machine Learning, Feurer et al., Advances in Neural Information Processing Systems 28 (NIPS 2015).

Bibtex entry:

    @incollection{NIPS2015_5872,
       title = {Efficient and Robust Automated Machine Learning},
       author = {Feurer, Matthias and Klein, Aaron and Eggensperger, Katharina and
             Springenberg, Jost and Blum, Manuel and Hutter, Frank},
       booktitle = {Advances in Neural Information Processing Systems 28},
       editor = {C. Cortes and N. D. Lawrence and D. D. Lee and M. Sugiyama and R. Garnett},
       pages = {2962--2970},
       year = {2015},
       publisher = {Curran Associates, Inc.},
       url = {http://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf}
    }

贡献

我们感谢所有对auto-sklearn做出贡献的人,无论你是写的bug报告还是文档,亦或是新的贡献.同时如果你想要贡献代码.你可以使用issue tracker

同时为了项目合并前避免重复的工作,强烈建议你在进行工作前与我们的工作人员在(github issues)[https://github.com/automl/auto-sklearn/issues]上进行联系

同时建议你在开发新的功能时,请先创建新的发展分支,同时在所有的测试结束并通过后,进行项目合并.

posted @ 2017-12-12 19:47  FontTian  阅读(1875)  评论(0编辑  收藏  举报