Changes between Version 32 and Version 33 of GSoC/Ideas


Ignore:
Timestamp:
03/21/11 16:16:10 (3 years ago)
Author:
blaz
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/Ideas

    v32 v33  
    44 
    55''Ideas are listed in no particular order.'' 
    6  
    7 == Repository for add-ons == 
    8  
    9 Orange supports add-ons which can add new features to scripting and new widgets (GUI). Currently, this feature is highly underused and used only for few internally developed add-ons. It would be great to open this in such way that also contributors around the world would be able to submit their add-ons to some central repository from which would then be possible install/use add-ons into Orange. This could be in some form of a web portal, maybe something along the lines of [http://trac-hacks.org/ Trac Hacks]. The portal should encourage collaboration, code exchange, help and community. In this way also a global data mining and machine learning community collaboration will be improved. 
    10  
    11 It would be good to try to integrate this with existing technologies and portals ([https://bitbucket.org/ Bitbucket], [https://github.com/ GitHub], [http://pypi.python.org/ Python Package Index]). 
    12  
    13 Useful skills: Python. Web programming experience (suggested technologies are Django and jQuery). 
    14  
    15 Level from 1 (beginner) to 5 (professional): 3 
    166 
    177== Bridge between Orange and R == 
     
    4535Level from 1 (beginner) to 5 (professional): 4 
    4636 
    47 == Benchmarking and optimizing Orange == 
    48  
    49 It would be useful to test and benchmark different aspects of Orange and find bottle-necks. Furthermore, also find, propose and implement solutions for them. Orange implements various algorithms and some implementations are better than others. It would be useful to compare our implementations with others and see how they compare and if they should be improved. 
    50  
    51 Useful skills: Experience with testing and benchmarking software. Experience with common patterns which make programs run slowly. 
    52  
    53 Level from 1 (beginner) to 5 (professional): 3 
    54  
    55 == Anova regression == 
    56  
    57 Implement Anova regression, which would support arbitrary models, similar to the R implementation. 
    58  
    59 Useful skills: Python. The candidate should be familiar with statistics and computation with matrices (numpy). 
    60  
    61 Level from 1 (beginner) to 5 (professional): 3 
    62  
    63 == A library for regression algorithms == 
    64  
    65 Find and research state-of-the art regression algorithms found in other packages (R, Weka, ...) and choose the most important representatives not found in Orange. Then reimplement them in Orange. Another option is to add just the wrappers for external libraries if they are open-source and compatible enough. 
    66  
    67 Useful skills: Python. Probably also statistics and computation with matrices (numpy). 
    68  
    69 Level from 1 (beginner) to 5 (professional): 4 
    70  
    7137== Multi-label classification == 
    7238 
     
    7440 
    7541Useful skills: Python. C/C++. A bit of machine learning. 
    76  
    77 Level from 1 (beginner) to 5 (professional): 4 
    78  
    79 == Improve k-Nearest Neighbors == 
    80  
    81 For n training and m test examples with d attributes standard kNN checks the distances to all n training for each test examples. The time complexity is thus O(d*n*m). 
    82 With a smarter implementation and/or under special conditions (e.g. Euclidean distance) this can be improved. 
    83  
    84 Useful skills: Python and C/C++. 
    85  
    86 Level from 1 (beginner) to 5 (professional): 3 
    87  
    88 == Time-series analysis == 
    89  
    90 Orange currently lacks any [wikipedia:Time_series time-series] analysis tools. It would be great to develop some basic tools for dealing with them: reading, normalizing, basic pattern search, some (auto-)correlation and similar basic techniques, and so on. Research what other similar applications support and propose which features would be useful to have as a basic set of tools. 
    91  
    92 Useful skills: Python. Data analysis experience. Digital signal processing experience could also help. 
    9342 
    9443Level from 1 (beginner) to 5 (professional): 4 
     
    10352 
    10453Level from 1 (beginner) to 5 (professional): 3 
    105  
    106 == Improve build system == 
    107  
    108 Currently we are using home-brew build system which is hard to maintain and port to different platforms and also package for installation. It would be probably good to move to some standardized way which would make this better. 
    109  
    110 As an example of new build system it would be great to prepare packages for common Linux distributions and show how an installation package can be now better made for Windows and Mac OS X. Also normal Python packages should also be possible to make (eggs and similar) with common `setup.py` procedure. 
    111  
    112 Useful skills: Experience with cross-platform build systems and Python packaging. 
    113  
    114 Level from 1 (beginner) to 5 (professional): 4 
    11554 
    11655== Documentation screen casts == 
     
    13473Level from 1 (beginner) to 5 (professional): 4.5 
    13574 
     75== Repository for add-ons == 
     76 
     77(This project will be merged with Social Orange project, see above) 
     78 
     79Orange supports add-ons which can add new features to scripting and new widgets (GUI). Currently, this feature is highly underused and used only for few internally developed add-ons. It would be great to open this in such way that also contributors around the world would be able to submit their add-ons to some central repository from which would then be possible install/use add-ons into Orange. This could be in some form of a web portal, maybe something along the lines of [http://trac-hacks.org/ Trac Hacks]. The portal should encourage collaboration, code exchange, help and community. In this way also a global data mining and machine learning community collaboration will be improved. 
     80 
     81It would be good to try to integrate this with existing technologies and portals ([https://bitbucket.org/ Bitbucket], [https://github.com/ GitHub], [http://pypi.python.org/ Python Package Index]). 
     82 
     83Useful skills: Python. Web programming experience (suggested technologies are Django and jQuery). 
     84 
     85Level from 1 (beginner) to 5 (professional): 3 
     86 
     87 
    13688== 3D Widgets in Orange == 
    13789