Guest User

Untitled

a guest
Jan 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. import numpy as np
  2. from scikits.learn.lda import LDA
  3.  
  4.  
  5. str_data = """\
  6. affected proband sex a b c d e f
  7. F F M 0.450 0.410 0.420 0.400 0.440 0.510
  8. F F F 0.610 0.520 0.480 0.690 0.530 0.430
  9. T T F 0.570 0.430 0.320 0.620 0.420 0.480
  10. T F F 0.660 0.390 0.620 0.550 0.650 0.530
  11. T T M 0.550 0.490 0.640 0.630 0.640 0.670
  12. T F F 0.650 0.570 0.450 0.610 0.480 0.610
  13. T T M 0.550 0.560 0.490 0.540 0.510 0.570
  14. F F F 0.590 0.560 0.790 0.740 0.730 0.660
  15. F F M 0.700 0.580 0.610 0.820 0.720 0.690"""
  16.  
  17. all_data = [x.split() for x in str_data.split("\n")]
  18.  
  19. X = np.array([map(float, row[3:]) for row in all_data[1:]])
  20.  
  21. labels = ["/".join(row[:3]) for row in all_data[1:]]
  22. y_lookup = dict((l, i) for i, l in enumerate(set(labels)))
  23. y = np.array([y_lookup[l] for l in labels])
  24.  
  25.  
  26.  
  27.  
  28. lda = LDA(n_components=2)
  29. lda.fit(X, y)
  30.  
  31. # predict ok
  32. y_predict = lda.predict(X)
  33. print sum(y_predict == y) / float(y.size)
  34.  
  35. # transform has bad dimensions (not aligned for np.dot)
  36. # but works with n_components=None
  37. X_r = lda.transform(X)
Add Comment
Please, Sign In to add comment