Menelaos Gkikas: Possessing Sufficient Python Knowledge?

Hello guys.

I am Menelaos from Greece. I had interrupted my classes in Stanford ML Specialization - just a little while after the completion of my 1st certificate, as I realized I need specialized Python programming knowledge.

I studied Python so far in DataCamp which I hope you know well, Mr. Andrew Ng might have mentioned it in the classes as well.

Below you can find attached my Certificates of Accomplishments in Python. My expertise ranges in the fields of:

Proficiency in lists, list comprehensions, dictionaries, pandasā€™ data frames, matplotlib, functions, lambda functions, tuples, logic, control flow statements, filtering, loops, data entry, and visualisation. Furthermore I dealt with functions of zero arguments, 1 argument, multiple arguments, default and flexible arguments, *args, **kwargs, the map function, the filter function, generators, iterators, zip, enumerate and unpack, advanced comprehensions, etc.

In my 5th statement of accomplishment I dealt with specialized ML knowledge in Python partly faced in your first certificate. It is described below:

  • K Neighbors Classifier - Model Complexity / Overfitting-Underfitting - Accuracy / Computing Accuracy - Train/Test Split Data - Regression: Linear Regression - Regression, Theory & Metrics (R^2, RMSE) - KFold Cross Validation - Regularized Regression: Ridge, Lasso - Ridge Loss Function - Lasso Loss Function - Feature Selection in scikit-learn - Fine Tuning Your Model / Confusion Matrix - Harmonic Mean of Numbers - Revising Logistic Regression

I dealt with my 5th statement of accomplishment mainly descriptively as DataCamp provides structured samples of code and not mere commands with datasets of its own choice, the format of which differs from what I practice in Anaconda & Jupyter notebooks. For example, in dictionaries keys are values and values are keys if we compare the platform of DataCamp with Jupyterā€¦

DataCamp is a different school than Stanford. In Python, modules, objects, equations and key algorithms are used symbolically in Stanford classes and the exact code written differs from DataCamp if we take into consideration the supervised learning classes. For example, in your first certificate you name ridge and lasso regression in the labs, but nowhere was I asked to provide code on ridge and lasso regression.

This and many more examples denote that having completed all the essential inception programming in Python, I wonder whether Iā€™m qualified to cope with your graded labs assignments for all 3 certificates and whether the commands and the recreation logic asked of me to be completed are already included in my first 4 statements of accomplishments in datacamp the way I described them in the beginning.

The entire labs of yours include commands unknown to many of us. We are only asked to recreate and complete certain pieces inside the lab. DataCamp on the other hand uses some datasets in unsupervised learning not traceable in the internet that make the execution of code impossible in Jupyter by me, if I want to practice.

I practice a lot in Jupyter notebooks and bearing in mind your classes, I still havenā€™t studied neural networks and keras in DataCamp but I have completed 200 hours in Kapodistrian University of Athens in AI and I know what a neural network is.

So I ask again, do I possess enough knowledge now in programming to deal with your classes or are there other hidden areas where I need extra specialization? Will I cope well with keras?

I would appreciate a response from someone who knows my subject and can consult me on the potential of re-enrolling at Stanford and not a mere answer on the go.

Looking forward for your lights!

Thanks in advance
M

1st - Introduction to Python Statement Of Accomplishment.pdf (208.6 KB)
2nd - Intermediate Python - Statement Of Accomplishment.pdf (208.5 KB)
3rd - Python Data Science Toolbox (Part 1) Statement Of Accomplishment.pdf (208.7 KB)
4th - Python Data Science Toolbox (Part 2) Statement Of Accomplishment.pdf (208.9 KB)
5th - Supervised Learning with scikit-learn Statement Of Accomplishment.pdf (208.6 KB)

@Menelaos_Gkikas not to be short, but in the end I think it depends on your personal level of comfort.

I mean Iā€™ve completed the courses hereā€¦ But nearly every day am learning things about Python (or other languages) I never knew.

Honestly, I am not sure anyone knows ā€˜everythingā€™.

*And as note, now that I think about itā€¦ In other languages, yes, but I donā€™t believe I ever read/taken a course on Python. I just kind of ā€˜picked it upā€™. But based on your learnings youā€™ve evidenced I think you are ready.

1 Like

Thanks a lot Nevermnd.

But what do you mean with the last statement of yours? Are you referring to the difference between being suggested to study Python in a university or a school program, with that of choosing it yourself - picking it up - as an interest?

Or something else?

@Menelaos_Gkikas ohā€¦ noā€¦ well I donā€™t want to ā€˜sound importantā€™ or something but I was trying to think back to ā€˜What Python course I took that was really goodā€™ or ā€˜What Python book I readā€™ to learn itā€¦ And I realized Iā€™ve never (at least really) taken a class in it or truly read a book.

I just, I donā€™t know, ā€˜learned itā€™. However I did take a formal class in C.

@Menelaos_Gkikas also (I mean I think you are ready), keep in mind if you get stuck on one or two specific Python points, you can always ask here. I mean I think even Iā€™ve done that once or twice.

I understand.

Iā€™m rather in the mood of my final revisions in both the lessonsā€™ code I wrote in Jupyter as well as the 1st certificate material from Stanford for I took the class almost 2 years ago.

These will only take a few days but being able to know by-heart and apply the material multi-criterially matters.

Hello @Menelaos_Gkikas,

I think I can share two stories. Myself first. I had not done any Python course before starting the Deep Learning Specialization (which is more advanced) 6 years ago. I took the meaning of any line of code as told, with a bit of experimenting when I was very uncertain. By the end of the DLS, I was still unable to code my own network without example codes - I could just modify existing code. I only became comfortable of coding from scratch after months of projects, during which bit-by-bit I wrote more and more on my own. The power of practicing.

Another story is that I have recently completed a project with a 30-year-old Chemistry graduate with a full-time job completely unrelated with coding and data science. He had completed many hours of datacamp classes like you in the recent two years, and he also showed me his very structured class notes and everything. However, once literally code with him and use the concept taught, from my observation, which he also told me, he could barely follow it - sometimes he remembered a methodā€™s name but not the why, the how and the when, not to mention to code from scratch. After weeks of intensive work, now, he has finished a paper, and completed 3 notebooks from scratch for the project - one for data processing, one for modeling (not neural network though, but GBDT), and one for results analytics.

I think it always take practicing (with less degree of supervision or instruction the better) for us to develop the feeling and confidence that we are on top of it. It is like the chicken and the egg dilemma - should we be experienced with Python to do ML with Python, or do we become experienced with Python after doing ML with Python? I think the answer is clear - I do ML with whatever level of Python I have, during which my experience grows so that I can do more ML.

With your certificates, like the Chemistry graduate I mentioned, you have a good starting point. That does not mean it can drive your through MLS at full speed - there will still be stop signs, speed bumps and turnarounds - but I am afraid this is always the case. It is only that with, at least, perseverance and patience, we will all reach the level we decide us to reach.

Lastly, MLS uses Keras, yes, but just a very small part of it. If we go through any serious Keras class for MLS, it would likely be an overkill. It is easy to ask you to go ahead and take it before coming back, but I donā€™t really think it is necessary, because I believe you can learn the basics on the fly.

Cheers,
Raymond

1 Like

@rmwkwok Yeah no Raymond, I was considering you think you know Python, but then Keras is a completely other level of Python on top of it. It is like layer upon layer.

And I will frankly admit, though Iā€™ve never strictly been a CS student, I made a mistake in Undergrad and signed up for a Java course, skipping the prerequisite (like, bad move, I didnā€™t know-- you have to ā€˜know something to know somethingā€™, but I think it was like one of the few courses I failed ? I had to take it twice, and in those days, the exams-- You have no active compiler in front of you, you have to write out all your code on paper).

Thankfully I think we are in a different era now-- There are so many more resources, but what I wished to express to the learner is you just ā€˜push throughā€™-- Keep learning, and that never stops happening-- I hope youā€™d find that assessment ā€˜okā€™ ?

**Anyways, I felt I understood their nervousness-- Been there.

1 Like

Hello Anthony, I completely agree with ā€œyou have to know something to know somethingā€, only what action we need to take in order to know that first ā€œsomethingā€ is questionable. Would that action be taking a certain course, or would that action be, like you said which I again agree, making the most of some other resources and discussing here? I think the answer depends on the learner.

And yes, never stop learning, as the space of deep learning expand in all directions so fast. :wink: :wink:

