Data Science and Physics share similarities in experimentation, hypothesis formulation and data analysis.
I love Physics. And if only I hadn’t developed the taste to live my professional life outside of university campus labs, I would have continued on the course. At some point in my life, however, I sensed I would enjoy the lifestyle that many software developers have. Naturally, Data Science seemed like the best of the two worlds and became my new direction.
In this article, I would like to share with you some of my observations concerning how I think Physics may enrich Data Science. We will go beyond the simple “stay curious” narrative. Instead, we will focus on more subtle things and look into “thinking patterns” that distinguish it from e.g. Software Engineering. Hopefully, we will discover areas, where familiarity with Physics can bring a positive impact on a data project, as well as those places, where it can fall short.What is Data Science?
Formally speaking, the word science denotes a systematic enterprise to build and organize knowledge, which is done through observations and testable predictions. Physics, being a part of natural sciences, is a discipline that uses scientific methods to build an understanding of the matter. Concisely, it studies the world and helps to predict its behavior.
What is Data Science then?
Data Science is a new field that tries to use scientific methods to build insights and predictions given data. Here, the word “data” can refer to some particular physical measurements, but can also describe opinions or represent any synthetic or abstract information. Because of that, its primary area of interest is very different from that of Physics. Furthermore, since data is mostly a digital record today, it makes the whole discipline tightly related to Computer Science and Software Engineering. Finally, unlike Physics, Data Science mostly operates in a business context.
Still, in contrary to computer fields, Data Science is supposed to do something about the data — preferably extracting the information and projecting it onto the future. Also, contrary to pure business, it emphasizes rationality.
It doesn’t sound too far from Physics, or does it?Modeling reality
Let’s begin with similarities. A common practice that exists in both disciplines is the modeling of reality. Physicists study the world by measurement and describe it using mathematical equations. Software developers map problems using abstractions and express them through code.
The abstractions themselves seem to have originated from a well-known concept in Physics, namely an isolated system. We call a system isolated when we assume a certain idealization of the world and treat it as a detached entity. This approach makes the problems easier to describe and test.
For Data Science, despite different nature of the information, we also try to create some representation of the problem we face through isolation or abstraction. It is a good start.First-principles thinking
Now, consider the following:
“Photons are objects of a class boson and electrons are leptons. Atoms are instances of particles and use .bond() method to form molecules… Now, it is all about executing the universe.run(), correct?”
Apart from skipping like a million of abstraction layers - yes. At least, it shows the direction of thinking. Besides, isn’t modeling the whole universe the ultimate goal of Physics as a science? It is! Right?
Almost, but not exactly.
While it may be tempting to think like that, this is not what physicists would be looking for. In fact, instead of trying to compile all the fundamental building blocks, physicists would rather be concerned about the blocks themselves. Physicists know that once the bricks are understood, the ultimate building is obtained by combining, repeating, arranging and rearranging of these pieces.
Forming a higher structure is, of course, not an easy task, but computer engineers are experts in finding optimal arrangements of the bricks. It is also their primary field of interest.
The reasoning appears to be almost opposite between the two. While computer experts would try to climb the ladder of abstraction, physicists would eagerly go down to examine the seeds with a magnifying glass. Speaking of Data Science, both thinking paths are needed. To create an efficient predictive model, a data scientist must understand what data components are required, but also how they should be arranged. What features do seem to make sense? If it sounds like exploratory data analysis (EDA), physicists have been doing it all along.From Physics import Insight
Speaking of features making sense, Physics, even the most “applied” one, requires that a fair amount of insight is built. A profound understanding of the reasons for why things work (or not) is essential not only to construct a meaningful hypothesis but also to succeed in the long run.
Conversely, Software Engineering’s key focus is to deliver a business solution. It emphasizes “how” over “why”, which is both a strength and a weakness at the same time. It is a plus when it comes to tackling complexities, optimizing the performance and guaranteeing robustness. When plunging into the data, even domain-driven-designdoes not bring us too far. It is simply another way of 3developing a product. In other words, Computer Sciences do not have a recipe for figuring out what is meaningful about the data.
Thinking of Data Science, it may come across as if extending Computer Science plus EDA might do the trick. Unfortunately, this is a shortcoming.The value of an experiment
Physics can be theoretical, but it is still an experimental science. Be it at Hadron Collider or just Gedanken, it teaches how to conduct the process from stating a hypothesis to analyzing the results. When building data products, software farms turn into Big Data military compounds for conducting virtual experiments. Although nobody gets hurt by flying bits (and bytes), designing and carrying these controlled data explosions requires more than just setting up the necessary infrastructure and waving a “keep off” sign.
Relying solely on statistical equations does not guarantee success either. One has to think holistically of what is being investigated. Although a predictive model is the end goal, it often takes extensive experimentation before it is reached.
Here, if Data Science would ask Physics for advice, that would go in the direction of sharpening of the experimental processes. Such a process should foster generating insights, but without compromising the scrutiny. It may also encompass collateral activities such as data collection — whatever it takes to ensure one can trust the results.Data Science is not Physics
So far, we have been considering only the positive sides of Physics in the context of Data Science. How about the areas, where you would not turn to Physics for inspiration?
An example would be to run a purely data-driven project without a clear delivery constraint. Such a project is a straightforward recipe for getting stuck in perpetual experimentation. While it can be fun for the team, it can be expensive for the organization. The main reason for it is the business context of Data Science, and Physics does not have a stop mechanism there.
Secondly, an intellectual understanding of the building blocks does not guarantee the solution to the bigger picture problem. Software developers are often more capable of distilling the levels of granularity and spotting implementation challenges before any development even starts. Ultimately, it is engineering work to make it “all fit together”, and knowing bricks does not yet let one build a house. Sometimes, it may be unjustified to dig too deep.
Finally, there is also an unhealthy tendency among at least some physicists to accumulate data just “in case”. Not only does it cause a real headache for the developers, but in extreme cases, the whole development may not even be able to start! Again, insight is obtained by asking the right questions — not a lot of questions.Final remarks
As a discipline, Physics is much older than Computer Science and incomparably more mature than Software Engineering. When Archimedes jumped out of his tub, the world hasn’t yet heard of Algorithmi, and when Isaac Newton formulated the Laws of Dynamics, the first processor was long to be created. On the contrary, Software Engineering is only but a hundred years old, and the widespread of the Internet counts as the last thirty. Despite the challenges it faces each day, if it was Medicine, we could say we just learned to wash hands.
On the other hand, the pace at which technology advances and its omnipresence in our lives is unprecedented. Let’s take the total volume of data, which is estimated to be around 50 zettabytes today, as an example. If one byte of information weighted 1kg, the total mass of the world’s data would amount to 2/3 of the Moon already (by 2020). And only five years from now, it would exceed the Moon twice. We, who volunteered to make sense of the data, cannot afford to be lazy in learning.
Physics, being such an old discipline, did have the time to work out some proven methodologies. Sometimes I even think of Data Science as virtual Physics, although every time I do, it does feel a bit odd. Nevertheless, if Data Science were to take some advice from Physics, it would immediately go towards the efforts in experimentation and analysis.
Thinking in terms of first-principles can be a great benefit to Data Science too, provided that it does not turn into “overthinking”. Still, the first-principles thinking was what often stood behind some of the greatest discoveries that happened during history. It is useful to bear that in mind.
Finally, Data Science-related activities cannot be disengaged from the context of an organization’s business model. Unlike Physics, which is a free science, the main goal for Data Science is to help to grow business. If this is ensured, Physics may offer very complimentary views to the Data Science and indeed contribute to its success.
Learn Data Science | How to Learn Data Science for Free. In this post, I have described a learning path and free online courses and tutorials that will enable you to learn data science for free.
The average cost of obtaining a masters degree at traditional bricks and mortar institutions will set you back anywhere between $30,000 and $120,000. Even online data science degree programs don’t come cheap costing a minimum of $9,000. So what do you do if you want to learn data science but can’t afford to pay this?
I trained into a career as a data scientist without taking any formal education in the subject. In this article, I am going to share with you my own personal curriculum for learning data science if you can’t or don’t want to pay thousands of dollars for more formal study.
The curriculum will consist of 3 main parts, technical skills, theory and practical experience. I will include links to free resources for every element of the learning path and will also be including some links to additional ‘low cost’ options. So if you want to spend a little money to accelerate your learning you can add these resources to the curriculum. I will include the estimated costs for each of these.
The first part of the curriculum will focus on technical skills. I recommend learning these first so that you can take a practical first approach rather than say learning the mathematical theory first. Python is by far the most widely used programming language used for data science. In the Kaggle Machine Learning and Data Science survey carried out in 2018 83% of respondents said that they used Python on a daily basis. I would, therefore, recommend focusing on this language but also spending a little time on other languages such as R.
Before you can start to use Python for data science you need a basic grasp of the fundamentals behind the language. So you will want to take a Python introductory course. There are lots of free ones out there but I like the Codeacademy ones best as they include hands-on in-browser coding throughout.
I would suggest taking the introductory course to learn Python. This covers basic syntax, functions, control flow, loops, modules and classes.
Next, you will want to get a good understanding of using Python for data analysis. There are a number of good resources for this.
To start with I suggest taking at least the free parts of the data analyst learning path on dataquest.io. Dataquest offers complete learning paths for data analyst, data scientist and data engineer. Quite a lot of the content, particularly on the data analyst path is available for free. If you do have some money to put towards learning then I strongly suggest putting it towards paying for a few months of the premium subscription. I took this course and it provided a fantastic grounding in the fundamentals of data science. It took me 6 months to complete the data scientist path. The price varies from $24.50 to $49 per month depending on whether you pay annually or not. It is better value to purchase the annual subscription if you can afford it.
If you have chosen to pay for the full data science course on Dataquest then you will have a good grasp of the fundamentals of machine learning with Python. If not then there are plenty of other free resources. I would focus to start with on scikit-learn which is by far the most commonly used Python library for machine learning.
When I was learning I was lucky enough to attend a two-day workshop run by Andreas Mueller one of the core developers of scikit-learn. He has however published all the material from this course, and others, on this Github repo. These consist of slides, course notes and notebooks that you can work through. I would definitely recommend working through this material.
Then I would suggest taking some of the tutorials in the scikit-learn documentation. After that, I would suggest building some practical machine learning applications and learning the theory behind how the models work — which I will cover a bit later on.
SQL is a vital skill to learn if you want to become a data scientist as one of the fundamental processes in data modelling is extracting data in the first place. This will more often than not involve running SQL queries against a database. Again if you haven’t opted to take the full Dataquest course then here are a few free resources to learn this skill.
Codeacamdemy has a free introduction to SQL course. Again this is very practical with in-browser coding all the way through. If you also want to learn about cloud-based database querying then Google Cloud BigQuery is very accessible. There is a free tier so you can try queries for free, an extensive range of public datasets to try and very good documentation.
To be a well-rounded data scientist it is a good idea to diversify a little from just Python. I would, therefore, suggest also taking an introductory course in R. Codeacademy have an introductory course on their free plan. It is probably worth noting here that similar to Dataquest Codeacademy also offers a complete data science learning plan as part of their pro account (this costs from $31.99 to $15.99 per month depending on how many months you pay for up front). I personally found the Dataquest course to be much more comprehensive but this may work out a little cheaper if you are looking to follow a learning path on a single platform.
It is a good idea to get a grasp of software engineering skills and best practices. This will help your code to be more readable and extensible both for yourself and others. Additionally, when you start to put models into production you will need to be able to write good quality well-tested code and work with tools like version control.
There are two great free resources for this. Python like you mean it covers things like the PEP8 style guide, documentation and also covers object-oriented programming really well.
The scikit-learn contribution guidelines, although written to facilitate contributions to the library, actually cover the best practices really well. This covers topics such as Github, unit testing and debugging and is all written in the context of a data science application.
For a comprehensive introduction to deep learning, I don’t think that you can get any better than the totally free and totally ad-free fast.ai. This course includes an introduction to machine learning, practical deep learning, computational linear algebra and a code-first introduction to natural language processing. All their courses have a practical first approach and I highly recommend them.
Whilst you are learning the technical elements of the curriculum you will encounter some of the theory behind the code you are implementing. I recommend that you learn the theoretical elements alongside the practical. The way that I do this is that I learn the code to be able to implement a technique, let’s take KMeans as an example, once I have something working I will then look deeper into concepts such as inertia. Again the scikit-learn documentation contains all the mathematical concepts behind the algorithms.
In this section, I will introduce the key foundational elements of theory that you should learn alongside the more practical elements.
The khan academy covers almost all the concepts I have listed below for free. You can tailor the subjects you would like to study when you sign up and you then have a nice tailored curriculum for this part of the learning path. Checking all of the boxes below will give you an overview of most elements I have listed below.
Calculus is defined by Wikipedia as “the mathematical study of continuous change.” In other words calculus can find patterns between functions, for example, in the case of derivatives, it can help you to understand how a function changes over time.
Many machine learning algorithms utilise calculus to optimise the performance of models. If you have studied even a little machine learning you will probably have heard of Gradient descent. This functions by iteratively adjusting the parameter values of a model to find the optimum values to minimise the cost function. Gradient descent is a good example of how calculus is used in machine learning.
What you need to know:
Many popular machine learning methods, including XGBOOST, use matrices to store inputs and process data. Matrices alongside vector spaces and linear equations form the mathematical branch known as Linear Algebra. In order to understand how many machine learning methods work it is essential to get a good understanding of this field.
What you need to learn:
Vectors and spaces
Here is a list of the key concepts you need to know:
The third section of the curriculum is all about practice. In order to truly master the concepts above you will need to use the skills in some projects that ideally closely resemble a real-world application. By doing this you will encounter problems to work through such as missing and erroneous data and develop a deep level of expertise in the subject. In this last section, I will list some good places you can get this practical experience from for free.
“With deliberate practice, however, the goal is not just to reach your potential but to build it, to make things possible that were not possible before. This requires challenging homeostasis — getting out of your comfort zone — and forcing your brain or your body to adapt.”, Anders Ericsson, Peak: Secrets from the New Science of Expertise
Machine learning competitions are a good place to get practice with building machine learning models. They give access to a wide range of data sets, each with a specific problem to solve and have a leaderboard. The leaderboard is a good way to benchmark how good your knowledge at developing a good model actually is and where you may need to improve further.
The UCI machine learning repository is a large source of publically available data sets. You can use these data sets to put together your own data projects this could include data analysis and machine learning models, you could even try building a deployed model with a web front end. It is a good idea to store your projects somewhere publically such as Github as this can create a portfolio showcasing your skills to use for future job applications.
One other option to consider is contributing to open source projects. There are many Python libraries that rely on the community to maintain them and there are often hackathons held at meetups and conferences where even beginners can join in. Attending one of these events would certainly give you some practical experience and an environment where you can learn from others whilst giving something back at the same time. Numfocus is a good example of a project like this.
In this post, I have described a learning path and free online courses and tutorials that will enable you to learn data science for free. Showcasing what you are able to do in the form of a portfolio is a great tool for future job applications in lieu of formal qualifications and certificates. I really believe that education should be accessible to everyone and, certainly, for data science at least, the internet provides that opportunity. In addition to the resources listed here, I have previously published a recommended reading list for learning data science available here. These are also all freely available online and are a great way to complement the more practical resources covered above.
Thanks for reading!
When we talk about data processing, Data Science vs Big Data vs Data Analytics are the terms that one might think of and there has always been a confusion between them. In this article on Data science vs Big Data vs Data Analytics, I will understand the similarities and differences between them
When we talk about data processing, Data Science vs Big Data vs Data Analytics are the terms that one might think of and there has always been a confusion between them. In this article on Data science vs Big Data vs Data Analytics, I will understand the similarities and differences between them
We live in a data-driven world. In fact, the amount of digital data that exists is growing at a rapid rate, doubling every two years, and changing the way we live. Now that Hadoop and other frameworks have resolved the problem of storage, the main focus on data has shifted to processing this huge amount of data. When we talk about data processing, Data Science vs Big Data vs Data Analytics are the terms that one might think of and there has always been a confusion between them.
In this article on Data Science vs Data Analytics vs Big Data, I will be covering the following topics in order to make you understand the similarities and differences between them.
Introduction to Data Science, Big Data & Data AnalyticsWhat does Data Scientist, Big Data Professional & Data Analyst do?Skill-set required to become Data Scientist, Big Data Professional & Data AnalystWhat is a Salary Prospect?Real time Use-case## Introduction to Data Science, Big Data, & Data Analytics
Let’s begin by understanding the terms Data Science vs Big Data vs Data Analytics.
It also involves solving a problem in various ways to arrive at the solution and on the other hand, it involves to design and construct new processes for data modeling and production using various prototypes, algorithms, predictive models, and custom analysis.
Big Data refers to the large amounts of data which is pouring in from various data sources and has different formats. It is something that can be used to analyze the insights which can lead to better decisions and strategic business moves.
Data Analytics is the science of examining raw data with the purpose of drawing conclusions about that information. It is all about discovering useful information from the data to support decision-making. This process involves inspecting, cleansing, transforming & modeling data.
[Source: ibm.com]What Does Data Scientist, Big Data Professional & Data Analyst Do?
Data Scientists perform an exploratory analysis to discover insights from the data. They also use various advanced machine learning algorithms to identify the occurrence of a particular event in the future. This involves identifying hidden patterns, unknown correlations, market trends and other useful business information.
Roles of Data Scientist
The responsibilities of big data professional lies around dealing with huge amount of heterogeneous data, which is gathered from various sources coming in at a high velocity.
Roles of Big Data Professiona
Data analysts translate numbers into plain English. Every business collects data, like sales figures, market research, logistics, or transportation costs. A data analyst’s job is to take that data and use it to help companies to make better business decisions.
Roles of Data AnalystSkill-Set Required To Become Data Scientist, Big Data Professional, & Data Analyst What Is The Salary Prospect?
The below figure shows the average salary structure of **Data Scientist, Big Data Specialist, **and Data Analyst.A Scenario Illustrating The Use Of Data Science vs Big Data vs Data Analytics.
Now, let’s try to understand how can we garner benefits by combining all three of them together.
Let’s take an example of Netflix and see how they join forces in achieving the goal.
First, let’s understand the role of* Big Data Professional* in Netflix example.
Netflix generates a huge amount of unstructured data in forms of text, audio, video files and many more. If we try to process this dark (unstructured) data using the traditional approach, it becomes a complicated task.
Approach in Netflix
Traditional Data Processing
Hence a Big Data Professional designs and creates an environment using Big Data tools to ease the processing of Netflix Data.
Big Data approach to process Netflix data
Now, let’s see how Data Scientist Optimizes the Netflix Streaming experience.
Role of Data Scientist in Optimizing the Netflix streaming experience
User behavior refers to the way how a user interacts with the Netflix service, and data scientists use the data to both understand and predict behavior. For example, how would a change to the Netflix product affect the number of hours that members watch? To improve the streaming experience, Data Scientists look at QoE metrics that are likely to have an impact on user behavior. One metric of interest is the rebuffer rate, which is a measure of how often playback is temporarily interrupted. Another metric is bitrate, that refers to the quality of the picture that is served/seen — a very low bitrate corresponds to a fuzzy picture.
How do Data Scientists use data to provide the best user experience once a member hits “play” on Netflix?
One approach is to look at the algorithms that run in real-time or near real-time once playback has started, which determine what bitrate should be served, what server to download that content from, etc.
For example, a member with a high-bandwidth connection on a home network could have very different expectations and experience compared to a member with low bandwidth on a mobile device on a cellular network.
By determining all these factors one can improve the streaming experience.
A set of big data problems also exists on the content delivery side.
The key idea here is to locate the content closer (in terms of network hops) to Netflix members to provide a great experience. By viewing the behavior of the members being served and the experience, one can optimize the decisions around content caching.
Another approach to improving user experience involves looking at the quality of content, i.e. the video, audio, subtitles, closed captions, etc. that are part of the movie or show. Netflix receives content from the studios in the form of digital assets that are then encoded and quality checked before they go live on the content servers.
In addition to the internal quality checks, Data scientists also receive feedback from our members when they discover issues while viewing.
By combining member feedback with intrinsic factors related to viewing behavior, they build the models to predict whether a particular piece of content has a quality issue. Machine learning models along with natural language processing (NLP) and text mining techniques can be used to build powerful models to both improve the quality of content that goes live and also use the information provided by the Netflix users to close the loop on quality and replace content that does not meet the expectations of the users.
So this is how Data Scientist optimizes the Netflix streaming experience.
Now let’s understand how Data Analytics is used to drive the Netflix success.
Role of Data Analyst in Netflix
The above figure shows the different types of users who watch the video/play on Netflix. Each of them has their own choices and preferences.
So what does a Data Analyst do?
Data Analyst creates a user stream based on the preferences of users. For example, if user 1 and user 2 have the same preference or a choice of video, then data analyst creates a user stream for those choices. And also –
Orders the Netflix collection for each member profile in a personalized way.We know that the same genre row for each member has an entirely different selection of videos.Picks out the top personalized recommendations from the entire catalog, focusing on the titles that are top on ranking.By capturing all events and user activities on Netflix, data analyst pops out the trending video.Sorts the recently watched titles and estimates whether the member will continue to watch or rewatch or stop watching etc.
I hope you have *understood *the *differences *& *similarities *between Data Science vs Big Data vs Data Analytics.
Python Programming & Data Handling
Students will be able to know various commands include:
Python Basic Programming
string,if else,Range, for loop, while loop, making functions, tuple, dictionary etc
Download files from Web, Exceptional Handling etc
Get data from files create , read, write, delete.
IMAGE PROCESSING: (NEW DEVELOPING ART)
Image transformation , Image crop , edit and much more
Listener should know how about very basic C Language basic commands to understand Python Language
What will you learn
I will more update if any student want need to add more skills related to python