Skip to main content

Machine Learning

SIMPLE PREDICTION MODEL


Mean

Suppose you have given sales data of a certain commodity of past years and someone asks you to predict the sale for this year. Without any knowledge of machine learning algorithm, you can say that it will be approximate average/mean sales of past few years.

Mean is computed by dividing the sum of all values by the number of values.
                         
It's a good start but it's also important to know the accuracy of our model. There are many methods which we can use to evaluate how good is our model. Most commonly used method is mean square error (MSE).

Mean Square Error

The simple way to calculate mean square error is calculating the difference between actual values and the predicted value. However, we can't add it simply because the positive and the negative error may cancel each other so square these error before adding.  And divide the sum by the number of data point to calculate the mean error.  



It's always important to calculate the error in our model so that we efficiently use resources. Let's implement this model in python.

Installation 

sudo apt-get install python3-pip  
sudo pip3 install numpy
sudo -H pip3 install pandas 

Source Code

import pandas as pd 
import numpy as np

file = path_of_your_csv_data_file
#read csv
df = pd.read_csv(file)
#convert data frame to numpy array
df = df.values 
# select amount column from df, here it is in 3rd colum i.e 2 
amount = df[:, 2]
# calcaulate average amount of sale in past year 
mean_ = amount.mean(axis=0)
print ('Mean ', mean_)
#calculate mse
mse = ((mean_ - amount)**2).mean(axis=0)
print ('mse', mse)
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Comments

Popular posts from this blog

SIMPLE PYTHON HTTP SERVER

SIMPLE PYTHON HTTP SERVER In many use cases, we come across the situation where we need a simple server to test some command or test some applications. But creating a server programmatically is a time taking process. To solve the problem Python has created SimpleHTTPServer module. In this post, we will learn how to create a simple HTTP server in a single command on Ubuntu.  Create SimpleHTTPServe Using Commandline  python -m SimpleHTTPServer 8001 Above command will create a simple HTTP server for you at port 8001 Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Golang - Run & Compile

GOLANG RUN & COMPILE In the previous post, we have discussed how to install Go on Linux. In this post, We will discuss how to compile and run a Go program. Create folder HelloWorld mkdir HelloWorld cd HelloWorld Create file HelloWorld.go touch HelloWorld.go Copy below code into HelloWorld.go file package main import "fmt" func main() { fmt.Println("Hello, World") } Compile go build Run ./HelloWorld Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

BSNL Recruitment

BSNL Recruitment      Bharat Sanchar Nigam Limited (BSNL)  has released a notification for the post of   Management Trainees . Company Name BSNL Post Name    Management Trainees State India Salary Rs.  24,900-50,500 Number of Vacancy 300 Eligibility B.Tech Last Date 26-01-2019 Application Details Job Notification Apply Online Job Application BSNL Recruitment       Government Jobs in India Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. Rozgardesh ( रोजगार देश )

South East Central Railway: SECR

South East Central Railway: SECR Company Name         :  South East Central Railway: SECR Post Name                       :   Apprentice State                            :  Maharashtra Salary                           :  Number of Vacancy   :  313 Eligibility                     :  10th Pass  Last Date to Apply     :  15-09-2018 Application Details    :  Notification Apply Online              :  Apply Here Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.