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])