模型评估与选择实验代码
时间: 2024-05-16 15:13:18 浏览: 11
以下是一个简单的模型评估与选择实验代码的示例,包括数据准备、模型训练、评估和选择。
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
# 数据准备
data = pd.read_csv('data.csv')
X = data.drop('label', axis=1)
y = data['label']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 模型训练
models = {
'decision tree': DecisionTreeClassifier(),
'k-NN': KNeighborsClassifier(),
'SVM': SVC()
}
for name, model in models.items():
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print(f'{name} accuracy: {acc:.2f}')
# 选择模型
best_acc = 0
best_model = None
for name, model in models.items():
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred)
if acc > best_acc:
best_acc = acc
best_model = model
print(f'Best model: {best_model.__class__.__name__}, accuracy: {best_acc:.2f}')
```
在这个例子中,我们首先准备了一个二分类数据集,然后利用 `train_test_split` 函数将数据集分成训练集和测试集。接下来,我们定义了三个不同的分类器(决策树、k-NN、SVM),并且使用训练集对这些模型进行训练。在训练过程中,我们使用 `predict` 方法对测试集进行预测,并使用 `accuracy_score` 函数计算准确率。
最后,我们选择在测试集上表现最好的模型作为最终模型。在本例中,我们采用简单的循环来选择最佳模型,但在实际应用中,可能需要使用更复杂的模型选择方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)