Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. #Model Tuning
  2. from pyspark.ml import Pipeline
  3. from pyspark.ml.tuning import ParamGridBuilder, CrossValidator
  4.  
  5. pipeLine2=Pipeline()
  6. pipeLine2.setStages([classifier])
  7.  
  8. paramGrid2 = ParamGridBuilder().addGrid(lr.regParam, [0.1, 0.01]).build()
  9. classifier.explainParam('stepSize')
  10.  
  11. cv = CrossValidator(estimator=pipeLine2,
  12. estimatorParamMaps=paramGrid2,
  13. evaluator=evaluator,
  14. numFolds=2)
  15. cvm = cv.fit(train)
  16. predictions = cvm.transform(test)
  17. evaluator.evaluate(predictions)
  18.  
  19.  
  20. #Compare models
  21. bestModel = cvm.bestModel.stages[0]
  22. bestModel.weights.array
  23.  
  24. bestModel.layers
  25.  
  26. cvm.avgMetrics
  27.  
  28. #Try other classifiers
  29. from pyspark.ml.classification import (LogisticRegression,
  30. DecisionTreeClassifier,
  31. RandomForestClassifier
  32. )
  33.  
  34. lr = LogisticRegression()
  35. dt = DecisionTreeClassifier()
  36. rf = RandomForestClassifier(maxBins=10)
  37.  
  38. lrm = lr.fit(train)
  39. dtm = dt.fit(train)
  40. rfm = rf.fit(train)
  41.  
  42. lrm_results = lrm.transform(test)
  43. dtm_results = dtm.transform(test)
  44. rfm_results = rfm.transform(test)
  45.  
  46. evaluation_lrm=evaluator.evaluate(lrm_results)
  47. evaluation_dtm=evaluator.evaluate(dtm_results)
  48. evaluation_rfm=evaluator.evaluate(rfm_results)
  49.  
  50. print('evaluation of logistic regression model = %g'%evaluation_lrm)
  51. print('evaluation of decision tree model = %g'%evaluation_dtm)
  52. print('evaluation of random forest model = %g'%evaluation_rfm)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement