from sklearn.datasets import load_wine
from sklearn import tree
from sklearn.model_selection import train_test_split
import numpy as np
#决策树
def decision_tree():
# 酒的分类
wine_dataset = load_wine()
# random_state=0,每次生成的随机数不同
# x代表数据集,y代表分类标签
x_train, x_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)
clf=tree.DecisionTreeClassifier(max_depth=5)
clf.fit(x_train,y_train)
print(clf.score(x_train,y_train))
print(clf.score(x_test, y_test))
# 使用模型完成预测
x_news = np.array([[13.2, 2.77, 2.51, 18.5, 96.6, 1.04, 2.55, 0.57, 1.47, 6.2, 1.05, 3.33, 820]])
prediction = clf.predict(x_news)
print(wine_dataset["target_names"][prediction])
def random_forest():
# 酒的分类
wine_dataset = load_wine()
# random_state=0,每次生成的随机数不同
# x代表数据集,y代表分类标签
x_train, x_test, y_train, y_test = train_test_split(wine_dataset["data"], wine_dataset["target"], random_state=0)
#设定随机森林中有6棵树
forest=RandomForestClassifier(n_estimators=6,random_state=3)
#拟合
forest.fit(x_train,y_train)
print(forest.score(x_train,y_train))
print(forest.score(x_test, y_test))
# 使用模型完成预测
x_news = np.array([[13.2, 2.77, 2.51, 18.5, 96.6, 1.04, 2.55, 0.57, 1.47, 6.2, 1.05, 3.33, 820]])
prediction = forest.predict(x_news)
print(wine_dataset["target_names"][prediction])