# -*- coding: utf-8 -*-
"""集成算法.ipynbAutomatically generated by Colaboratory.Original file is located athttps://colab.research.google.com/drive/1cr8C3JW8619DoKNb0nd9u7_RqfAlruTv**Bagged Decision Tree**Bagging算法在数据有很大的方差时很有效,最常见的是决策树的Bagging算法。
"""from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)data.shape# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
cart = DecisionTreeClassifier()
num_tree = 100
model = BaggingClassifier(base_estimator=cart, n_estimators=num_tree, random_state=seed)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())"""### 随机森林用随机的方式建立一个森林,森林由多棵决策树组成,每个决策树之间没有关联。新的输入进入到随机森林,会让每个决策树分别判断,看样本属于哪一类,最后看哪类被选择的最多,就预测这个样本为那个类。
"""from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
num_tree = 100
max_features = 3
model = RandomForestClassifier(n_estimators=num_tree, random_state=seed, max_features=max_features)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())"""### 极端随机树
与随机森林类似,都是由很多决策树组成,但是有两个重要区别:- 随机森林是Bagging模型,ExtraTreesClassifier择时使用所有的训练样本得到每个决策树
- 随机森林是在一个随机子集内得到最优的分叉特征属性,ExtraTreesClassifier则是完全随机选择分叉特征属性
"""from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import ExtraTreesClassifier# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
num_tree = 100
max_features = 7model = ExtraTreesClassifier(n_estimators=num_tree, random_state=seed, max_features=max_features)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())"""### 提升算法Boosting算法是用来提高弱分类算法准确度的方法。先构造一个预测函数序列,然后将他们组合成为一个预测函数。
"""### AdaBoost
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import AdaBoostClassifier# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
num_tree = 100model = AdaBoostClassifier(n_estimators=num_tree, random_state=seed)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())### 随机梯度提升算法from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import GradientBoostingClassifier# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
num_tree = 100model = AdaBoostClassifier(n_estimators=num_tree, random_state=seed)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())"""### 投票算法将多个机器学习模型集成集成起来的算法。通过创建两个或两个以上的算法模型,用投票算法将这些算法包裹起来。
"""from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import VotingClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.linear_model import LogisticRegression# 导入数据
filename = 'http://ftp.ics.uci.edu/pub/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename, names=names)# 数据划分
array = data.values
X = array[:, 0:8]
y = array[:, 8]# 构建模型
num_folds = 10
seed = 7
kfold = KFold(n_splits=num_folds, random_state=seed)
cart = DecisionTreeClassifier()models = {}
models['logistic'] = LogisticRegression()
models['cart'] = DecisionTreeClassifier()
models['svm'] = SVC()ensemble_model = VotingClassifier(estimators=models)result = cross_val_score(model, X, y, cv=kfold)print(result.mean())

END.

参考:
《机器学习Python实践》

【机器学习】集成算法使用样例相关推荐

  1. 色温(Kelvin)到RGB的转换:算法和样例

                             色温(Kelvin)到RGB的转换:算法和样例 据我所知,还不太可能找到从色温到RGB转换的一个可靠的公式.虽然,有很多算法实现了类似的功能,但是,大 ...

  2. 数据挖掘-序列模式挖掘-prefixspan算法(样例)

    数据挖掘-序列模式挖掘-prefixspan算法(样例) ' 所有结果: 通俗来讲:可以以1-频繁项d为例,我们的思路讲解的很明白:这儿我们一般化我们的求解过程: 1)第一次扫描原始数据库,得到长度为 ...

  3. Python机器学习 集成算法实例

    import numpy as np import pandas as pdimport matplotlib.pyplot as plt %matplotlib inlineSEED = 222 n ...

  4. 10- 天猫用户复购预测 (机器学习集成算法) (项目十) *

    项目难点 merchant:  商人 重命名列名:  user_log.rename(columns={'seller_id':'merchant_id'}, inplace=True) 数据类型转换 ...

  5. 05- 泰坦尼克号海难生死预测 (机器学习集成算法) (项目五)

    Kaggle:  一个数据建模和数据分析竞赛平台 sns画柱状图:  sns.barplot(data=train,x='Pclass',y='Survived') 查看数据分布(survived 和 ...

  6. 09- 京东客户购买意向预测 (机器学习集成算法) (项目九) *

    项目难点 根据用户在网站的操作(浏览, 加购, 删除, 购买, 收藏, 点击), 预测用户是否购买产品 . 主要使用 Xgboost 建模 pd.get_dummies 相当于onehot编码,常用与 ...

  7. 机器学习 | 集成算法 | Bagging | Boosting | 概念向

  8. 机器学习-SVM算法

    机器学习-基础知识 机器学习-线性回归 机器学习-逻辑回归 机器学习-聚类算法 机器学习-决策树算法 机器学习-集成算法 机器学习-SVM算法 文章目录 支持向量机 1. 间隔与支持向量 1.1. 点 ...

  9. 问答Goodfellow:没有样例能不能训练机器学习算法?

    李杉 编译整理 量子位 出品 | 公众号 QbitAI 从图像和语音识别到自然语言分析,神经网络已经在很多领域大展身手.过去几年,它们的精确度已经几乎可以与人类媲美.但仍有很多神经网络无法完成的任务- ...

最新文章

  1. Google联手Facebook 要在AI研究上搞什么大事?
  2. GAN做图像翻译的一点总结
  3. C# struct的陷阱:无法修改“...”的返回值,因为它不是变量
  4. JavaScript 压缩 加密 解密
  5. 简单 黑苹果dsdt教程_黑苹果笔记本:关于DSDT亮度表的分析与修改
  6. 统计词语出现次数python_Python实战教程:如何统计序列中元素的出现频度
  7. PostgreSQL使用函数实现merge功能
  8. SUBMIT的几种情况
  9. 路由器DNS根域名解析失败
  10. 河北化工医药职院美和易思软件技术专业“指舞飞扬”比赛圆满成功
  11. 华为云买网站买另外服务器,华为云网站在买其他服务器
  12. 修复YYC松鼠短视频系统搜索功能无法使用问题
  13. 相机对焦和调焦距的区别是什么 ?
  14. 纯前端下载excel数据(导出)
  15. HTB-Blocky
  16. (转)Linux下管道的原理
  17. matlab怎么处理声音,用matlab处理音频文件
  18. 家园系统服务器,1月13日服务器更新 调整家园系统帮盟系统
  19. Spark Standalone -- 独立集群模式、Spark 提交任务的两种模式、spark在yarn上运行的环境搭建、自己写的spark代码如何提交到yarn上并运行...
  20. Db2应用状态为uow waiting,但快照显示却在不停地Fetch

热门文章

  1. CodeFights Python 编程实训
  2. git 取消head的游离状态
  3. select 实现类似多线程_linux进程通信--socket套接字(四)--多路IO转实现一个server对应多个client...
  4. python enumerate_详解 Python 的 enumerate 函数
  5. mysql 表变量_在MySQL中创建表变量
  6. python _winreg 操作注册表
  7. java ab性能测试,服务器JAVA性能测试——SPECjbb2005
  8. sql like不包括_SQL Like – SQL不喜欢
  9. struts2自定义标签_Struts 2 –没有为动作和结果输入定义结果
  10. android浮动按钮_Android扩展浮动操作按钮