基于sklearn实现Bagging算法(python)

 更新时间:2019-07-11 22:00:49   作者:佚名   我要评论(0)

本文使用的数据类型是数值型,每一个样本6个特征表示,所用的数据如图所示:

图中A,B,C,D,E,F列表示六个特征,G表示样本标签。每一行数据即为一个样本的六个

本文使用的数据类型是数值型,每一个样本6个特征表示,所用的数据如图所示:

图中A,B,C,D,E,F列表示六个特征,G表示样本标签。每一行数据即为一个样本的六个特征和标签。

实现Bagging算法的代码如下:

from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler
import csv
from sklearn.cross_validation import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
data=[]
traffic_feature=[]
traffic_target=[]
csv_file = csv.reader(open('packSize_all.csv'))
for content in csv_file:
 content=list(map(float,content))
 if len(content)!=0:
  data.append(content)
  traffic_feature.append(content[0:6])//存放数据集的特征
  traffic_target.append(content[-1])//存放数据集的标签
print('data=',data)
print('traffic_feature=',traffic_feature)
print('traffic_target=',traffic_target)
scaler = StandardScaler() # 标准化转换
scaler.fit(traffic_feature) # 训练标准化对象
traffic_feature= scaler.transform(traffic_feature) # 转换数据集
feature_train, feature_test, target_train, target_test = train_test_split(traffic_feature, traffic_target, test_size=0.3,random_state=0)
tree=DecisionTreeClassifier(criterion='entropy', max_depth=None)
# n_estimators=500:生成500个决策树
clf = BaggingClassifier(base_estimator=tree, n_estimators=500, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, n_jobs=1, random_state=1)
clf.fit(feature_train,target_train)
predict_results=clf.predict(feature_test)
print(accuracy_score(predict_results, target_test))
conf_mat = confusion_matrix(target_test, predict_results)
print(conf_mat)
print(classification_report(target_test, predict_results))

运行结果如图所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • python常用库之NumPy和sklearn入门
  • Python使用sklearn库实现的各种分类算法简单应用小结
  • Python使用sklearn实现的各种回归算法示例
  • python sklearn库实现简单逻辑回归的实例代码
  • Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
  • 对sklearn的使用之数据集的拆分与训练详解(python3.6)
  • Python sklearn KFold 生成交叉验证数据集的方法
  • 对python sklearn one-hot编码详解
  • Python基于sklearn库的分类算法简单应用示例
  • python利用sklearn包编写决策树源代码

相关文章

  • 基于sklearn实现Bagging算法(python)

    基于sklearn实现Bagging算法(python)

    本文使用的数据类型是数值型,每一个样本6个特征表示,所用的数据如图所示: 图中A,B,C,D,E,F列表示六个特征,G表示样本标签。每一行数据即为一个样本的六个
    2019-07-11
  • 使用vue for时为什么要key【推荐】

    使用vue for时为什么要key【推荐】

    前言: 用vue框架写前端代码时经常会用用到v-for这个方法,但使用此方法时vue推荐我们加上一个唯一标识key这是为什么呢?阅读了网上各位大神的文章以及自己的
    2019-07-11
  • 聊聊spring boot的WebFluxTagsProvider的使用

    聊聊spring boot的WebFluxTagsProvider的使用

    序 本文主要研究一下webflux的WebFluxTagsProvider WebFluxTagsProvider spring-boot-actuator-2.1.5.RELEASE-sources.jar!/org/springframework/boot/
    2019-07-11
  • 微信小程序开发常见问题及解决方案

    微信小程序开发常见问题及解决方案

    前言 我们在做微信小程序开发的过程中,总会遇到各种奇葩的问题。今天就把我在小程序开发过程中遇到的各种问题,及对应的解决方案总结在这里,方便以后自己回
    2019-07-11
  • Docker基础教程之Dockerfile语法详解

    Docker基础教程之Dockerfile语法详解

    前言 Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的
    2019-07-11
  • SpringCloud版本问题报错及解决方法

    SpringCloud版本问题报错及解决方法

    问题 springboot 集成springcloud时常常由于版本问题而报错,如下: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Conn
    2019-07-11
  • 深入了解Python iter() 方法的用法

    深入了解Python iter() 方法的用法

    今天我们来介绍下Python基础教程学习之iter() 方法另外的用法。据说很少有人知道这个用法! 一、上代码、学用法 我们都比较熟悉 iter(obj),会返现一个迭代
    2019-07-11
  • Python日志无延迟实时写入的示例

    Python日志无延迟实时写入的示例

    我在用python生成日志时,发现无论怎么flush(),文件内容总是不能实时写入,导致程序意外中断时一无所获。 以下是查到的解决方案(亲测可行): open 函数中
    2019-07-11
  • 在PyCharm中控制台输出日志分层级分颜色显示的方法

    在PyCharm中控制台输出日志分层级分颜色显示的方法

    1、把下面代码复制到一个.py文件中 #!/usr/bin/env python # encoding: utf-8 import logging # now we patch Python code to add color support to logg
    2019-07-11
  • python使用装饰器作日志处理的方法

    python使用装饰器作日志处理的方法

    装饰器这东西我看了一会儿才明白,在函数外面套了一层函数,感觉和java里的aop功能很像;写了2个装饰器日志的例子, 第一个是不带参数的装饰器用法示例,功能
    2019-07-11

最新评论