+ 9
Could C# be used for AI and machine learning...
... or should i learn python for that? (i am not experienced with that yet, but it'd be pretty cool if i knew how to do it)
18 Answers
+ 14
A.I. , or Machine Learning (a sub-field of A.I.) are mainly algorithms which can be implemented in any programming language. People will tell you that Python makes it easier to implement them, which is true to some extent (I'm not sure of the specific modules involved, if any), and there is no harm in picking up one more programming language. Have you looked into some machine learning algorithms? Did you face any problems implementing them in C#?
+ 7
Python has libraries dedicated entirely to machine learning.
sklearn (scikit-learn) implements almost all important algorithms you need.
nltk (natural language toolkit) helps a lot with data manipulation for text mining.
Generally you'll want to work with NumPy and SciPy. They are, if I remember correctly, coded in C++, which makes them execute faster than you'd expect in Python.
For advanced methods, you can for example use Google's TensorFlow for Deep Learning, Keras makes it more user-friendly. They're available for Python and C++, but not for C#.
Python codes are way easier to implement than C#. Python arrays and NumPy matrices can also contain an unlimited amount of different data types which helps A LOT in machine learning. As far as I know, C# doesn't support that.
As Hatsy Rei said, you can implement ML algorithms with every language you want. I've seen books about ML in Java, R, Go and more exotic languages.
However, in my opinion Python is the way to go.
+ 6
why not?
+ 5
Maybe, but R and Python are more suitable for AI and Machine Learning.
+ 4
Pink Are you a student?
Because why not.
https://www.jetbrains.com/student/
+ 3
c# can be used for implementation of specific modules but python has the upper hand
+ 3
python is very easy to implement compared to C#
+ 3
I totally agree with Mark van Gennip.
+ 3
Python is the best choice
+ 3
As long as you have a student email, you can apply for the license which would grant you access to complete features of JetBrains products (or at least what is stated/advertised), PyCharm included. No harm giving it a try. I have my own, which is also renewable. Too bad I don't really make use of it to its entirety, but still.
+ 2
У меня одноклассник ходит на курсы робототехники, вот он на С# пишет, а я на С# 2д игру делать собираюсь.
+ 2
Было бы не плохо глянуть какой-нибуть пример использования C# в искусственном интеллекте... Никто не встречал?
+ 2
Hatsy Rei , i am a student but not in computer science or software engineering
i imagine the student thing applies only to people who go to these kinds of schools
+ 1
C# can be used for AI ...
+ 1
so i chose python as my next language to learn, i now need a ide, i am thinking of what Chris said and i might try SciPy and NumPy, but i've also seen a lot of people using Anaconda+VsCode and sometimes even Processing with Python Mode.
i need help with choosing an ide from the ones i mentioned above.
(i will not try PyCharm since you need premium to unlock the ML libraries)
+ 1
yeah... i am still in middle school and i can't get a student email adress.
i think i'll give anaconda+VsCode/spyder a try
+ 1
a little update: i got anaconda+vscode and it's really fun building little apps.
the problem: the enviroment in which you type gets very cluttered very quickly and when i go out into the real world i feel weird.
This never really happened with VS writting C#. it's kinda weird.
What i firstly thought i should do is to change the font size to a nice size, i currently have it set at 12.5 (14 stock), this helped a bit.
My second idea is to just organise my code, but i don't really know how to do that, i haven't reached that point in the course and i don't want to do it myself and possibly fail.
This is a preview of my messiness: *this is not ai by any means*
https://code.sololearn.com/cB6TCQ6yWqGK/?ref=app
^^ i am really proud of that
This isn't that big of a issue if i rest my eyes more often, it also won't be a problem when i finally learn how to organise stuff into classes.
*i didn't have a problen when i was coding in C#(with vs not vsc)
0
another update: i've learned how to organize stuff into classes, functions and different files.