Programmeren met vectoren

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Moderator
Berichten: 4.098

Programmeren met vectoren

Ik ben bekend met Matlab, waarin het eenvoudig is om met vectoren en matrices te rekenen. Dit is erg handig, maar Matlab is erg duur, en die heb ik dus niet ter beschikking.
 
Ook R is een taal waarin je eenvoudig vectoren en matrices kunt manipuleren. Echter vind ik de syntax van R vrij lastig om grotere, gestructureerde code mee te schrijven (zoals met bijvoorbeeld C# wel eenvoudig is). Indien iemand goede voorbeelden van grote R programma's heeft, dan word ik hiervan graag op de hoogte gesteld.
 
Ik gooi deze topic echter over een andere boeg. Is er nog een taal die makkelijk en efficiënt met vectoren en matrices om kan gaan, gratis is en geschikt is om wat geavanceerdere algoritmes in te ontwikkelen? Wat zijn de eventuele nadelen van zulk een taal?

Gebruikersavatar
Berichten: 5.609

Re: Programmeren met vectoren

Het standaardantwoord is python met de numpy en scipy bibliotheken. (matplotlib voor het visualiseren)
Ik ken geen machine-learners en data-miners meer die het zonder doen.
 
Python is gratis, in numpy is het een eitje om met matricen en vectoren te werken (op een manier die vergelijkbaar is met matlab, waarop het geïnspireerd is en waarvan het ooit hoopt een kopie te worden), het is een complete programmeertaal waardoor je alles kan, moest je het ooit willen, moeilijke visualisaties zijn perfect mogelijk (zie bijlage voor een plotje dat ik dit weekend gemaakt heb). 
belgium.png
belgium.png (485.12 KiB) 2450 keer bekeken
 
Ooit heeft iemand me overtuigd om python te leren door te zeggen: "python is de tweede beste taal in alles". Ik heb hem nog geen ongelijk kunnen geven. Alles wat ik er al mee wilde doen, was zeer doenbaar, ook al was er een alternatief dat voor dat scenario misschien net iets beter was.
 
Het grootste nadeel is dat het niet echt geschikt is voor echt grote projecten. Het is geschreven om meer voor single-programmer projecten gebruikt te worden, waardoor het erg flexibel is en je de raarste stoten kan uithalen als je dat wil. Maar in grote projecten (>10 programmeurs) wil je dat net niet. Bij hackers en knutselaar is het in ieder geval de populairste taal ondertussen.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Gebruikersavatar
Berichten: 6.905

Re: Programmeren met vectoren

Ook te vermelden: GNU Octave, Scilab, Freemat, Spyder: http://askubuntu.com/questions/80164/comparison-octave-spyder-freemat-scilab-as-alternatives-for-matlab
 
Ikzelf werk zeer veel met Octave en Scipy+Numpy. Voordeel van de laatste is dat het met python is wat meer flexibiliteit toelaat dan matlab en zijn varianten.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Moderator
Berichten: 4.098

Re: Programmeren met vectoren

Ik ben al een beetje bekend met Python, dus zal me eens verdiepen in de Scipy en Numpy bibliotheken. Ik vind Python code al een stuk gestructureerder op te stellen dan R code. Ik ben niet van plan om met 10 developers te gaan knutselen, maar bij R raakte ik in mijn eentje na twee dagen programmeren al de weg kwijt in mijn eigen code. Bedankt voor het meedenken!

Gebruikersavatar
Berichten: 5.609

Re: Programmeren met vectoren

physicalattraction schreef: Ik ben al een beetje bekend met Python, dus zal me eens verdiepen in de Scipy en Numpy bibliotheken. Ik vind Python code al een stuk gestructureerder op te stellen dan R code. Ik ben niet van plan om met 10 developers te gaan knutselen, maar bij R raakte ik in mijn eentje na twee dagen programmeren al de weg kwijt in mijn eigen code. Bedankt voor het meedenken!
Oh, wat ook een beetje een nadeel is, is dat de documentatie niet altijd 100% is in vergelijking met matlab. In het begin zal het misschien wennen worden.
Zeker hiermee beginnen voor matrices en vectoren! http://wiki.scipy.org/Tentative_NumPy_Tutorial
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Gebruikersavatar
Moderator
Berichten: 4.098

Re: Programmeren met vectoren

Ik wil even een verhaal delen hier. Dankzij deze topic heb ik tien jaar geleden besloten om voor Python te gaan voor het data project wat ik toen deed voor een startup waarvan ik co-founder was. Dat project leidde nergens toe, maar ik ben wel gebleven bij de startup. Ondertussen zijn we 10 jaar verder, hebben we een software stack van zowel Python (met Django voor webontwikkeling) als Node JS, en werken zo'n 40 developers er dagelijks aan om onze klanten van dienst te kunnen zijn. Die zinsnede "python is de tweede beste taal in alles" is me altijd bijgebleven, en ik kan het er niet meer mee eens zijn! Mijn keuze is om destijds voor Python te gaan is een van de beste keuzes in mijn leven geweest.

Gebruikersavatar
Berichten: 2.369

Re: Programmeren met vectoren

Door de vele koppelingen met libraries en de eenvoud is Python zowat een standaard geworden voor AI.

Voor zuivere statistiek biedt R door de populariteit aan universiteiten soms toch meer mogelijkheden heb ik het gevoel. Zeker als het gaat om complexere modellen. Om die reden gebruik ik voor statistiek meestal toch nog in eerste instantie R, als het niet lukt met SPSS of als ik meer automatisatie nodig heb. De syntax van R is zoals je hierboven zegt soms wel lastig waardoor je er veel tijd met kan verliezen. Je begint wel te merken dat ook voor basiscursussen statistiek aan sommige universiteiten in België nu python gebruikt wordt.

Reageer