3. 使用给定的数据集，在训练集上训练一个分类器，然后在测试集上测试其准确性。输入应包括数据集，训练和测试集分割的比例，分类器类型以及任何超参数的值。


数据集: Iris（鸢尾花）数据集
训练集/测试集: 80/20
分类器类型: 决策树
超参数: 最大深度为5
可以使用scikit-learn包中的DecisionTreeClassifier类来训练和测试决策树分类器。具体步骤如下：

1. 从sklearn.datasets中导入Iris数据集
2. 使用train_test_split函数将数据集分割成训练集和测试集，并指定比例为80%/20%
3. 导入DecisionTreeClassifier类，定义分类器并设置最大深度为5
4. 在训练集上使用分类器拟合数据
5. 在测试集上使用分类器进行预测，并计算准确性得分

代码示例如下：

```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# 加载数据集
iris = load_iris()

# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

# 定义分类器并设置最大深度为5
clf = DecisionTreeClassifier(max_depth=5)

# 在训练集上拟合数据
clf.fit(X_train, y_train)

# 在测试集上进行预测，并计算准确性得分
acc = clf.score(X_test, y_test)
print("Accuracy:", acc)
``` 

该代码将输出测试集上的准确性得分。