Guest User

Untitled

a guest
Dec 10th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. def linear():
  2. """
  3. """
  4. eigens = np.load('../dataset/v0_eigens.npz')
  5.  
  6. train_eigens = eigens['train_eigens']
  7. issue_eigens = eigens['issue_eigens']
  8.  
  9. # 28 boolean a week, labels are the last week
  10. # train = training, issue = testing, eigens = features
  11. # it's my convention :)
  12. train_labels = train_eigens[:, -28:]
  13. train_eigens = train_eigens[:, :-28]
  14. issue_eigens = issue_eigens[:, :-28]
  15.  
  16. # flatten the last week (of all users')
  17. train_labels = np.reshape(train_labels, (np.prod(train_labels.shape), 1))
  18.  
  19. train_eigens_temp = []
  20. issue_eigens_temp = []
  21.  
  22. # reshape, there may be some better ways like np.split?
  23. for i in range(32):
  24. k = i * 28
  25.  
  26. a = train_eigens[:, k:k+28].reshape((train_eigens.shape[0] * 28, 1))
  27. b = issue_eigens[:, k:k+28].reshape((issue_eigens.shape[0] * 28, 1))
  28.  
  29. train_eigens_temp.append(a)
  30. issue_eigens_temp.append(b)
  31.  
  32. train_eigens = np.concatenate(train_eigens_temp, axis=1)
  33. issue_eigens = np.concatenate(issue_eigens_temp, axis=1)
  34.  
  35. # as the picture, assume there are N users in training set:
  36. # xW = y
  37. # x: (N * 28) rows * (32 weeks) columns
  38. # W: (32) rows * (1) column
  39. # y: (N * 28) rows * (1 week) columns
  40. model = sklearn.linear_model.LinearRegression()
  41.  
  42. model.fit(train_eigens, train_labels)
  43.  
  44. guess = model.predict(issue_eigens)
  45.  
  46. save_labels(guess)
Add Comment
Please, Sign In to add comment