Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.00 KB | None | 0 0
  1. #importing libraries
  2. import numpy as np
  3. import pandas as pd
  4. import matplotlib.pyplot as plt
  5. import random
  6.  
  7. #setting figure size
  8. plt.rcParams['figure.figsize'] = (6.0, 6.0)
  9.  
  10. #preprocessing training data
  11. data = pd.read_csv('train_data.csv')
  12. X = data.iloc[:, 0]
  13. Y = data.iloc[:, 1]
  14.  
  15. #creating the training model
  16. m = random.random()
  17. c = random.random()
  18. L = 0.0001
  19.  
  20.  
  21. iterations = 100
  22.  
  23. for i in range (iterations):
  24.     Y_pred = m*X + c  #predicted value of y
  25.     D_m = (-2/(len(X))) * sum(X * (Y - Y_pred))  #derivative wrt m
  26.     D_c = (-2/(len(X))) * sum(Y - Y_pred)  #derivative wrt c
  27.     m = m - L * D_m  #update m
  28.     c = c - L * D_c  #update c
  29.  
  30. print (m,c)
  31.  
  32.  
  33. #testing
  34.  
  35. test_data = pd.read_csv("test_data.csv")
  36. x_test, y_test = test_data['x_test'], test_data['y_test']
  37. y_pred = m*x_test + c
  38.  
  39. plt.scatter(x_test, y_test)
  40. plt.plot([min(x_test), max(x_test)], [min(y_pred), max(y_pred)], color='red') # predicted
  41. plt.show()
  42.  
  43. MSE = np.square(np.subtract(y_test,y_pred)).mean()
  44.  
  45. print (MSE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement