#!/usr/bin/env python # coding: utf-8 # In[1]: from sklearn import tree from sklearn.model_selection import train_test_split from sklearn.datasets import load_wine import graphviz import warnings # In[2]: x = load_wine().data y = load_wine().target # In[3]: x,y # In[4]: xtrain,xtest,ytrain,ytest = train_test_split(x,y,test_size=0.3,random_state=123) # In[5]: clf = tree.DecisionTreeClassifier(criterion='gini',splitter='best',random_state=12) score = clf.fit(xtrain,ytrain).score(xtest,ytest) score # In[6]: from sklearn.model_selection import GridSearchCV # In[7]: params = {'criterion':['entropy','gini'] ,'max_depth':range(2,10) ,'min_samples_leaf':range(2,10) ,'min_samples_split':range(2,30,2)} # In[8]: gv = GridSearchCV(tree.DecisionTreeClassifier(splitter='best',random_state=12),params,cv=10) gv.fit(xtrain,ytrain) # In[9]: gv.best_params_ # In[10]: clf_0 = tree.DecisionTreeClassifier(criterion='gini',splitter='best' ,max_depth=3,min_samples_leaf=2,min_samples_split=2 ,random_state=12) score_0 = clf_0.fit(xtrain,ytrain).score(xtest,ytest) score_0 # In[ ]: