-
-
Notifications
You must be signed in to change notification settings - Fork 1k
GSoC Contributions
These are the student contributions that the Orange project obtained through Google Summer of Code program through the years. If you're looking for next-year's ideas, they're here.
by Salva Carrión
Add-on for Orange3 to include support for recommender systems. For this purpose, we've built an efficient and unified interface to tackle the problem of collaborative filtering (CF). The scripting library is the core of the add-on, which includes a number of published factorization algorithms as well as methods to optimize them and analyze their outcomes.
- Orange3-Recommendation (add-on)
- Contributions to Orange3-Recommendation
- Documentation for Orange3-Recommendation
- Blog: Making recommendations
by Primož Godec
An educational series of Orange widgets can be used for a demonstration of several key data mining and machine learning procedures in a classroom. The widgets are useful for beginners to understand the inner working of key algorithms in the data mining and for teachers to be able to visually explain various methods. The result of my work as a part of GSoC are three widgets that are part of the Orange Educational Add-on: Interactive k-Means widget, Polynomial Classification widget and Gradient Descent widget.
- Orange3-Educational add-on
- Primož's pull-requests on Orange3-Educational
- Primož's pull-requests on Orange
- Primož's contribution to Orange3-Educational Add-on
- Primož's contribution to Orange
- Documentation for Orange3-Educational add-on
- Blog: Polynomial Classification
- Blog: Interactive k-Means
by Sašo Stanovnik
This project consolidates the whole Orange data structure architecture and ports it to pandas, which provides a stable and mature framework for data storage. It includes an API redesign, a massive amount of refactorings and improvements and the removal of several legacy, unused behaviours. The aim is to make Orange more accessible to users already familiar with pandas, while still preserving as much compatibility with the existing Orange interaction as possible and where sensible. The result is a completely functional core Orange, save for undiscovered bugs. Extensive documentation of the changes, a migration guide, and a further work list exist in the Orange wiki.
- Sašo's pull-requests on Orange
- Sašo's contribution to Orange
- Sašo's contribution to Orange3-Text add-on
- Wiki: Pandas Migration
- Specification and work log
by Aliaksei Sukharevich
The goal of this project was to improve the Orange3-Text add-on and make it an even more powerful tool for text mining. During the project Twitter's and Wikipedia's public RESTful services were connected to the add-on. Some of the already existing widgets and modules were redesigned and/or reimplemented (Preprocess Text, Topic Modeling, Bag of Words and Tf-Idf). Finally, Simhash, N-grams and POS Tagging widgets were introduced.
- Orange3-Text add-on
- Alexey's pull-requests on Orange3-Text add-on
- Alexey's pull-requests on Orange
- Alexey's contribution to Orange3-Text add-on
- Alexey's contribution to Orange
- Documentation for Orange3-Text add-on
- Blog: Rehaul of Text Mining Add-on
by Matevž Kren
The goal of the project was foremost to implement supervised rule induction algorithms and rule-based classification methods, but also to devise a more general framework of replaceable individual components that users could fine-tune to their needs. The core result of my work is a scripting library, which can be easily extended to implement additional separate-and-conquer algorithms. Also included are two widgets, which showcase several CN2 induction algorithms by the way of visual programming.
- Matevž’s pull request on Orange
- Matevž’s other contributions to Orange
- Documentation: Reference, Tutorial, Widget 1, Widget 2
- Blog: Rule Induction (Scripting)
Documentation will be available upon merge and is included in the PR.
by Andrej T.
Development of a add-on (set of widgets for Orange Canvas) that will introduce computer vision functionality to Orange. The core of the add-on will be the Python computer vision library OpenCV. The development of this add-on and the gathered findings will be then used for improving the Orange core.
by Miran Levar
Orange already has a multi-target tree learner, but it is written in python and is therefore slow, especially when used in a random forest. Implementing the multi-target tree learner in C++ would quicken classification considerably and also lower its spatial complexity. The tree learner would be based on the Top-down induction of clustering trees proposed by Blockeel and De Raedt and would extend Orange's SimpleTreeLearner. Because tree learning algorithms really come to life inside random forests, integration with Orange's random forest would be another focal point. Orange is progressing towards version 3.0, therefore the implemented code would be integrated with the new version. Once the algorithms are implemented and integrated, an experimental study would be performed comparing the implemented multi-target tree classifier with established multi-target classifiers (e.g. PLS, Bayesian classifiers) on benchmark datasets. Finally, tests, documentation and scripting reference would be written.
by Amela Rakanović
The goal of this project is implementing a set of standard statistical methods in Orange in its own spirit and style. A lot of code for various statistical methods already exists in Python; we will not reimplement what we can reuse. The bulk of the work will be implementation of widgets and not of statistical computation. It is my hope that the project will encourage others to contribute more widgets of this kind.
by Noughmad
Replace the current graph framework based on PyQwt with a pure Qt implementation. This allows greater flexibility, which would be used to make graphs prettier and more readable. It also removes a dependency on PyQwt, which is not available for Python 3.
Our objective is to provide the Orange community with a unified and efficient interface to matrix factorization algorithms and methods. For that purpose we will develop a scripting library which will include a number of published factorization algorithms and initialization methods and will facilitate the combination of these to produce new strategies. Extensive documentation, working examples and visualization methods will be provided to help with the interpretation of the results.
by Wencan Luo
The main goal of multi-label classification is to extend the Orange to support multi-label, including dataset support, two basic multi-label classifications-problem-transformation methods & algorithm adaptation methods, evaluation measures, GUI support, documentation, testing, and so on.