Data mining
Jeg skal til at skrive nogle funktioner til data mining og statistik, men hvilket programmeringssprog er egentlig bedst egnet til formålet - Java eller Python?
Jeg har lavet nogle forsøg i begge sprog. Java koden kører generelt hurtigere, men er mere bøvlet at programere i (min erfaring). Python kan jeg godt lide af forskellige årsager og det egner sig godt til formålet, men Java virker mere "professionelt" (min tolkning). F.eks. er funktionerne til dokumentation af koden bedre end i Python.
Der er fordele og lumper ved begge sprog.
Jeg vil gerne have noget at vide om hvilket sprog du ville vælge og hvorfor.
- Log in to post comments
Kommentarer6
java + python
Jython?
http://en.wikipedia.org/wiki/Jython
http://www.jython.org/Project/
Som sagt, der er fordele og ulemper ved begge sprog. De kan begge klare opgaven. Vælg det du er mest flydende i.
Re: Data mining
Men er de fleste funktioner/regnemetoder ikke lavet i forvejen? Det er selvfølgelig en god øvelse at lave dem selv!
fx http://www.cs.waikato.ac.nz/ml/weka/
eller bare http://sourceforge.net/search/?type_of_search=soft&words=data+mining
Svar til #2...
Jo langt de
Svar til #2...
Jo langt de fleste findes allerede et eller andet sted, som f.eks. WEKA, men jeg har nogle jeg selv har udviklet i MATLAB og tænkte at det ville være rart at have adgang til dem i f.eks. Python eller Java da jeg ikke længere har adgang til MATLAB. Jeg har allerede implementeret nogle særlige metoder til genetiske algoritmer, neurale netværk samt klustering. Disse metoder er implementeret i Python fordi jeg godt kan lide sproget og fordi det på mange måder minder mig om MATLAB. Jeg er mest stemt for at fortsætte med at bruge Python,
Jeg ville dog gerne høre om der er noget der taler imod at bruge Python til data mining. Her tænker jeg især på faktorer som performance og skalerbarhed.
flamebait
Du lyder som en jeg snakkede med for 2 år siden på JAOO!
Men hvis jeg var dig ville jeg lave en poc i python, og hvis du når til at have god "performance" ville jeg skrive en lille del i c/c++.
skalerbarhed? horisontal eller vertikal?
personligt ville jeg vælge Java og noget rmi halløj hvis jeg ville lave noget der lavede vertikal skalering.
ellers hvis det er horisonttal: python med måske c/c++.
Der findes rmi til python http://pyro.sourceforge.net/ pyro! Jeg har dog ikke rørt det! men mit argument falder til jorden
men hvis du er bange for at dit python ikke yder godt, har du så set http://psyco.sourceforge.net/
Numpy + SciPy
Jeg har (for sjov) kørt et forsøg med at benytte de fremragende biblioteker NumPy og SciPy til Python. Det er biblioteker hovedsageligt til numeriske beregninger.
Jeg kørte en klustering algoritme på et stort datasæt i hhv. ren Python, Python med Numpy + SciPy, og Java. NumPy + SciPy metoden var klart hurtigst!
#4:
Mht. skalerbarhed så tænkte jeg mest på horisontal skalerbarhed. Jeg er begyndt at genopfriske mine C kundskaber. Jeg har nu mest tænkt mig at fortsætte med at udvikle i Python og så optimere hen ad vejen i C hvis det bliver nødvendigt.
Måske jeg ikke er helt på afveje?
Tak for linket til Psyco!
Re: Numpy + SciPy
Jeg har samme erfaring. Skriv det meste af koden i numpy+scipy. Kør det gennem en profiler. Optimer de svage punkter i C/Fortran..
Så set fra min side er du bestemt ikke på afveje. (medmindre jeg også er det)