from sklearn.tree import DecisionTreeClassifier #分类
from sklearn.tree import DecisionTreeRegressor #回归
import pandas as pd
import numpy as np
import sklearn.datasets as skdata
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
#from sklearn.metrics import mean_squared_error,r2_score
from sklearn import metrics#模型结果评价包
'''分类'''
data_x,data_y = skdata.load_iris().data, skdata.load_iris().target
df = pd.DataFrame(data_x,columns = list('abcd'))
df['f'] = data_y
#dff = df[df['f'] < 2]
x_tr,x_te,y_tr,y_te = train_test_split(df[list('abcd')],df['f'],train_size = 0.7,random_state =22)
tree = DecisionTreeClassifier()
tree.fit(x_tr,y_tr)
tree_p = tree.predict(x_te)
metrics.roc_auc_score(y_te,tree_p)
metrics.confusion_matrix(y_te,tree_p)
'''回归'''
d_x ,d_y = skdata.load_boston().data,skdata.load_boston().target
x_tr,x_te,y_tr,y_te = train_test_split(d_x,d_y,train_size = 0.7,random_state = 22)
tree_r = DecisionTreeRegressor()
tree_r.fit(x_tr,y_tr)
tr_p = tree_r.predict(x_te)
metrics.r2_score(y_te,tr_p)
metrics.mean_squared_error(y_te,tr_p)
模型参数详解(