Enhance Your Professional Fitness Through Career Gym!

We all know why one should go to gym, though all of us may not actually like to go there everyday! I started going there couple of weeks back and slowly, I started feeling good about it. So why do we go to gym? I would say to physically stay fit!

As per the report by PWC on “Adapt to Survive“, globally more than $150B is lost due to mismatch between talent and opportunity. The report clearly states that in order to drive growth, key aspect is to match opportunity with required skill sets. Many of the current skill sets would be redundant or less applicable and new skill sets are emerging.

As an individual, we need to ensure we keep track of these changes that are happening and they are happening rapidly. We also need to ensure we keep on learning something new everyday. Gone are the days when one could say that we would survive with the skill we started with our career. Today, it is recommended that one must change roles requiring adjacent or completely new skill sets every 4 years.

For a professional to remain relevant in the job market, a systematic and disciplined approach must be followed to acquire new skills and expand existing skill sets. One must devote a fixed time every day or at the very least, every week to learn something new and be aware of what is coming. Apart from reading books, journals, on-line blogs and articles, meeting different people with emerging skill sets would provide insights about the skills as well as the path to acquiring those skills. Training and certification in different skill sets is another way to learn new things.

The rate of innovation is increasing in this decade leading to a demand in new skill sets. While there are numerous emerging opportunities, there is a great risk of becoming irrelevant very quickly. As professionals, we must be aware of these changes to leverage this force act in favor rather than against us.

At MCALGlobal our research team identifies new trends in IT industry and works on creating courses that adapt to changing needs. Visit our site mcalglobal.com to read informative blogs and check out our latest courses.

480 Python Questions and Answers To Ace Your Interview

What is Python? To a non-programmer, it means a snake (haha!) but everyone in the tech industry knows it, acknowledges it and respects it as a great programming tool. Python is one of the top 10 programming languages of the day and its popularity continues to grow. No wonder you are reading 480 Python questions and answers to ace your interview blog while trying to prepare for a python job interview. We have collected commonly asked interview questions for you to practice and learn. You are at the right place and after solving all these questions your confidence will be at a new high and you will be ready to ace your interview. Read on…

1. Introduction to Computers and Python

(28 Questions)

Are you completely new to programming? If not then we presume you will be looking for information about why and how to get started with Python. Fortunately an experienced programmer in any programming language (whatever it may be) can pick up Python very quickly. It’s also easy for beginners to use and learn, so jump in!

2. Elementary Programming

(34 Questions)

Python is a computer programming language that lets you work more quickly than other programming languages. Experienced programmers in any other language can pick up Python very quickly, and beginners find the clean syntax and indentation structure easy to learn. This quiz tests elementary programming language in python.

3. Functions, Strings & Objects

(25 Questions)

Python classes provide all the standard features of Object Oriented Programming: the class inheritance mechanism allows multiple base classes, a derived class can override any methods of its base class or classes, and a method can call the method of a base class with the same name. Objects can contain arbitrary amounts and kinds of data. Strings are the most popular types in Python. We can create them simply by enclosing characters in quotes. Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions. This quiz tests the knowledge on functions, Strings and Objects. Let us see how much you score :) ?

4. Selections

(24 Questions)

In this quiz you will be tested about selection statements, which allow a program to choose when to execute certain instructions. For example, a program might choose how to proceed on the basis of the user’s input. As you will be able to see, such statements make a program more versatile.

5. Loops

(9 Questions)

In general, statements are executed sequentially: The first statement in a function is executed first, followed by the second, and so on. There may be a situation when you need to execute a block of code several number of times. Programming languages provide various control structures that allow for more complicated execution paths. A loop statement allows us to execute a statement or group of statements multiple times.

6. Functions

(21 Questions)

Functions are little self-contained programs that perform a specific task, which you can incorporate into your own, larger programs. After you have created a function, you can use it at any time, in any place. This saves you the time and effort of having to retell the computer what to do every time it does a common task, for example getting the user to type something in.

7. Objects & Classes

(16 Questions)

Python is called an “object-oriented programming language.” This means there is a construct in Python called a class that lets you structure your software in a particular way. Using classes, you can add consistency to your programs so that they can be used in a cleaner way.

8. More on Strings and Special Methods

(23 Questions)

Strings are among the most popular types in Python. We can create them simply by enclosing characters in quotes. Python treats single quotes the same as double quotes. Creating strings is as simple as assigning a value to a variable.

9. GUI Programming Using Tkinter

(42 Questions)

The tkinter package is a thin object-oriented layer on top of Tcl/Tk. To use tkinter, you don’t need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. tkinter is a set of wrappers that implement the Tk widgets as Python classes. In addition, the internal module _tkinter provides a threadsafe mechanism which allows Python and Tcl to interact. tkinter‘s chief virtues are that it is fast, and that it usually comes bundled with Python.

10. Lists

(37 Questions)

The list type is a container that holds a number of other objects, in a given order. The list type implements the sequence protocol, and also allows you to add and remove objects from the sequence. This quiz aims to test the knowledge of Lists in Python programming language.

11. Multidimensional Lists

(17 Questions)

There are situations that demand multi-dimensional arrays or matrices. In many languages (Java, COBOL, BASIC) this notion of multi-dimensionality is handled by pre-declaring the dimensions (and limiting the sizes of each dimension). In Python, these are handled somewhat more simply. This quiz tests the knowledge of multidimensional lists in Python programming language.

12. Inheritance and Polymorphism

(22 Questions)

Inheritance allows programmer to create a general class first then later extend it to more specialized class. It also allows programmer to write better code. Using inheritance you can inherit all access data fields and methods, plus you can add your own methods and fields, thus inheritance provide a way to organize code, rather than rewriting it from scratch.

13. Files and Exceptions Handling

(22 Questions)

An exception is an error that happens during the execution of a program. Exceptions are known to non-programmers as instances that do not conform to a general rule. The name “exception” in computer science has this meaning as well: It implies that the problem (the exception) doesn’t occur frequently, i.e. the exception is the “exception to the rule”. Exception handling is a construct in Python to handle or deal with errors automatically.

14. Tuples, Sets, and Dictionaries

(37 Questions)

Your brain still hurting from the last quiz? Never worry, this one will require a little less thought. We’re going back to something simple – variables – but a little more in depth.

  • Lists are what they seem – a list of values. Each one of them is numbered, starting from zero – the first one is numbered zero, the second 1, the third 2, etc. You can remove values from the list, and add new values to the end. Example: Your many cats’ names.
  • Tuples are just like lists, but you can’t change their values. The values that you give it first up, are the values that you are stuck with for the rest of the program. Again, each value is numbered starting from zero, for easy reference. Example: the names of the months of the year.
  • Dictionaries are similar to what their name suggests – a dictionary. In a dictionary, you have an ‘index’ of words, and for each of them a definition. In python, the word is called a ‘key’, and the definition a ‘value’. The values in a dictionary aren’t numbered – tare similar to what their name suggests – a dictionary. In a dictionary, you have an ‘index’ of words, and for each of them a definition. In python, the word is called a ‘key’, and the definition a ‘value’. The values in a dictionary aren’t numbered – they aren’t in any specific order, either – the key does the same thing. You can add, remove, and modify the values in dictionaries. Example: telephone book.

15. Recursion

(19 Questions)

Recursion is a way of programming or coding a problem, in which a function calls itself one or more times in its body. Usually, it is returning the return value of this function call. If a function definition fulfills the condition of recursion, we call this function a recursive function. A recursive function has to terminate to be used in a program (Termination condition). A recursive function terminates, if with every recursive call the solution of the problem is downsized and moves towards a base case. A base case is a case, where the problem can be solved without further recursion. A recursion can lead to an infinite loop, if the base case is not met in the calls.

16. Developing Efficient Algorithms

(21 Questions)

Algorithms have been commonly defined in simple terms as “instructions for completing a task”. They’ve also been called “recipes”. In The Social Network, an algorithm is what Zuckerberg needed to make Facemash work. If you saw the movie, you probably remember seeing what looked like a scribbly equation on a window in Mark’s dorm room. But what does that scribbly algebra have to do with Mark’s simple “hot or not” site?

17. Sorting

(18 Questions)

Sorting is ordering a list of objects. We can distinguish two types of sorting. If the number of objects is small enough to fits into the main memory, sorting is called internal sorting. If the number of objects is so large that some of them reside on external storage during the sort, it is called external sorting. This Python quiz is aimed at students, enthusiasts and job seekers with little or no programming experience. It aims to provide them with an understanding of the role of computers and python programming language.

18. Linked Lists, Stacks, Queues, and Priority Queues

(20 Questions)

In computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently.Test your knowledge on these important data structures in this quiz.

19. Binary Search Trees

(11 Questions)

In computer science, binary search trees (BST), sometimes called ordered or sorted binary trees, are a particular type of containers: data structures that store “items” (such as numbers, names etc.) in memory. They allow fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its key (e.g., finding the phone number of a person by name).

20. AVL Trees

(7 Questions)

An AVL tree is another balanced binary search tree. Named after their inventors, Adelson-Velskii and Landis, they were the first dynamically balanced trees to be proposed. Like red-black trees, they are not perfectly balanced, but pairs of sub-trees differ in height by at most 1, maintaining an O(logn) search time.

21. Hashing

(9 Questions)

Although it is a matter of opinion, you can’t help but admire the idea of the hash function. It not only solves one of the basic problems of computing – finding something that you have stored somewhere but it helps with detecting file tampering, password security and more.

22. Graphs and Applications

(9 Questions)

A graph is a pictorial representation of a set of objects where some pairs of objects are connected by links. The interconnected objects are represented by points termed as vertices, and the links that connect the vertices are called edges. Formally, a graph is a pair of sets (V, E), where V is the set of vertices and E is the set of edges, connecting the pairs of vertices.

23. Weighted Graph ApplicationsSection

(9 Questions)

It is often necessary to associate weights or other values with the edges of a graph. Such a “weighted” or “edge-labeled” graph can be defined as a triple G = (E, V, w) where w : E → eVal is a function mapping edges or directed edges to their values, and eVal is the set (type) of possible values. For a weighted graph eVal would typically be the real numbers, but for edge-labeled graphs they could be any type.

If you are preparing for interviews you most definitely need an awesome resume to go along with your job search. A great place to build your resume for free is PaanGO’s Resume Builder. Its easy, free and gets the job done in minutes.

If you liked this article please take some time to share it in your social network. Wish you all the best!

Machine Learning “Hello World” using Python

This blog will give you step by step guide on how to write your first “Hello World” machine learning program using Python.

 

Step 1 – Overview of Machine Learning

In order to write the hello world for machine learning you need to first understand what is Machine learning. Without having a clear picture of the key concepts of machine learning, it will be kind of shooting in the dark.

Traditional programming accepts data as input and gives data as output.

However a machine learning algorithm takes data as input, identifies the trends and patterns in data and gives a program as output. This program (also called model) is the gist of the data or a representation of the patterns that define the data.

Any new data can be given as input to this model/program and it will be able to classify it or make predictions on it.

If you understand concepts like supervised learning, regression, classification, unsupervised learning, clustering then you can proceed to step 2. If you don’t then we recommend you view our Machine learning using Python webinar before moving to step 2.

 

Step 2 – Why Python?

Hello world is the most basic kind of program that one can write about a topic to get a quick understanding of its nuts and bolts.

Before we do machine learning, we need to pick a programming language.

We need to deliberate carefully on the question – which programming language to use for machine learning?

Learning a new language is a long and time consuming process. It requires a significant investment of your time and energy to understand and master it. It makes all the more sense that we pick our programming language for machine learning carefully.

We recommend using Python.

Python is the programming language of data scientists. It has been designed to favor data analysis. It has out of box libraries that make manipulating data easier.

We have found Python to be a simple and easy to learn language that works very well with requirements of machine learning.

Here are some important reasons why you should consider Python for machine learning:

Open Source – Python is an open source programming language and you don’t need to invest anything in installing and making python work on your computer. It has an active global community that supports and works on it relentlessly making it better day by day.

Easy to learn – Python is one of the easiest programming language. It is not complicated like other languages. It is extremely concise.

Lets compare what it takes to print hello in Java versus Python and convince ourselves which is easier and a more succinct programming language.

JAVA

public class Main {

  public static void main ( String [] args) {

  System.out.println ( “Hello World” );

  }

}

PYTHON

print ( “Hello World” )

It is obvious why Python is simpler than Java!

Multi platform support – Python is an interpreted programming language. What that means is the code that you write on a windows machine will work on a Linux machine as it. Python follows the philosophy of “Write once and use every where”.

Out of box libraries – Python has numerous out of box libraries like NumPy, Pandas, Matplotlib & Sci-kit learn that make machine learning a breeze. Most of the heavy lifting is done by these libraries. You as a user of these libraries can write simple code delegating the hard work to these libraries.

Top 5 programming language – Python is one of the top 5 programming languages of the world. You can google the top ten languages and read the top sites/blog returned by the search result. You will invariably find Python among the top 3.

Default of data scientists – Python has emerged as the default programming language of data scientists. It is loved by them and adopted widely by data scientists across the world. It makes sense to learn it to fit in.

If you are not convinced about the whole machine learning and python we recommend you read our blog Who is machine learning suitable for and how to go about learning it?

Now that you are well informed on machine learning using python you can move on to the next step.

 

Step 3 – Install Anaconda

You would ask why should I install Anaconda? All the while till now we talked about Python then what is Anaconda and why should I install this?

With millions of users, Anaconda is the world’s most popular Python data science platform.

Anaconda, Inc. continues to lead open source projects like Anaconda, NumPy and SciPy that form the foundation of modern data science.

In short if you install Anaconda you will get Python installed as part of it and together with it there will be all the data science related libraries installed like Pandas, Numpy, Matplotlib, Sci-kit learn, Jupyter Notebook etc.

Installing Anaconda is a one stop shop for getting all the relevant libraries you need for your hello world program.

You can find detailed installation instructions at:

If you want to read more about Anaconda you can visit their site at www.anaconda.com

Once you have Anaconda installed on your computer you are now ready to move to the next step.

 

Step 4 – Understand Jupyter Notebook

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.

View this quick video to understand how to start using Jupyter notebook onWindows for creating your first Python program.

The video below shows how to install Anaconda on Mac and open up the Jupyter notebook.

Once you are able to install Anaconda on your laptop or desktop and able to open Jupyter notebook you are ready to move on to next step.

 

Step 5 – What is scikit-learn?

It is a Python library implementing Supervised and Unsupervised Learning algorithms. It has many simple and efficient tools for data mining and data analysis. It is shipped under Open source, commercially usable – BSD license. It is built on NumPy, SciPy, and matplotlib.

Don’t worry you wont have to install it. Since you installed Anaconda it automatically installed scikit-learn for you.

In the hello world program we are going to use linear regression algorithm already implemented in scikit-learn.

As for this step you just need to be aware of this library. Please note that you are going to use in later steps to create your first hello world program in machine learning.

 

Step 6 – Understanding Linear Regression

In our hello world example we will be using linear regression algorithm to build our predictive model. In this step we will understand what is linear regression at a high level.

Linear regression is a statistical method that allows us to summarize and study relationships between two continuous (quantitative) variables.

  • One variable, denoted x, is regarded as the predictorexplanatory, or independent variable.
  • The other variable, denoted y, is regarded as the responseoutcome, or dependent variable.

Linear regression model assumes that the relationship between the dependent variable and the independent variables is linear and the algorithm tries to draw a best fitting straight line on the given dataset.

A nice overview of linear regression can be got by watching the following video:

