机器学习的开源工具包:Waffles
jopen
11年前
Waffles英文原意是蜂蜜甜饼(见logo),在这里却指代一个非常强大的机器学习的开源工具包,基于C++语言开发。
Waffles里包含的算法特别多,涉及机器学习的方方面面,推荐系统位于其中的Waffles_recommend tool,大概只占整个Waffles的1/10的内容(其它还有分类、聚类、采样、降维、数据可视化、音频处理等许许多多工具包,估计能与之媲美的也就 数Weka了)。
- Waffles just works in more situations:
- All of our supervised learners support both classification and regression.
- All of them implicitly support multi-dimensional labels.
- Developing learning algorithms for Waffles is easier because:
- It automatically imputes missing values if your algorithm is not robust to missing values.
- It automatically discretizes data if your algorithm only supports discrete values.
- It automatically converts nominal values to categorical distributions if your algorithm only supports continuous values.
- When necessary, Waffles algorithms automatically normalize and denormalize data to fall within the ranges expected by particular algorithms.
- It automatically converts predicted values back to their original form, so the user can freely operate on arbitrary data with any algorithm.
- Waffles algorithms can automatically tune their own parameters.
- Waffles is especially rich in dimensionality reduction techniques, but also provides numerous supervised learning algorithms, collaborative filtering algorithms, data transformations, linear-algebraic operations, optimization methods, data generation tools, visualization tools, etc.
- Waffles tools are fast because they are developed as native applications.
- Waffles does not depend on any platform or virtual machine, so it will not limit your distribution options.
- Waffles is distributed under the permissive LGPL license.
- Waffles apps are script-friendly, and are designed to be used with automated processes.
- Waffles apps are thin wrappers around functionality in a well-documented C++ class library.