K
K
kxooll2018-05-29 10:44:35
Python
kxooll, 2018-05-29 10:44:35

Why is C# not suitable for ML but python is?

Hello. I look at the tops of languages ​​for ML. In the top - Python, R, MatLab. OK. MatLab and R are narrow-minded solutions that are great for ML, but what does Python have and what does C# not have that C# is not as popular in ML as python is? Why is Python better than C# in machine learning?

Answer the question

In order to leave comments, you need to log in

6 answer(s)
V
Vladimir Proskurin, 2018-05-29
@kxooll

0) Low entry threshold into the language
1) Simple and concise syntax. And this is important in machine learning, because no time to waste writing code.
2) Working with lists is just a pleasure, slices, list generators,
3) Cool libs for analyzing and processing data, which is worth only pandas, this is really the coolest thing, read this pandas.pydata.org/pandas-docs/stable/10min. html I have not seen analogues in other languages. For JS, I saw a port, but it seemed raw to me.
4) Cool libs for machine learning itself - scikit-learn, tensor-flow, my favorite LightGBM, there are a huge number of them for every taste and task. And some are very easy to use
5) Jupyter notebook - this beauty works for R and Julia as well.
6) Libs for charts, there are a lot of them and they are very cool. Don't get hung up on matplotlib, of course it's the most powerful, but there are other interesting libs, like my favorite pygal, which is very easy to use and compatible with jupyter notebook, and can also produce html plots. There is also plotly
7) Mathematics, python + numpy are very fond of mathematics.

D
Developer, 2018-05-29
@samodum

For ML, there is no difference in which language to write, because. it's just an algorithm implemented in any of the languages. Therefore, writing that "C# is not suitable for ML" is not correct.
C# is also full of ML implementations:
https://www.microsoft.com/net/learn/apps/machine-l...
accord-framework.net/intro.html
Python has become widespread, most likely due to more low entry threshold, it does not need bulky Visual Studio and the .NET Framework in general, it is cross-platform and other pluses

D
denismaster, 2018-05-29
@denismaster

The answer is simple - the entry threshold and the number of libraries. Python is easier for mathematicians to learn, and libraries have already been written a lot. On the other hand, C# is also great for machine learning tasks, however, due to its long closed history of libraries for ML, it has less. Noteworthy are the Accord.NET and dotnet/machinelearning libraries .

V
Vladimir Kuts, 2018-05-29
@fox_12

In addition to everything that was said above - Python, R, MatLab - if I'm not mistaken - all interpreted languages. That is, you can open the console and immediately make selections and analyze the data.
C# - after each change, you need to recompile, which is far from always convenient

P
Philip Bondarev, 2018-06-07
@Dogrtt

Let's think together. What is popularity? What popular bands do you know? Do they have good music or slag, focused on momentary cutting of the dough? Otozh. Popularity != quality. As our mothers said: "Everyone will go jumping from the roof, are you going too?". So use whatever works best for you. You will spend more time sorting out the features of a language that is new to you than writing, albeit not as fast (in terms of the writing process), in the language that you know well.

S
sim3x, 2018-05-29
@sim3x

C libraries and syntax

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question