B
B
badproger12years2019-04-21 08:11:41
IT education
badproger12years, 2019-04-21 08:11:41

How to learn machine learning if I know C++?

I am probably the youngest of Habr, because two months ago I just turned 12 years old. I have been learning C++ all year since October. Completely
parsed 1- Pointers, references. Passing by pointer and returning by pointer. I know that when returning a reference and a pointer, you cannot return a local variable.
2- Dismantled absolutely all the cycles. I understand why it is necessary to use a link when using for-each (so that the elements are not copied)
3-I studied the types of graphs, what is a stack, what is a queue. Functions for working with the stack (push and pop). I know how to work with the STL library. Although I only studied vectors, stacks, queues and a little bit of built-in functions (such as shrink_to_fit, INT_MAX ).
4 - I understand why ifdef-endefs are needed. I know how to work with define.
5 - I understand why static_assert and assert are needed. (I use, for example, percentages in my mini projects, percentages in total cannot be more than 100%)
6 - I study OOP (I know that friend functions cannot use this, I know that static functions should work only with static variables), I know how to overload all operators (I can show it on evernote)
But it’s not for nothing that the machine learning tag is here
1- I dream of being in 1st place in Kaggle
2- I understand the terms Cross-validation, k-nearest neighbors metric algorithm. Linear regression. Correlation coefficient (I completely remember the formulas for finding the correlation coefficient for two features, I know at what numbers the relationship is simple, medium, strong inverse.), I completely remember the Gini Uncertainty algorithm and know how to build a classification tree using the Gini Uncertainty (Sorry, but only for binary features). I understand how to find outliers using quartiles, the chauvin sign (but chauvin is dangerous, because it uses the mean deviation and the arithmetic mean, and outliers change this), I know such terms as Conjunction, Disjunction. I know that the tree divides the plane into rectangles, and the algorithm k - nearest neighbors into zones.
And a lot of little knowledge like how to find the fractional part of a number, how binary search works (I can write an algorithm in C ++), how to understand without formulas that the value is an outlier. How to determine that the sample is symmetrical. Metrics like Manhattan, Euclid, max
So that's my question.
How to learn sckit-learn, Keras , etc with such a background. But if I don't know Python(((.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
R
Roman Mirilaczvili, 2019-04-21
@badproger12years

There are various positions: data scientist, algorithm developer, etc.
The first one is engaged in research and development of mathematical models for data analysis. In it, first of all, it is required to have a good command of various areas of mathematics and, to a much lesser extent, knowledge of programming. Usually they conduct experiments with data, visualize data, interpret results, make models in the form of formulas and write small parts of code in R, Matlab, Python to demonstrate the possibilities. Conduct consultations with leading developers. Everything is written into a set of documents that programmers can understand, and so the process goes around in a circle. They use a set of different tools and libraries written in different languages. Everything that is suitable for experiments and advances research is applied.
In the second position, you need to be a programmer with a specialized education in order to write code with the highest quality and efficiency for use in production. It is required to have a good knowledge of applied mathematics and how to effectively implement algorithms. It uses high-performance languages ​​such as C, C++, C#, Java, Scala, ..., and even Fortran. In practice, recently also in Python (everywhere they shove it where possible and impossible). Usually they try to use no more than 1-2 languages.

A
Alexander Skusnov, 2019-04-21
@AlexSku

Now there is an easy course "Machine learning" on Stepik . Problems are solved without programming at all. I advise you to go. And then the details already start programming.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question