随机森林

用随机森林分类

旧时模样 提交于 2019-11-26 18:18:14
分类方法有很多种,什么多分类逻辑回归,KNN,决策树,SVM,随机森林等, 比较好用的且比较好理解的还是随机森林,现在比较常见的有python和R的实现。原理就不解释了,废话不多说,show me the code import csv import numpy as np from sklearn.ensemble import RandomForestRegressor from sklearn import preprocessing from sklearn.utils import shuffle from sklearn.metrics import mean_squared_error, explained_variance_score def load_dataset(filename): file_reader = csv.reader(open(filename,'rt'), delimiter=',') X, y = [], [] for row in file_reader: X.append(row[0:4]) y.append(row[-1]) # Extract feature names feature_names = np.array(X[0]) return np.array(X[1:]).astype(np.float32),np.array

08 决策树与随机森林

China☆狼群 提交于 2019-11-25 23:40:02
08 决策树与随机森林 决策树之信息论基础 认识决策树 来源: 决策树的思想来源非常朴素,程序设计中的条件分支结构就是if - then 结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。 举例:是否见相亲对象 信息的度量和作用 克劳德 .艾尔伍德 .香农:信息论创始人,密西根大学学士,麻省理工学院博士。 1948年发表了划时代论文 - 通信的数学原理,奠定了现代信息论的基础。 信息的单位: 比特 (bit) 举例: 以32支球队争夺世界杯冠军 如果不知道任何球队的信息,每支球队得冠概率相等。 以二分法预测,最少需要使用5次才能预测到准确结果。 5 = log32 (以2为底) 5 = -(1/32log1/32 + 1/32log1/32 + ......) 开放一些信息,则小于5bit, 如1/6 德国,1/6 巴西, 1/10 中国 5 > -(1/6log1/4 + 1/6log1/4 + ....) 信息熵: “谁是世界杯冠军”的信息量应该比5 bit少, 它的准确信息量应该是: H = -(p1logp1 + p2logp2 + p3logp3 +......p32logp32 ) Pi 为第i支球队获胜的概率 H 的专业术语就是信息熵,单位为比特 决策树的划分以及案例 信息增益 定义: 特征A对训练数据集D的信息增益g(D,A), 定义为集合D的信息熵H