Once you understand linear regression you are ready to move on to the next step.

 

Step 7 – Our hello world problem

Let’s say there is a city called Happyville and we have collected the price of house by its square feet for some houses in that city.

Area in Square Foot Price of the house in dollars
1100 119,000
1200 126,000
1300 133,000
1400 150,000
1500 161,000
1600 163,000
1700 169,000
1800 182,000
1900 201,000
2000 209,000

I am looking to buy a house in Happyville. I like a house which is 1750 square foot and the owner is willing to sell me in $179,000.

I want to know if its a good deal or a bad deal. In the hello world of machine learning we will solve this problem by making a prediction of the house with the size of 1750 square foot in Happyville. Then we will compare the prediction with $179,000 and make a decision if its expensive, cheaper or at par with the market value.

We are now ready to move on to the most interesting step of machine learning. Yes, its time to fire up the Jupyter notebook and write our code.

 

Step 8 – Hello World Program

Any machine learning program in scikit-learn has broadly 4 steps

  1. Import scikit-learn
  2. Load dataset
  3. Train the model from the data set
  4. Use the model to make prediction

In our case we are going to load our home price dataset and use linear regression module of scikit-learn to perform machine learning. Once the model is trained  we will use it to make predictions.

################################
# import pandas and scikit learn
################################
import pandas as pd
from sklearn import linear_model

################################
# load dataset
################################
sqfeet = pd.DataFrame([1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000])
price = pd.DataFrame([119000, 126000, 133000, 150000, 161000, 163000, 169000, 182000, 201000, 209000])

################################
# train the model
################################
model = linear_model.LinearRegression()
model.fit(sqfeet, price)

################################
# make prediction
################################
model.predict( pd.DataFrame([1750]))

Output:

array([[ 181166.66666667]])

The machine learning predicts that the price for 1750 square foot house in Happyville should be $181,167. The listed price is $179,000. So its fair to say that you are getting the house below the market value.

Its a good deal!

Congratulations you have just finished writing your first Machine learning program.

How does your first success at machine learning feel? This is just the beginning! Imagine the possibilities that lay before you once you master machine learning using python.

If you are looking to get an in-depth understanding  of machine learning, we suggest you consider enrolling in our Machine Learning Using Python course. Its a cutting edge instructor led online course. The course pays lot of emphasis on hands on exercises as a method to explain complicated concepts and train you for the real world.

If you have any questions you can reach us at our email: ml@mcal.in

Wish you all the best in your machine learning journey.

How to learn machine learning from scratch?

Machine learning is the buzz word these days and everybody wants to know something about it. In times to come, how to learn  machine learning from scratch? will be a concept that everyone who needs to stay competitive will have to know about.

What is Machine Learning?

 

What-is-Machine-Learning

Traditional programs take data as input and produces data as output.

However, a machine learning algorithm takes data as input but produces a program as an output. This machine generated program can now take new data, process it and produce output data.

Machine learning algorithms automate the process of creating programs using historical data. In simple words, it gives computers the capability to extract knowledge from data and store it for future judgment.

 

Wikipedia defines machine learning as…

Machine learning is the subfield of computer science that, according to Arthur Samuel, gives “computers the ability to learn without being explicitly programmed”.

This brings us to our first introspective question…

Which kind of machine learner are you?

Depending on the role you have in your organization or the role you aspire for, you might fall in one of the three different category of machine learners.

1. Businesses user

high-Level-Understanding

Business user is involved in the day to day running of a business. They run the operations and are responsible for defining and executing the business processes of a company. In traditional companies, the executives, operations team and managers fall in this category.

For this kind of user a high-level understanding (non-technical) of what Machine Learning can do and what it can’t do is beneficial. They need just enough information to equip themselves to determine whether they will see return on investment on machine learning or not?

Here are some examples of successful use cases of machine learning:

  • Traditionally for customer support operation teams spend lot of dollars on costly human resources. Machine learning can automate menial operational tasks like customer support.
  • Machine learning can analyze tons of usage data (big data) and make remarkable suggestions on business tactics that can be applied to increase revenue.
  • To know more interesting use cases read our blog 8 great applications of Machine Learning

2. Machine Learning Engineers & Data Scientists

Machine-Learning-Engineers-Data-Scientists-1

This learner is someone who will apply machine learning to real life problems. They are the ones who will be the consumers of all machine learning frameworks like Watson, Spark or Sci-kit learn.

They will have a flare for playing with data. They will love to gather data, clean it, augment it with missing information and then use it for machine learning. They are also called machine learning engineers or data scientists.

Industry is hungry for machine learning engineers and data scientists who can apply machine learning algorithms to help the business reduce costs or expand their revenue streams.

This group will not be responsible for creating algorithms. They will users of existing machine learning libraries to solve the problem at hand.

They will be required to understand the strengths and the weaknesses of different machine learning algorithms. They will have to know how a given algorithm behaves in different situations and what is the algorithm best suited for a given type of problem.

They will be responsible for using programming (mostly Python, R, Scala, Java, etc. ) for gathering data from across the organization and public sources, cleaning it and then massaging it to be fed into the machine learning algorithms.

These users will combine art and science to solve the given business problem. Lot of their time will go in trial and error approaches before they arrive at an optimum solution.

3. Theorists and Researchers

albert-einstein

If you belong to this group, then you are working on creating cutting-edge machine learning libraries that will be used by the machine learning engineers and the data scientists.

You would be an aspiring student or actively studying computer science or mathematics.

An example would be the group of students from the University of Waikato, New Zealand. They have created an open source machine learning library calledWeka.

The core team of IBM that developed Watson would also belong to this group.

Machine learning enthusiasts who contribute to open source projects like Spark and Sci-kit learn would also be a part of this group.

How to go about understanding Machine learning?

The method of learning would depend on which of the above type of learner you are?

If you are a business user who needs to get a high level of understanding then your best bet is doing online research. There are plenty of resources available on youtube to give you that preliminary understanding.

We at MCAL Global did a webinar that summarizes machine learning. We recommend you watch it. It is available at the following link:

Machine learning with Python webinar

Machine learning engineers and data scientists will also find the above webinar useful. It will give an overview on machine learning concepts and its applications. It will also give details on the line items that needs to be learnt to start this journey.

However if you are an aspiring machine learning engineer or data scientist you will need professional training.

Just reading free stuff online and watching free videos will not give you the kind of depth you are looking for. You will have to invest in some form of structured training with a mentor.

We at MCAL Global have an online instructor-led training called “Machine learning using Python” which helps people hone in their machine learning and data science skills. It is a weekend course so working professionals could also enroll in it. For detailed information on this course email us at ml@mcal.in

If you plan to become a researcher who is looking to create machine learning algorithms, we recommend that you enroll in a college for a long-term formal education in Computer Science or Mathematics.

If you are at a point where you are trying to make a decision whether to go down the path of machine learning or not then try to answer two questions:

  1. Does machine learning interest me?
  2. What are the future prospects in the field of machine learning?

You yourself are the best judge on your interest in this field. You will have to evaluate it yourself. No one can make that decision for you.

But if you have doubts on the future prospects of machine learning, then look at the following info graphic:

ml-few-facts

What should I do next?

Use the table below to identify which kind of learner you are, then you can review the learning approach recommended for you and relevant resources suggested for you.

What Kind Of Learner am I ? What should be my approach? Suggested Resources
Business Learner-For Business Users,executive & managers Online Research & Videos
Machine Learning Practitioner – For IT Engineers and Data Scientists Online Self placed courses or instructor led courses
Theorists & researchers – Machine learning providers Enroll in a masters or postgraduate program in a university

Do I need to learn programming?

If you are a business learner then you don’t need to learn any programming. In fact you don’t even have to know how various algorithms work.

All you need to know is what is machine learning at a high level. What are its strong points and where it doesn’t work. Armed with this information you will be able to take strategic decisions.

Any problem that can be solved by machine learning should have the following characteristics:

  • There should be a pattern in the data. Without this basic hypothesis machine learning doesn’t work. Machine learning doesn’t work on random data. So it’s crucial that the data collected for solving the problem has some patterns hidden in it. There is an underlying correlation that exists.
  • The pattern or correlation should not be known. There should be a general sense of pattern but the exact pattern should be unknown. Because if the pattern is known then what’s the point of machine learning?
  • There should be lots of relevant data. Machine learning algorithms are data hungry and work well when lots of relevant data exists for the algorithms to analyze and detect the patterns. As human beings learn from experience, the machines learn from data. The more data you have the more experienced your machine learning model will be.

A good overview of these concepts are in our machine learning webinar:

Machine learning with Python webinar

Which programming language should I learn?

If you want to become a data scientist or a machine learning engineer then you will have to pick a programming language.

Without the knowledge of programming you will not be able to use machine learning or create new algorithms. At some point in time you will have to delve into the programming side of the world.

For machine learning you don’t need to understand the heavy duty GUI intensive programming, web based or socket programming. All you need to know is how to read, write and manipulate data. How to write mathematical logic behind the algorithms.

In a nutshell your use of programming will be targeted towards machine learning. Now here is where the biggest question arises…

Which programming language should I learn?

linux

There are a plethora of programming languages Java, C, C++, .Net, Scala, Ruby, Python, R etc. It gets confusing quite fast when it comes to making a decision which one to use?

If you do a little bit of online research, it will become clear to you that Python is emerging as one of the leader in the machine learning space. It is followed by R.

You will notice that analysts who want to apply machine learning to solve real world problems are jumping on the Python train.

The ones who want limited programming would and stick to academics are going for R.

A quick google search on the top programming languages will convince you that Python is in the top 5 list.

R or Python?

To help you make a decision we made a side by side comparison of the strengths and the weaknesses of Python and R.

Python Programming Language
Strengths Weakness
  • Open Source
  • Platform Independent
  • Amazing data manipulation capabilities
  • Object-Oriented Programming
  • Top 3 programming Languages of the word
  • Default programming language of Data Scientists
  • Amazing out of box scientific libraries
  • Huge community & fan following
  • Last but not the least -the easiest language to learn & use
  • To learn one must put more effort than R
  • I am thinking very hard but can’t think of any other weakness
R Programming Language
Strengths Weakness
  • Open Source
  • Loved by statisticians
  • Lot of out of box capabilities & algorithms
  • Huge community & fan following
  • Pays emphasis on model interpretability rather than predictive Analytics.
  • Much easier than python.
  • Not as flexible in data manipulation or data munging.
  • Do not have the full flexibility of a programming language.

We suggest, take a deep breadth and analyze your needs before picking your programming language. If you are confused and not able to make a decision then just go for Python :). It is a good choice.

What topics should I cover in Programming?

In general learning a programming language is an ongoing process and involves a lifetime of learning.

Luckily for machine learning and data science we don’t need to learn it all. We recommend focusing on the following topics on any programming language that you decide to pick.

  • Programming Basics – Keywords, Statements, Operators, Data Types
  • Flow Control – If else, For loop, While loop
  • Functions – User defined functions, Arguments, Return value
  • File Handling – List files, Read files, Write to files
  • Miscellaneous items – Exception Handling, Logging
  • Amazing Libraries (applicable to Python) – Matplotlib, NumPy, Pandas and Scikit-learn

Enough about Programming, what topics should I cover in Machine Learning?

Machine learning at its core is made up of Data Structures, Algorithms, Statistics, Linear Algebra, Probability theory and Calculus.

If you are beginning your career as a data scientist you will need to learn about following topics:

  • Statistics – Mean, Median, Mode, Standard Deviation, Normal Distribution, Z-Score, histograms
  • Probability – Basics, Bayesian Probability
  • Calculus – Gradient Descent, Root mean square, Distance
  • Machine Learning – Step Zero – Supervised Learning, Unsupervised Learning, Regression, Classification, Clustering
  • Machine Learning – Step One – Linear Regression, Polynomial Regression, Regularization, Ridge Regression, LASSO Regression, Logistic Regression
  • Machine Learning – Step two – Decision Trees, Random forests, Bagging, Boosting, KNN algorithm, K Means Clustering, Principal Component Analysis, Linear Discriminant Analysis, Quadratic Discriminant Analysis
  • Machine Learning – Final Step – Deep Learning, NLP and other advanced algorithms

We would love to hear from you about the article or any other question you may have. Please drop us an email at ml@mcal.in to get in touch with us with your question and feedback. Feel free to reach out to us with your training or consulting needs as well. We would love to hear from you.

8 Great Applications Of “Machine Learning”

“In 8 Great Applications Of “Machine Learning” article, I will put a brief light on some areas where machine learning is revolutionizing the state of affairs and that are most likely to adopt machine learning like never before.”

1. Cyber Security

Existing system to monitor traffic coming from outside nodes or the traffic exchanged between internal PC and servers exchanged can be defeated by the volume and variety of traffic.In nutshell, all existing IDS (information detection system) have a limit to produced alerts per unit time but the way IOT is coming up big, these limits will be insufficient to safeguard the enterprise system.Use of Machine Learning can make Cyber Security Strategy aligned to new age threats.

2. Malware

The rate at new malware are getting generated, it will be impossible for existing tools & methods to detect all of them. The bigger challenge is the mutation of malware, where most of the new malware differ less that 2% of previous malware. This slight change in the definition of malware on a gigantic scale throws a tough challenge.New age deep learning models are capable of fighting this challenge.

3. Legal Documents

Legal documents are very lengthy & complex to study for a normal executive unless you hire a costly lawyer, many times these legal documents are not fully studied in a belief that everything will be all right.By using deep learning and topological data analysis a complex legal document can be translated into big strings of numbers.So the number of documents or complexity of a document can be tackled by Machine Learning.

4. Health Care

Continuous Improvement of medicines against countless patterns is a job Machine Learning can do a better. Medical experts along with Data Scientists are making a regression model to look at the relationship between independent variables that drive future events based on the hypothetical analysis that indicates the future events.The medical pattern of a person can also give lots of information regarding the future health risks.Deep learning of these patterns can also reduce the avoidable hospitalization or emergency situations.

5. Money Laundering

Web of millions of transactions world over happening every day is throwing challenge to financial institutions and as well security agencies when it comes to monitoring bad transactions especially “Money Laundering” with help of deep learning along with machine learning company or agency can detect fraudulent transactions from sea of all transactions.

6. Intelligence Gathering

Intelligence is gathered by many ways and one of the most important way (controversial at the same time) is surveillance. But the challenge now days is to detect and pass on the intelligence in real time. It is becoming difficult because the amount of data generated per unit time is huge and further getting bigger.Imagine a case where multiple cameras backed with data model can detect a criminal element from a crowd of thousands in a stadium or public gatheringSo Machine Learning can help to make intelligence gathering effective and faster.

7. Cars

Autonomous Cars are an ideal example of how Machine Learning can revolutionize the world. Imagine an autonomous car that actually drives itself the way you would have driven. This is possible by the use of Machine learning and list goes on like AC temperature, inside lighting and so on.Machine Learning also helps autonomous cars in a big way in other aspects of security, fuel consumption, and better maintainability.

8. Customer Service

It was impossible for an MNC to study each and customer’s behavior, likes and needs given a large number of customers it has. But with the effective use of Machine Learning, it will be possible. It does not mean that customer service has to be automated completely, but humans assisted with inputs from Machine Learning can do wonders in customer Service.There are many more areas where Machine Learning will play a crucial role, I have listed down few of them. You can put areas you think where machine learning can be used in the comment section.

Would you like to learn machine learning? Would you like to apply it to real world situations as described above? We recommend you check out our Python Machine learning course. If you have any questions feel free to email us at ml@mcal.in