adaboost的分类代码
时间: 2023-09-09 20:13:15 浏览: 65
以下是一个简单的使用AdaBoost进行二分类的Python代码示例:
```python
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 生成随机数据
X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=1)
# 分割数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
# 初始化决策树模型
tree_model = DecisionTreeClassifier(max_depth=2)
# 初始化AdaBoost模型,使用决策树作为基分类器
ada_model = AdaBoostClassifier(base_estimator=tree_model, n_estimators=100, learning_rate=1.0)
# 训练模型
ada_model.fit(X_train, y_train)
# 预测测试集结果
y_pred = ada_model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
```
在这个示例中,我们使用了`make_classification`函数生成了1000个样本,每个样本有10个特征,其中有5个是有信息的,其余的是冗余的。我们使用`train_test_split`函数将数据集分割成训练集和测试集,然后初始化一个`DecisionTreeClassifier`作为基分类器,再使用`AdaBoostClassifier`初始化一个AdaBoost模型,并将基分类器传递给它。我们将`n_estimators`设置为100,这意味着我们将使用100个决策树进行训练。最后,我们使用`fit`方法训练模型,使用`predict`方法预测测试集结果,并使用`accuracy_score`计算准确率。
阅读全文