基于knn模型预测葡萄酒种类的数据分析与可视化代码
时间: 2024-11-06 10:35:37 浏览: 35
基于K-近邻(KNN)模型的葡萄酒种类预测通常涉及到以下步骤:
首先,你需要安装必要的数据分析库,比如`scikit-learn`(用于机器学习)、`pandas`(数据处理)和`matplotlib`(数据可视化)。
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
```
然后,加载葡萄酒数据集(假设数据集名为wine.csv):
```python
data = pd.read_csv('wine.csv')
X = data.drop('class', axis=1) # 特征列
y = data['class'] # 目标变量
```
接下来,分割数据集为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
训练KNN模型:
```python
knn_model = KNeighborsClassifier(n_neighbors=5) # 假设使用5作为邻居数
knn_model.fit(X_train, y_train)
```
进行预测,并评估性能:
```python
y_pred = knn_model.predict(X_test)
print("Classification Report:\n", classification_report(y_test, y_pred))
conf_mat = confusion_matrix(y_test, y_pred)
plt.imshow(conf_mat, cmap='Blues', interpolation='nearest')
plt.colorbar()
plt.xlabel('Predicted Class')
plt.ylabel('True Class')
plt.title('Confusion Matrix')
plt.show()
```
以上代码展示了基本的KNN分类过程以及结果的可视化。记得替换文件路径和调整`n_neighbors`值以找到最优的K值。
阅读全文