PYTHON FITNESS TEST
Hey everyone if you're thinking of learning python or if you study learning recently you might be wondering what I can use Python for exactly. Well, that's actually a tricky question to answer because there are so many applications of python. But over time I've seen that there are three main popular applications for python Web deployments data science including machine learning, Data analysis, and data visualization and scripting I'm gonna tell about each of them in this topic.
First of all, let's talk about web deployments. Web frameworks like Django and flask which are based on python on having recently become very popular for web development .these web frameworks basically help you create server-side code that's, of course, the code that runs on your server as opposed to the code that runs on your user’s devices which is front-end code. but wait you might say why do I need a web framework in the first place? well, that's because using a web framework makes it easier to build a common back and logic. So this includes things like mapping different your Analysis to different chunks of python code dealing with databases and generating HTML files user see on their buzzers. On which python web framework should you use if you're just getting started more Jango and flask are two of the most popular Python web frameworks. So I'd recommend using either one if you're just getting started.
Now flask is a smaller framework and it has fewer components built into the framework itself. And that actually makes flask a little bit simpler to learn than Django and a little bit more flexible.
On the other hand, Django has more components built into the framework itself. For example, he has a very specific way to deal with databases, well with flask you need to choose what kind of database you want to use and how you want to interact with that database exactly. so I think flask is a better choice if you want more control over what you could he's going to look like exactly and Django it's probably a better choice if you are just more focused on building a straightforward application like a new site or blog.
Let’s first quickly review what machine learning is and to explain what machine learning is? I think the best way to do that would be to give you a simple example. So let's say you want to develop a program that recognizes what's in a picture, so for example given this picture you want your program to recognize that it's a dog and given this other picture you want your program to recognize that it's a table.
given this problem, you might say well maybe we can just write some code to do that. so for example if there are a lot of light brown pixels in the picture then maybe we can say that it's a dog and if there are a lot of you know straight edges let's say you figure out a way to you know detect edges in a picture and if they're a lot of straight edges in a picture then it's a table instead of a dog.
But this kind of approach gets tricky pretty quickly and you know the reason is for example if what if there's a white dog in the picture with no brown hair or what if there's a table in the picture but he only shows the round parts of the table and that's why machine learning comes in. machine learning typically implements an algorithm that automatically detects a pattern in the given inputs. So in this example, you can give say one thousand pictures of a dog and one thousand pictures of a table to an algorithm and say you know these are the pictures of the dog and these are pictures of a table and you will learn the difference between the two. So when you give it a new picture of either a dog or a table you will be able to recognize which one it is. Now you can use the same idea to apply machine learning to things like recommendations systems on YouTube, Amazon, and Netflix and face recognition and voice recognition among other applications. Popular machine learning algorithms you might have heard about include neural networks deep learning support vector machines and random forests and you can actually use any of these algorithms to self the extra labeling problem I explained earlier now. There are few popular machine learning libraries and framework for python.
Two of the most popular ones are called Scikit learn and tensor flow. Scikit learn comes with some of the most popular machine learning algorithms built in you know I mentioned some of them earlier. And tensor flow is more of a low-level library that allows you to build custom machine learning algorithms. so if you're just getting started with a machine learning project I recommend that you first start with Scikit learn and then if you start running into you know efficiency issues then I'd consider looking into a Tensor flow. and how did you go about learning machine learning? I will personally I recommend that you first get started with either Stanford's or Caltech machine learning course.
And after that, I'd practice you know what you've learned from there with this website called kaggle. it's a website where people compete to build a machine learning all of them to a given problem and they have some nice tutorials for beginners too.
Data analysis and data visualization:
It is used to help you understand what these might look like in real life. Let me just give you a simple example here so let's say you are you know and then analysts working for a company and the company sells some products online. And as a data analyst you my job a graph like this using python.
Now from this graph, we can tell that man bought over 400 units of this product this particular Sunday, and women bought only about 350 units of this product. What this difference you know as at dada analyst? you might come up with a few plausible expresses that explain the difference one possible explanation is that this product is simply more popular with men down with women and another possible explanation is that the sample size was too small and yet another possible explanation might be that men tend to buy this product more only on Sunday for some reason but not the other days. From this we might conclude that the most convincing explanation is that this product is simply more popular with men down with women, okay so this is sort of a simplified example of what actual their analysis might look like in the real world.
now one of the most popular data visualization libraries for python is matplotlip and I think it's a good library to get started with because first of all it's still one of the most popular ones and it's also easy to get started with and there are other libraries that are based on matplotlip.so if you learn matplotlip then it's going to help you to learn these other libraries later on if you want to pay for example this one called Seaborn.
Well first of all what is scripting?
Scripting usually refers to writing small programs that are designed to automate simple tasks. So to clarify what I mean by that let me give you a simple example from my personal experience here. So I used to work at a small startup. where we had this email support system you know it was basically a system where we respond to emails we received from our customers and then when I was working there as an intern I had this task of counting the numbers of emails we received containing certain key worse we could have done this task manually of course but that would have been a lot of work. so we decided to write a simple program/ script to do this task and that's scripting. actually we used to ruby for this particular task back then but python is also a good language for this kind of task and python is suited for this kind of task mainly because it has a relatively simple syntax and it's easy to learn and it's also quick to you know to write something with it and test it. so these are the three main popular applications.