怎么在决策树代码中训练集和测试集
时间: 2023-12-03 09:42:46 浏览: 26
在决策树算法中,可以通过将数据集划分为训练集和测试集来评估模型的性能。通常,我们将数据集的大部分用于训练模型,剩余的用于测试模型。
在Python中,可以使用sklearn库中的train_test_split函数来将数据集划分为训练集和测试集。具体步骤如下:
1. 导入train_test_split函数:
```python
from sklearn.model_selection import train_test_split
```
2. 定义特征向量X和目标变量y:
```python
X = data.iloc[:, :-1].values # 特征向量
y = data.iloc[:, -1].values # 目标变量
```
3. 划分训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
其中,test_size参数指定测试集占总数据集的比例,random_state参数指定随机种子,保证每次随机划分的结果相同。
4. 使用训练集拟合决策树模型:
```python
from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier()
classifier.fit(X_train, y_train)
```
5. 使用测试集评估模型性能:
```python
y_pred = classifier.predict(X_test)
from sklearn.metrics import confusion_matrix, accuracy_score
cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:\n", cm)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}%".format(accuracy*100))
```
其中,confusion_matrix函数返回混淆矩阵,accuracy_score函数返回准确率。