基于sklearn实现Bagging算法(python)


Posted in Python onJuly 11, 2019

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

基于sklearn实现Bagging算法(python)

图中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))

运行结果如图所示:

基于sklearn实现Bagging算法(python)

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

Python 相关文章推荐
python实现划词翻译
Apr 23 Python
python使用PIL缩放网络图片并保存的方法
Apr 24 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
TensorFlow saver指定变量的存取
Mar 10 Python
python中的常量和变量代码详解
Jul 25 Python
Python中的取模运算方法
Nov 10 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
Python自带的IDE在哪里
Jul 01 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
Python机器学习之PCA降维算法详解
May 19 Python
Python List remove()实例用法详解
Aug 02 Python
Python的log日志功能及设置方法
Jul 11 #Python
python使用装饰器作日志处理的方法
Jul 11 #Python
Python日志无延迟实时写入的示例
Jul 11 #Python
深入了解Python iter() 方法的用法
Jul 11 #Python
用python给自己做一款小说阅读器过程详解
Jul 11 #Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 #Python
ML神器:sklearn的快速使用及入门
Jul 11 #Python
You might like
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
php-msf源码详解
2017/12/25 PHP
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Python 函数list&read&seek详解
2019/08/28 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
护士的岗位职责
2013/12/04 职场文书
求职信范文英文版
2014/01/05 职场文书
初二政治教学反思
2014/01/12 职场文书
学生爱国演讲稿
2014/01/14 职场文书
财务总经理岗位职责
2014/02/16 职场文书
《落花生》教学反思
2014/02/25 职场文书
中学社团活动总结
2015/05/07 职场文书
2015年高三教学工作总结
2015/07/21 职场文书