Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. import math
  2. import sys
  3.  
  4.  
  5. def HypoThe(Theta,xi):
  6. if(len(Theta)==len(xi)):
  7. sum=0
  8. for i in range(len(xi)):
  9. sum+=(Theta[i]*xi[i])
  10. return sum
  11. else:
  12. return False
  13.  
  14. def RegCostFunc(Theta,X,Y,lamb):
  15. sum1=0
  16. for i in range(len(X)):
  17. sum1+=((HypoThe(Theta, X[i])-Y[i])**2)
  18. J=sum1
  19. sum1=0
  20. for i in range(1,len(Theta)):
  21. sum1+=(Theta[i]**2)
  22. J+=lamb*sum1
  23. return J/(2*len(X))
  24.  
  25.  
  26.  
  27. def GradTerm(X,Y,Theta,i):
  28. sum1=0
  29. for j in range(len(X)):
  30. sum1+=((HypoThe(Theta,X[j])-Y[j])*X[j][i])
  31. return sum1
  32.  
  33. def GradDesc(Theta,alpha,Xfeature,Ylabels):
  34. Theta_=[]
  35. for i in range(0,len(Theta)):
  36. Theta_.append(Theta(i)-(alpha* GradTerm(Xfeature,Ylabels,Theta,i)/len(Xfeature)))
  37. return Theta_
  38.  
  39.  
  40. def LinearRegression(Xfeature,Ylabels,alpha,iterations):
  41. if len(Xfeature)!=len(Ylabels):
  42. print("Missing Data");
  43. return False
  44. else:
  45. for i in range(len(Xfeature)):
  46. Xfeature[i].insert(0,1)
  47. Theta=[0]*len(Xfeature[0])
  48. for i in range(iterations):
  49. print("\nIteration Number ",i)
  50. print(Theta)
  51. Theta=GradDesc(Theta, alpha, Xfeature, Ylabels)
  52. print(Theta)
  53. return Theta
  54.  
  55. Xfeature=[]
  56. Ylabels=[]
  57. f1=open("LinearRegression.txt")
  58. z=f1.readline()
  59. print("Fetching Data")
  60. while z:
  61. print(".",end=".")
  62. temp=z.split(",")
  63. temp1=[]
  64. for i in range(len(temp)-1):
  65. temp1.append(float((temp[i])))
  66. Xfeature.append(temp1)
  67. Ylabels.append(float(temp[-1]))
  68. z=f1.readline()
  69. f1.flush()
  70. print("")
  71. iterations=int(input("Enter the Number of Iterations"))
  72. alpha=float(input("Enter the learning rate"))
  73. m=round(len(Xfeature)/5)
  74. print(Xfeature[0]," ", Ylabels[0]," ", alpha," ", iterations )
  75.  
  76.  
  77. Theta=LinearRegression(Xfeature, Ylabels, alpha, iterations)
  78.  
  79. print("\n========================================================================================")
  80.  
  81. print("Saving Model......")
  82. f2=open("Models.txt","w")
  83. f2.write(str(Theta)+"\n")
  84. f2.close
  85. print("========================================================================================\n")
  86. while True:
  87. print("Enter ",len(Xfeature[0])," features to predict value for")
  88. Pred=[1];
  89. sys.stdout.flush()
  90. for i in range(len(Xfeature[0])-1):
  91. temp=float(input("Enter feature number "))
  92. Pred.append(temp)
  93. print(HypoThe(Theta,Pred))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement