[关闭]
@caoo 2018-12-14T11:32:21.000000Z 字数 1454 阅读 326

决策树分类器实现Iris代码

IRIS 决策树 DecisionTreeClassifier


  1. from sklearn.tree import DecisionTreeClassifier
  2. from sklearn.ensemble import AdaBoostClassifier
  3. from sklearn.model_selection import GridSearchCV
  4. from sklearn.model_selection import train_test_split
  5. #Fixing a random seed
  6. import random
  7. random.seed(42)
  8. iris = datasets.load_iris()
  9. param_grid = {"base_estimator__criterion": ["gini", "entropy"],
  10. "base_estimator__splitter": ["best", "random"],
  11. "n_estimators": [1, 2]}
  12. dtc = DecisionTreeClassifier()
  13. ada = AdaBoostClassifier(base_estimator=dtc)
  14. iris = datasets.load_iris()
  15. X = iris.data[:]
  16. y = iris.target
  17. # Split the data into training and testing sets
  18. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  19. #输出数据集大小
  20. print ('原始数据集特征:',X.shape,
  21. '训练数据集特征:',X_train.shape ,
  22. '测试数据集特征:',X_test.shape)
  23. print ('原始数据集标签:',y.shape,
  24. '训练数据集标签:',y_train.shape ,
  25. '测试数据集标签:',y_test.shape)
  26. grid_search_ada = GridSearchCV(ada, param_grid=param_grid, cv=10)
  27. grid_fit = grid_search_ada.fit(X, y)
  28. # TODO: Get the estimator.
  29. best_clf = grid_fit.best_estimator_
  30. # Fit the new model.
  31. best_clf.fit(X_train, y_train)
  32. # Make predictions using the new model.
  33. best_train_predictions = best_clf.predict(X_train)
  34. best_test_predictions = best_clf.predict(X_test)
  35. print(sum(best_test_predictions == y_test)) #预测结果与真实结果比对
  36. print(metrics.classification_report(y_test,best_test_predictions))
  37. print(metrics.confusion_matrix(y_test,best_test_predictions))
  38. L1 = [n[0] for n in X_test]
  39. L2 = [n[1] for n in X_test]
  40. plt.scatter(L1,L2, c=test_predictions,marker='x')
  41. plt.title('DecisionTreeClassifier')
  42. plt.show()
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注