Machine Learning -Solution or Problem

The article will be divided into different sections as follows:

  • Introduction to Machine Learning
  • Types of Solutions
  • Classification using Naive Bayes

A brief about Machine Learning

According to the definition by Wikipedia, Machine learning is the subfield of computer science that, according to Arthur Samuel in 1959, gives "computers the ability to learn without being explicitly programmed." 
Machine Learning defines a set of problems that have to be evolved through the data by implying some algorithm.
One factor that has to be kept in mind while defining a solution through ML is accuracy. Accuracy is very critical in case you are developing a solution in medical domain(cancer detection).There should be a threshold set for every solution which can be based on risk %age that is acceptable.

A useful cheatsheet from Microsoft's site to sum up the use of different ML algorithms for the different type of problems.

Types of solution

Machine Learning solutions can be broadly classified into three types 

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning
Supervised Learning is a category in which a machine is given training on some labelled data and is informed about the problem that is to be solved.The learnt model then uses its knowledge to solve the future similar problems.In this type of learner, a major requirement is the availability of labelled data.An Example of this kind of problems can be an object identification problem.
First, a model is trained and told about the different types of objects, and then it is asked to identify the objects.

Unsupervised Learning, on the other hand, is a category in which a learner is not provided with any input i.e labelled data. They use their algorithm and start working with problem and make some sense out of the problem on their own. Initially they may not provide much accuracy but they will eventually learn to provide accurate results.We can think about this learner as a person who went to some foreign country without any prior knowledge of the language spoken there.He learns from his experience how people greet each other, how to say hi etc.

Reinforcement Learning is a category in which a machine learns by making some predictions and is penalised for making a wrong prediction, due to this penalty machine learns not to make this mistake again.Take an example of a driverless robot that crawls on a road with obstacles, every time it see's an object and bumps into the object, it is penalised for its prediction of not taking appropriate action. Next time robot see's the same kind of obstacle it knows from the past experience and avoids the same mistake again.

Machine Learning for Classification problem

Classification is set of machine learning problems in which an input is classified into different classes which can be either supervised or unsupervised.
Examples of classification problems:
  • Sentiment Analysis
  • Product Categorization
  • Binary Classification on reviews(pos, neg) and much more

Movie Review Classification using Naive Bayes Algorithm

I will be using nltk i.e is Natural Language Processing Toolkit available in python and movie review corpus that has labelled data for movie reviews classified as positive and negative.

import nltk.classify.util
from nltk.classify import NaiveBayesClassifier
from nltk.corpus import movie_reviews
#word_feats will convert the sentence into features
def word_feats(words):
    return dict([(word, True) for word in words])
negids = movie_reviews.fileids('neg')
posids = movie_reviews.fileids('pos')
#training data is converted into features
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids]
posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids]
#data is divided into training and testing data
negcutoff = len(negfeats)*3/4
poscutoff = len(posfeats)*3/4
trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff]
testfeats = negfeats[negcutoff:] + posfeats[poscutoff:]
print 'train on %d instances, test on %d instances' % (len(trainfeats), len(testfeats))
#naivebayes classifier used for training on training data
classifier = NaiveBayesClassifier.train(trainfeats)
print 'accuracy:', nltk.classify.util.accuracy(classifier, testfeats)
print 'classified as:',classifier.classify("The plot was good,but the characters were not compelling")


  1. That is us; that is our Universe by the best way. No close to infinities want be entered into, which displays the kind of laptop crunch energy models now we have expended. We have not over-taxed our obtainable techniques of laptop crunch energy.This is great blog. If you want to know more about this visit here Machine Learning Model.

  2. I think things like this are really interesting. I absolutely love to find unique places like this. It really looks super creepy though!!
    Best Machine Learning Training courses | best machine learning institute in chennai | Machine Learning course in chennai

  3. This concept is a good way to enhance the knowledge.thanks for sharing. please keep it up machine learning online training Hyderabad

  4. thanks for your informative post.its helpful to understand it.keep blogging.


  5. Awesome post. Thanks for sharing this post with us.and tell the system what's within the picture. once thousands and thousands of repetitions, the software package learns that patterns of pixels Machine learning course square measure usually related to horses, dogs, cats, flowers, trees, houses, etc.,

  6. It is very useful post for those who are working on machine learning, thank you for the post .
    python machine learning
    machine learning course
    machine learning with r
    ai and machine learning
    learn machine learning

  7. Great Information. Thank You Author, for sharing your valuable information about Machine Learning with us. People who are reading this blog can continue your knowledge which you gained with us and know how to apply this practically along with our Machine Learning Course


  8. Thanks for sharing this valuable information and we collected some information from this blog.
    Machine Learning Training Course in Noida


  9. Great Article. This Blog Contain Good information about ERP Software. Thanks For sharing this blog. Can you please do more articles

    like this blog.

    cloud erp in chennai
    cloud based erp software in chennai
    top erp software solutions in chennai
    Robotic Process Automation Chennai

  10. Amazing, it is really a informative blog about Machine learning. I read many blogs but this one is really amazing. Machine Learning Training in Bangalore

  11. Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.

    Big Data Analytics Services

    Data Lake As A Service

    Data Analytics Services

  12. nice information on data science has given thank you very much.
    Data Science course in Hyderabad

  13. thank you for the valuable information giving on data science it is very helpful.
    Data Science course in Hyderabad

  14. Few people are very much confused to make a clear picture of machine learning in their mind. This is the reason why they have different opinions for machine learning in both good and bad sense. Now it all depends upon machine learning development services and their output.

  15. Great information about Machine learning solutions. Thanks for sharing your article.


  16. Thanks for sharing this post and the efforts you have made in writing this. If you have more info about app store marketing, please share. I looking forward to hearing from you.

  17. Awesome work. Keep going and please provide the update when ever you people update new article.

    data science training in aurangabad
    data science course in aurangabad

  18. Great Information sharing . I am very happy to read this article .. thanks for giving us go through info. Fantastic nice. I appreciate this post. Online Machine learning training

  19. Very nice job... Thanks for sharing this amazing ExcelR Machine Learning Course and educative blog post!

  20. The development of artificial intelligence (AI) has propelled more programming architects, information scientists, and different experts to investigate the plausibility of a vocation in machine learning. Notwithstanding, a few newcomers will in general spotlight a lot on hypothesis and insufficient on commonsense application. machine learning projects for final year In case you will succeed, you have to begin building machine learning projects in the near future.

    Projects assist you with improving your applied ML skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include projects into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Final Year Project Centers in Chennai even arrange a more significant compensation.

    Data analytics is the study of dissecting crude data so as to make decisions about that data. Data analytics advances and procedures are generally utilized in business ventures to empower associations to settle on progressively Python Training in Chennai educated business choices. In the present worldwide commercial center, it isn't sufficient to assemble data and do the math; you should realize how to apply that data to genuine situations such that will affect conduct. In the program you will initially gain proficiency with the specialized skills, including R and Python dialects most usually utilized in data analytics programming and usage; Python Training in Chennai at that point center around the commonsense application, in view of genuine business issues in a scope of industry segments, for example, wellbeing, promoting and account.

    The Nodejs Training Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

  21. This is my first time visit here. From the tons of comments ExcelR Machine Learning Courses on your articles.I guess I am not only one having all the enjoyment right here!

  22. I read your blog. It’s so nice and also provide such a good knowledge for us. I really like it, Thanks to write this blog.

    Machine Learning Development Company

    Mobile App Development

    App Development Companies

  23. Really good information to show through this blog. I really appreciate you for all the valuable information that you are providing us through your blog.

    Digital Marketing Training in Chennai

    Digital Marketing Course in Chennai

  24. Extraordinary post I should state and a debt of gratitude is in order for the data. Instruction is unquestionably a clingy subject. Be that as it may, is still among the main subjects within recent memory. I value your post and anticipate more.
    data analytics course

  25. Very informative blog! I am glad that I came across your article. I'm learning a lot from here. Keep us updated by sharing more such blogs.
    Oracle DBA Training in Anna Nagar
    Software Testing Training in Anna Nagar
    PHP Training in Anna Nagar

  26. Wonderful blog..!! Reference links are similar to the topic that I’m looking for.
    AngularJS Training in Chennai
    RPA Training in Chennai

  27. Useful Blog ,Very useful to Visit Your page , Keep Updating More .
    German Classes in Chennai
    german classes in bangalore

  28. This is a good site and a really nice point of view.I learned lots of useful information.
    Social Media Training in Chennai
    Social Media Training Institute in Chennai

  29. Sankey Diagram is the best visualization to improve your SEO. Sankey diagram is a very useful visualization to show the flow of data. ChartExpo provides you a better and easiest way to create Sankey Diagram in no time without coding only on few clicks. Read more here : Visualizing data stories with Sankey Diagram – Definition, History, Examples & How to create & Read it

  30. Great blog. Thanks for sharing such a useful information.
    Java training chennai

  31. Great Post! Thanks for sharing. Keep sharing such information.
    If you are looking for an advanced machine learning training institute in Delhi then join Ducat India now. At Ducat, we offer you advanced machine learning training with live projects at very affordable prices. Our expert makes you an Industry level expert after completing the course and you get the job vacancies across the world also. So what are you waiting for, we are just one call away. Call us on 70-70-90-50-90


Post a Comment

Popular posts from this blog

Doc2Vec Document Vectorization and clustering

Word Vectorization

Celery with heavy workloads Deep Dive in Solution