Skip to main content

Machine Learning Linear Regression


Machine Learning Linear Regression

In this post, we will learn Machine Learning Techniques Linear Regression using  in Python.

Requirement

For this tutorial, following library  should be installed in your system.
  1. Pandas
  2. Quandl
  3. numpy
  4. sklearn
Linear Regression: Taking continuous data and fitting a best possible function in it.
References:
Regression identifying data-set and importing it and making it into useful format.
Code snippet used in video:
 import pandas as pd  
   
 import quandl  
   
 import math  
   
 df=quandl.get('WIKI/GOOGL')   
   
 df=df[['Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume']]  
   
 df['HL_PCT']=(df['Adj. High']-df['Adj. Close'])/df['Adj. Close']*100.00  
   
 df['PCT_Change']=(df['Adj. Close']-df['Adj. Open'])/df['Adj. Open']*100.00  
   
 df=df[['Adj. Close','HL_PCT','PCT_Change','Adj. Volume']]  
   
 print(df.head())  

Regression Feature Identification:  

References 

 Further code:   
   
 forecast_col='Adj. Close'  
   
 df.fillna(-99999,inplace =True)  
   
 forecast_out=int(math.ceil(0.01*len(df)))  
   
 df['label']=df[forecast_col].shift(-forecast_out)  
   
 df.dropna(inplace=True)  
   
 print(df.head())  
   
 print(df.tail()) 

Regression Training and Testing:

 import pandas as pd  
   
 import quandl  
   
 import math  
   
 import numpy as np #Used in creating arrays etc as python doesn't supports array  
   
 from sklearn import preprocessing, model_selection , svm  
   
 from sklearn.linear_model import LinearRegression  
   
 df=quandl.get('WIKI/GOOGL')  
   
 df=df[['Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume']]  
   
 df['HL_PCT']=(df['Adj. High']-df['Adj. Close'])/df['Adj. Close']*100.00  
   
 df['PCT_Change']=(df['Adj. Close']-df['Adj. Open'])/df['Adj. Open']*100.00  
   
 df=df[['Adj. Close','HL_PCT','PCT_Change','Adj. Volume']]  
   
 forecast_col='Adj. Close'  
   
 df.fillna(-99999,inplace =True)  
   
   
   
 forecast_out=int(math.ceil(0.01*len(df)))  
   
 print(forecast_out)  
   
 df['label']=df[forecast_col].shift(-forecast_out)  
   
 df.dropna(inplace=True)  
   
 print(df.head())  
   
 print(df.tail())  
   
   
   
 X=np.array(df.drop(['label'],1)) #Our features  
   
 y=np.array(df['label'])  
   
 X=preprocessing.scale(X)  
   
 df.dropna(inplace=True)  
   
 X_train, X_test, y_train, y_test=model_selection.train_test_split(X,y, test_size=0.2)  
   
 clf=LinearRegression(n_jobs=100)  
   
 clf.fit(X_train, y_train)  
   
 accuracy=clf.score(X_test, y_test) #Accuracy is squared error  
   
 print(accuracy)  

Using Support vector regression classifier

 clf=svm.SVR()  
   
 clf.fit(X_train, y_train)  
   
 accuracy=clf.score(X_test, y_test) #Accuracy is squared error  
   
 print(accuracy)  
   
   



###Regression forecasting and predicting



Comments

Popular posts from this blog

SSC Practice Problem Solution

SSC Practice Problem Solution In this post, we will discuss solution of  SSC Practice Problem . Question 1  The efficiency of (A + B) = 100/24 = (25/6)% The efficiency of (A + B + C) = 100/8 = (25/2)% The efficiency of C = 25/2 – 25/6 = (50/6)% Hence, C can alone finish this job in = 100/(50/6) = 12 days Answer: 12 days option (1) Question 2  Original price = Rs. 6000; Price after discount = 6000 – 1200 = Rs. 4800; Price after raising service contract = 4800 + 480 = Rs. 5280 Answer: Rs. 5280 option (2) Question 3  Suppose the received money by A, B, and C is respectively 5x, 6x, and 9x. 5x = 450; => x = 90; Hence, the total money = 20x = 20*90 = Rs. 1800; Answer: Rs. 1800 option (2) Question 4 Suppose the Cost price of the bag= Rs. x; Hence, x + 0.15x = 230; => x = Rs. 200; Selling price after selling on 20% = 200 + 20% of 200 = Rs. 240 Answer: Rs. 240 option (3) Question 5  The required percentage ...

Average

Average In this post, We will learn about average.  Average of any collection of data is the sum of data divide by number of data. Average = (Sum of observations /  Number of observations) Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.  problems The arithmetic mean of x, y and z is 80, and that of x, y, z, u and v is 75, where u=(x+y)/2 and v=(y+z)/2. If x ≥ z, then the minimum possible value of x is (CAT 2018) As specified in the question mean of x and y and z is 80 x+y+z=3*80 mean of x, y, z,u,v is 75 x+y+z+u+v=75*5 2u=x+y 2v=y+z x+y+z+((x+y+y+z)/2)=75*5 y+3(x+y+z)=75*10 y=750-720 y=30 since x+y+z=240 y=30 so x+z=210 since x>=z so minimum value of x=210/2 = 105 Problem2: In first 5 inings sehwag has scored at average of 40. In sixth ining He had scored 52 what is His average after 6th ining. one simple approach is getting total score divided by no of inin...

Trigonometry

Trigonometry The word ‘trigonometry’ means ‘triangle measurement’.It involves the ratios of the sides of right triangles and the angles. The main three ratios are called tangent, sin, and cosine. Being one of the most important topics for the  CAT exam , trigonometry requires the candidates to be well prepared with excessive practice to solve the related questions. There are some triangle questions which can be solved much faster if you can remember the trigonometric ratios involved, especially questions based on heights and distances. So, here is a detailed lesson on trigonometry for CAT topic along with various illustrations to help you understand the topic easily. There are three sides to a right-angled triangle which are named as follows depending on the angle.  Opposite Side The opposite side refers to the side opposite to the angle in question (θ). In this case, the opposite side is BC. Adjacent Side The Adjacent side is the side adjacent to angle...

Complex Number

Complex Number While solving the equation of the form  a x 2 + b x + c = 0 , the roots of the equations can take three forms which are as follows: Two Distinct Real Roots Similar Root No Real roots (Complex Roots) The introduction of complex numbers in the 16th century made it possible to solve the equation  x 2 + 1 = 0 . The roots of the equation are of the form  x = ± − 1 ‾ ‾ ‾ √  and no real roots exist. Thus, with the introduction of complex numbers, we have Imaginary roots. We denote  − 1 ‾ ‾ ‾ √  with the symbol i, where i denotes Iota (Imaginary number). An equation of the form z= a+ib, where a and b are real numbers, is defined to be a complex number. The real part is denoted by Re z = a and the imaginary part is denoted by Im z = b. Algebraic Operation on Complex numbers: Addition of two complex numbers Subtraction of two complex number Multiplication of two complex number Division of two complex number Power of Iota (i) ...