Advertisement
Guest User

Untitled

a guest
May 21st, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. %store -r usa_binary
  2. rfr = RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
  3. max_depth=5, max_features=0.2, max_leaf_nodes=None,
  4. min_impurity_decrease=0.0, min_impurity_split=None,
  5. min_samples_leaf=3, min_samples_split=2,
  6. min_weight_fraction_leaf=0.0, n_estimators=138, n_jobs=1,
  7. oob_score=False,
  8. verbose=0, warm_start=False)
  9.  
  10. accuracy = []
  11. selectedFeatures = []
  12. precs = []
  13. for i in range(0, len(usa_binary), 7):
  14. print(i)
  15. train = fromListToSets([usa_binary[i]], 1, removeI = True)
  16. accuracyMax = 0
  17. features = []
  18. prec = 10
  19. if (train.shape[0] > 40):
  20. for i in [10, 20, 30, 40, 50, 60, 70]:
  21. try:
  22. feat_selector = BorutaPy(rfr, n_estimators='auto', random_state=1, perc = i, verbose=0, alpha=0.05)
  23. feat_selector.fit(train[:, 1:], train[:, 0])
  24. X_filtered = feat_selector.transform(train[:, 1:])
  25. k = 20
  26. scores = np.zeros((k))
  27. kFold = KFold(n_splits=k, random_state=None)
  28. y_pred = []
  29. if X_filtered.shape[1] == 0:
  30. continue
  31. for train_index, test_index in kFold.split(train[:, 0]):
  32. train_X = X_filtered[train_index, :]
  33. train_Y = train[:, 0][train_index]
  34. test_X = X_filtered[test_index, :]
  35. test_Y = train[:, 0][test_index]
  36. rfr.fit(train_X, train_Y)
  37. pred = rfr.predict(test_X)
  38. y_pred.append(pred)
  39. y_pred = list(itertools.chain.from_iterable(y_pred))
  40. accuracyForTree = np.sum(y_pred == train[:, 0]) / len(train[:, 0])
  41. if accuracyMax < accuracyForTree:
  42. accuracyMax = accuracyForTree
  43. features = feat_selector.support_
  44. prec = i
  45. except (KeyboardInterrupt, SystemExit):
  46. raise
  47. except:
  48. pass
  49. accuracy.append(accuracyMax)
  50. selectedFeatures.append(features)
  51. precs.append(prec)
  52. else:
  53. accuracy.append(0)
  54. selectedFeatures.append(0)
  55. precs.append(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement