dtc.predict(wine_target.iloc[:,1:].values) Out[33]: array([2., 2., 2., 3., 1.]) In [34]: from sklearn.metrics import mean_squared_error #先获得预测的y值y_pre y_pre=dtc.predict(x_test) mean_squared_error(y_test,y_pre) Out[34]: 0.0 In [35]: print("决策树 训练精度:",dtc.score(x_test,y_test)) print("决策树 泛化精度:",dtc.score(x_train,y_train)) 决策树 训练精度: 1.0 决策树 泛化精度: 1.0 In [39]: #KNN最近邻分类算法 from sklearn.neighbors import KNeighborsClassifier from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split x=wine_data.iloc[:,1:].values y=wine_data.iloc[:,0].values x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=125) dtr=KNeighborsClassifier() dtr.fit(x_train,y_train) dtr.score(x_test,y_test) Out[39]: 0.9807692307692307 In [42]: model_knn=KNeighborsClassifier(n_neighbors=5)#看5个近邻的类别确定分类 model_knn.fit(x_train,y_train) #预测 model_knn.predict(x_test) Out[42]: array([3., 3., 1., 2., 1., 3., 3., 1., 2., 3., 2., 1., 2., 1., 2., 1., 2., 2., 3., 1., 1., 3., 1., 2., 1., 2., 3., 3., 2., 2., 1., 1., 2., 1., 1., 2., 3., 1., 3., 3., 2., 2., 2., 2., 1., 1., 1., 1., 2., 3., 2., 1.]) In [43]: dtr.predict(wine_target.iloc[:,1:].values) Out[43]: array([2., 2., 3., 3., 1.]) In [41]: neighbors = 3 from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(neighbors) knn.fit(x_train,y_train) print("KNN 训练精度:",knn.score(x_test,y_test)) print("KNN 泛化精度:",knn.score(x_train,y_train)) KNN 训练精度: 0.9615384615384616 KNN 泛化精度: 0.9586776859504132
时间: 2024-04-03 12:32:58 浏览: 64
这段代码主要是使用决策树分类器和K最近邻分类器对葡萄酒数据进行分类,其中,训练集和测试集的划分、分类器的建立和训练、模型评估等步骤都有详细的代码实现。最终,通过输出score值和mean_squared_error值,可以评估分类器的精度和性能。可以看出,K最近邻分类器的精度比决策树分类器略低,但仍然达到了很高的水平。
相关问题
dtc.predict(wine_target.iloc[:,1:].values)
这段代码使用已经训练好的决策树分类器模型对wine_target数据集中的样本进行预测。具体来说,代码使用predict函数对wine_target数据集中除第一列以外的所有列(即特征数据)进行预测,并将预测结果存储在y_pre中。注意,由于wine_target数据集中只有5个样本,因此预测结果只有5个。
这段代码的作用是什么wine_data=data.iloc[:-5,:] wine_target=data.iloc[-5:,:] from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split x=wine_data.iloc[:,1:].values y=wine_data.iloc[:,0].values x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=42) dtc=DecisionTreeClassifier(criterion='entropy') dtc.fit(x_train,y_train) y_pre=dtc.predict(x_test) y_pre dtc.predict(wine_target.iloc[:,1:].values)
这段代码的作用是对葡萄酒数据集进行决策树分类器建模,并对测试集进行预测,最后对新数据进行分类预测。
首先,将数据集分为特征数据和目标数据,其中特征数据为除第一列(通常为编号或标签)外的所有列,目标数据为第一列。
然后,使用train_test_split函数将数据集划分为训练集和测试集,其中测试集占30%。
接着,使用DecisionTreeClassifier函数进行决策树分类器的建模,其中criterion='entropy'表示使用信息熵作为划分标准。
然后,使用fit函数对训练集进行拟合,使用predict函数对测试集进行预测,将预测结果赋值给y_pre。
最后,使用predict函数对新数据(即wine_target数据集)进行分类预测,将预测结果输出。
阅读全文