机器学习之决策树和随机森林
一、回归实践代码知识点总结
sklearn常用库函数总结:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Lasso, Ridge
from sklearn.model_selection import GridSearchCV
代码解释总结:
np.set_printoptions(suppress=True),显示数字,默认是科学计数法,suppress=True表示不用科学计数法显示数据;
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=1)
网格搜索: GridSearchCV(model, param_grid={‘alpha’: alpha_can}, cv=5)
model_name.score(x_test, y_test)
二、决策树和随机森林
条件熵定义:H(X,Y) — H(X)
(X,Y)发生所包含的熵,减去X单独发生包含的熵:在X发生的前提下,Y发生”新“带来的熵;
该式子定义为X发生前提下,Y的熵:条件熵H(Y|X);
推导条件熵的定义式:
决策树定义
决策树是一种树型结构,其中每个内部节点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别;
决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一根熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类;
决策树特点
有监督学习;从一个无序、无规则的事物(概念)中推理出决策树表示的分类规则;最大优点是可以自学习;
决策树生成算法
生成关键是,当前状态下选择哪个属性作为分类依据,根据不同的目标函数,建立决策树主要有:ID3,C4,5,CART等算法;
信息增益:
相关符号
信息增益的计算方法:
经验条件熵:
信息增益率