2019独角兽企业重金招聘Python工程师标准>>>

Random Forests builds various decision trees on bootstrap samples and random seleted features, prediction can be made by averaging

from __future__ import division
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifierdata = pd.read_csv('data/sonar.all-data.csv', header=None)
X = data[data.columns[:-1]].as_matrix()
y = data[data.columns[-1]].as_matrix()class myRandomForest:def fit(self, X, y, n_estimators, max_depth):self.learners = []for n in range(n_estimators):idx_data = np.random.choice(X.shape[0],X.shape[0],replace=True)idx_feat = np.random.choice(X.shape[1],int(np.sqrt(X.shape[1])),replace=False)X_sub = X[idx_data][:,idx_feat]y_sub = y[idx_data]clf = DecisionTreeClassifier(max_depth=max_depth)clf.fit(X_sub, y_sub)self.learners.append({'tree': clf,'idx_feat': idx_feat})def predict(self, X):ps = []for i in range(len(self.learners)):clf = self.learners[i]['tree']idx_feat = self.learners[i]['idx_feat']p = clf.predict(X[:, idx_feat])ps.append(p)ps = np.transpose(ps).tolist()return [ max(p, key=p.count) for p in ps]def score(self, X, y):return np.count_nonzero(self.predict(X) == y)/len(y)rf = myRandomForest()
rf.fit(X,y,50,3)
print 'score:', rf.score(X,y)
#score: 0.942307692308dt = DecisionTreeClassifier(max_depth=3)
dt.fit(X,y)
print 'decision tree score:', np.count_nonzero(dt.predict(X) == y)/len(y)
#decision tree score: 0.884615384615

转载于:https://my.oschina.net/airxiechao/blog/863499

2017年2月20日 Random Forest Classifier相关推荐

  1. 2017年含金量最高的机器学习技能或知识有哪些? 翻译 2017年10月20日 14:22:44 标签: 机器学习 / quora 7504 原文:As of 2017, what set of

    2017年含金量最高的机器学习技能或知识有哪些? 翻译 2017年10月20日 14:22:44 标签: 机器学习 / quora / 7504

  2. 乐视网CEO梁军:现在就是缺钱 正在重新学习做生意 2017年09月20日01:18 新京报 37 微博 微信 QQ空间 添加喜爱 乐视网CEO梁军。 新京报记者 吴江 摄乐视网CEO梁军。 新京

    乐视网CEO梁军:现在就是缺钱 正在重新学习做生意 2017年09月20日01:18 新京报 37微博微信QQ空间添加喜爱 乐视网CEO梁军. 新京报记者 吴江 摄 乐视网(15.330, 0.00, ...

  3. 天下布魔服务器维护,2017年4月20日服务器停机维护公告

    亲爱的<天下HD>玩家: 为保证各位玩家的游戏体验,本周<天下HD>将于2017年4月20日(周四)停机维护,维护时间为早上8:00-10:00,如果在维护期间无法完成维护相关 ...

  4. 2017年11月20日 第二次小组会议

    2017年11月20日 第二次小组会议,今晚七点半左右在图书馆进行了第二次小组会议,本次会议的主要内容是确定开发软件所需的各种工具及技能,同时也确定了我们开发中各项工作的进度安排以及第一周的基本分工. ...

  5. 2017年3月20日下午学习日志

    2017年3月20下午复习了高等数学,观看了张宇高等数学第十四讲教学视频高等数学部分第二讲如何进行系统的复习,学习了定理综述的9大定理如图,是考试必考的,必须认真对待的定理和公式,扇贝背今天的英语单词 ...

  6. 2017年2月20日 Adaboost

    2019独角兽企业重金招聘Python工程师标准>>> Adaboost linearly combines weak learners into a single strong l ...

  7. 难忘2017年5月20日的那次雪崩

    某业务某路径上的机器只有两台,业务高峰到来后,这两台机器出现了高负载, 缓冲区中请求堆积, 队列中的请求超时, 产生雪崩,至今仍然历历在目,永远无法忘记当时的窘迫. mark一下.

  8. 2016传智SSH框架CRM项目(5天)笔记(2017年5月20日22:11:15)

    5天视频,摘取了其中的一些笔记.笔记记得有点简略,但是把项目中的易错点都写出来了. 下面是笔记链接 链接:http://pan.baidu.com/s/1geQ9Tn1 密码:1eh8 或者: htt ...

  9. AI智商评测标准专家研讨会邀请,2018年12月20日北京

    21世纪以来,人工智能领域陆续爆发很多重要事件.其中最吸引人们眼球的,当属2016年战胜了人类围棋冠军并开始能够从0自我学习的AlphaGo. 10月26日,软银CEO孙正义在沙特阿拉伯举行的未来投资 ...

最新文章

  1. javascript中文网学习
  2. python图表之pygal入门篇
  3. HDU 6741 MUV LUV UNLIMITED (博弈论)
  4. JAVA 三种线程实现创建方式
  5. .NET六大剑客:栈、堆、值类型、引用类型、装箱和拆箱
  6. which oracle linux,(总结)Linux下Oracle11gR2的ORA-00845错误解决方法
  7. 知乎高赞:有哪些值得刻意练习的心态?
  8. 腾讯广告算法大赛 | 专家开小灶,独家解析Lookalike那些事儿
  9. Windows Server 2008域中组的简析
  10. Go Web框架 Gin路由(一)
  11. pycharm新建项目时选择virtualenv与existing interpreter
  12. 广东第一高中生_广东男篮签下全美第一高中生 NBA状元热门征战CBA
  13. 赛博朋克小建筑系列模型
  14. ISO3834认证所需的部分标准
  15. python安装教程(搬运工)
  16. Scrum立会报告+燃尽图(Beta阶段第二周第五次)
  17. verilog复习与vhdl入门
  18. ecshop php 5.4,ecshop在PHP 5.4以上版本各种错误问题处理
  19. ShareSDK 常见问题
  20. 全民一起玩python求分享_全民一起玩Python 基础篇+提高篇

热门文章

  1. 使用std::cout不能输出显示
  2. TypeScript--es5中的类,继承,静态方法
  3. python实战,教你用微信每天给女朋友说晚安
  4. 【317】python 指定浏览器打开网页 / 文件
  5. 区块链随想:共识不等于信用
  6. 大数据量生成工具源代码(Delphi)
  7. MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
  8. xen虚拟机克隆命令
  9. 生理性玻璃体混浊的分类与预防控制
  10. yarn界面杀死application