利用AdaBoost对马疝病数据集(horseColic)进行分类预测

本文详细介绍了如何使用Adaboost算法进行数据分类。通过pandas读取csv文件,利用numpy处理数据,最后采用Adaboost分类器进行模型训练与测试。代码中详细展示了数据预处理、模型训练及评估的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据集
提取码:krry

  • 先利用pandas读入csv文件,以DataFrame形式存储;然后将数据转成list(其实也可以直接操作,不过本人习惯这样做):
    data = np.array(data).tolist()

  • 分割数据,最后一列作为标签类别y,其余列为x:

x = []; y = []
for i in range(len(data)):
     y.append(data[i][-1])
     del data[i][-1]
     x.append(data[i])
  • 训练模型
clf = AdaBoostClassifier(base_estimator=DecisionTreeClassifier(max_depth=7, min_samples_leaf=7), n_estimators=100, algorithm='SAMME', learning_rate=0.95)
clf.fit(train_x, train_y)
  • 测试
print(clf.score(test_x, test_y))
  • 完整代码:
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
import pandas as pd
import numpy as np

def load_data(path):
    data = pd.read_csv(path, sep='\t', names=[i for i in range(22)])
    data = np.array(data).tolist()
    x = []; y = []
    for i in range(len(data)):
        y.append(data[i][-1])
        del data[i][-1]
        x.append(data[i])

    x = np.array(x)
    y = np.array(y)

    return x, y

def AdaBoost():
    train_x, train_y = load_data('ensemble/horseColicTraining.txt')
    test_x, test_y = load_data('ensemble/horseColicTest.txt')
    #训练
    clf = AdaBoostClassifier(base_estimator=DecisionTreeClassifier(max_depth=7, min_samples_leaf=7), n_estimators=100, algorithm='SAMME', learning_rate=0.95)
    clf.fit(train_x, train_y)
    #测试
    print(clf.score(test_x, test_y))


if __name__ == '__main__':
    AdaBoost()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cyril_KI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值