Cheers,
Raymond

@rmwkwok IMHO, if the learner wishes to memorize, this book (and the associated class) ā€˜takes the cakeā€™ https://mitpress.mit.edu/9780262542364/introduction-to-computation-and-programming-using-python/

But I am of a different mind these days, memorization only comes with practice, so @Menelaos_Gkikas should not be afraid of trying it. We are also, all here to help.

1 Like

Of course!

I agree with all of you. I also started experimenting on my own:
Hereā€™s my project: https://luminousquanta.blogspot.com

1 Like

@Menelaos_Gkikas I canā€™t think of the reference off the top of my head, but I read something recently where they tossed a coin-- Like a ton of times and it comes up biased depending on what face you start with.

And if you are really into this stuff, I would really recommend this book: https://www.qisforquantum.org/

It is straight, it is simple, but I no longer spend my time on such things.

@Menelaos_Gkikas the better article is behind a paywall: Forget 50/50, Coin Tosses Have a Bias

Hello Nevermnd.

Tossing a coin is binomial distribution by fact. Itā€™s considered a binomial experiment due to the nature of p and (1-p) only solutions.

Of course thereā€™s bias. Itā€™s 48-52.

Nevertheless hereā€™s an analysis by Goldman Sachs in Python.

Look at its source: https://www.stratascratch.com/blog/binomial-distribution-in-python-for-coin-flip-prediction/

I also wanted to pinpoint the difference of spin between the shift from the quantum system, the physical experiment simulation of the coin, and a binomial game of luck.

Meaning, the correlation between classical and quantum probabilities.

Introduced by Thomas Young (scientist), a polymath, The Last Man Who Knew Everything, as this was the case for the double slit experiment to understand nature and possibly Godā€™s manifestation into it.

Just take a closer look at this source: https://www.researchgate.net/publication/364663545_New_Challenges_for_Classical_and_Quantum_Probability

Here, we talk about a phenomenon. A mathematical experiment. Not real world bias.

Like it? Falkenā€™s Mazeā€¦

@Menelaos_Gkikas I think I can only say, what I garnered out of that book, presuming we are somehow able to keep all the noise down on Quantum Processors, we probably donā€™t even have the equations to run on this thing yet.

It is not ā€˜just parallelā€™, or some ā€˜big GPUā€™ or something. It is massively parallelā€“ Good for some things, not for others.

And this sounds like up your area of interest, I am not sure they cover it here, but you should learn how to do a Monte Carlo simulation-- I meanā€¦ That was John Von Neumann after allā€¦

Nevermnd.

Correct. No one knows the equations. But DataCamp teaches and you need a diabolic memory to understand, that we can do Hacker statistics. A numerical simulation on the other hand, of the arithmetical rules and canons.

Because there are huge amounts of phenomena that draw upon our interests - I will continue with quantum dice and quantum loaded dice - parallelizing especially the Dungeons & Dragons dice - and itā€™s impossible to study all that math.

We may not even have the equations for roulette or playing darts. But we can simulate. Donā€™t you agree with my points?

Of course you doā€¦

@Menelaos_Gkikas and ā€˜he heā€™ I forgot, but I spent my junior year at MĆ¼nchen International School, and my physics teacher brought out the freaking laser to show us wave/particle duality.

I still remember that and thought it was really coolā€¦

@Menelaos_Gkikas I donā€™t think I disagree with you. I mean before ending up here, I did the Professional Certificate in Data Science from HarvardX on Edx.

I knew nothing about R, at all, when I started thatā€¦ And I have no idea, honestly, how Iā€™d contact Prof. Ng.

But I had contact with the professor thereā€¦

So my striking side is, donā€™t be afraid, just try.

I honestly think that class was way harderā€¦

**Stupid me, I forget my point, but that entire class is run on DataCamp.

Youā€™re doing important stuff I guess. As I am.

Did you research Andrew Ng at Facebook? It might elevate your experience!

But if youā€™re talking about contactā€¦ who knowsā€¦! Iā€™m hoping tomorrow Iā€™m finishing code revisions to enter the magnificent land of Stanford.

Thanks a lot. I will consider your advice!

@Menelaos_Gkikas I think he is smarter than me, so I try not to bother people unless I have a serious point to make. Best of luck.

-A