Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. def output_loo(X, y, n_features=range(5, 31, 5)):
  2. scaling = preprocessing.StandardScaler()
  3. scaling2 = MinMaxScaler()
  4.  
  5. svml1 = svm.LinearSVC(C=0.5, loss='l2', penalty='l1', dual=False)
  6. lrl1 = LogisticRegression(C=1, penalty='l1', tol=0.4)
  7. svml2 = svm.LinearSVC(C=0.5, loss='l2', penalty='l2', dual=False)
  8. lrl2 = LogisticRegression(C=1, penalty='l2', tol=0.4)
  9. svml = svm.LinearSVC()
  10. lrl=LogisticRegression()
  11.  
  12. cv=LeaveOneOut(len(y))
  13. all_loo=[]
  14. nf=[]
  15.  
  16. for num in n_features:
  17. allchi2 = SelectKBest(chi2, k=num)
  18. my_svm11 = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('svml1', svml1)])
  19. my_svm21 = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('svml2', svml2)])
  20. my_svm = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('svm', svml)])
  21.  
  22. my_lr11 = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('lrl1', lrl1)])
  23. my_lr21 = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('lrl2', lrl2)])
  24. my_lr = Pipeline([('scaling', scaling2), ('chi2', allchi2), ('lr', lrl)])
  25.  
  26. loo=[]
  27. loo.append(skl.cross_validation.cross_val_score(my_svm11, X, y, cv=cv, scoring="accuracy").mean())
  28. loo.append(skl.cross_validation.cross_val_score(my_svm21, X, y, cv=cv, scoring="accuracy").mean())
  29. loo.append(skl.cross_validation.cross_val_score(my_svm, X, y, cv=cv, scoring="accuracy").mean())
  30. loo.append(skl.cross_validation.cross_val_score(my_lr11, X, y, cv=cv, scoring="accuracy").mean())
  31. loo.append(skl.cross_validation.cross_val_score(my_lr21, X, y, cv=cv, scoring="accuracy").mean())
  32. loo.append(skl.cross_validation.cross_val_score(my_lr, X, y, cv=cv, scoring="accuracy").mean())
  33.  
  34. all_loo.append(loo)
  35. nf.append(str(num))
  36. res=np.round(np.array(all_loo), 3)
  37. colnames=['SVM with L1', 'SVM with L2', ' SVM ', 'LR with L1', 'LR with L2', ' LR ']
  38. restable=pandas.DataFrame(res, index=nf, columns=colnames)
  39.  
  40. return restable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement