决策树的Python代码分析(二)
2015-06-09 16:37
477 查看
参考《机器学习实战》
参数:待划分的数据集、划分数据集的特征、划分数据集的特征的对应值
学习的地方:
1.函数传递的是列表的引用,所以需要新建一个列表,以防对原列表进行修改
2.列表的分片,代码的第五、六行将对原数据除去axis这个特征
3.列表方法的extend和append的区别
其中featVec[:axis] 返回的是一个列表,其元素是featVec这个列表的索引从0到axis - 1的元素,
也就是不包括axis这个索引上的值,若axis为0,则返回空列表
其中featVec[axis + 1: ]返回的是一个列表,其元素是featVec这个列表的索引从axis + 1开始的所有元素
方法extend和append的区别:
例子:
>>>a = [1, 2, 4]
>>>b = [5, 6, 7]
>>>a.extend(b)
[1, 2, 4, 5, 6, 7]
>>>a = [1, 2, 4]
>>>a.append(b)
[1, 2, 4, [5, 6, 7]]
<span style="font-family:SimSun;font-size:18px;">1.def splitDataSet(dataSet, axis, value): 2. retDataSet = [] 3. for featVec in dataSet: 4. if featVec[axis] == value: 5. reducedFeatVec = featVec[:axis] 6. reducedFeatVec.extend(featVec[axis + 1:]) 7. retDataSet.append(reducedFeatVec) 8. return retDataSet</span>
参数:待划分的数据集、划分数据集的特征、划分数据集的特征的对应值
学习的地方:
1.函数传递的是列表的引用,所以需要新建一个列表,以防对原列表进行修改
2.列表的分片,代码的第五、六行将对原数据除去axis这个特征
3.列表方法的extend和append的区别
其中featVec[:axis] 返回的是一个列表,其元素是featVec这个列表的索引从0到axis - 1的元素,
也就是不包括axis这个索引上的值,若axis为0,则返回空列表
其中featVec[axis + 1: ]返回的是一个列表,其元素是featVec这个列表的索引从axis + 1开始的所有元素
方法extend和append的区别:
例子:
>>>a = [1, 2, 4]
>>>b = [5, 6, 7]
>>>a.extend(b)
[1, 2, 4, 5, 6, 7]
>>>a = [1, 2, 4]
>>>a.append(b)
[1, 2, 4, [5, 6, 7]]
相关文章推荐
- 很多Python新手教程
- Python md5 sha1 的使用
- caffe python 接口使用
- Python_Scrapy_0. 前言
- windows下python的自动截图功能
- Python入门教程--字符串(三)
- windows下python 自动截图功能
- 大数据分析与机器学习领域Python兵器谱
- Json概述以及python对json的相关操作
- 决策树的Python代码分析(一)
- 笔试 - 高德软件有限公司python问题 和 答案
- python路上的陷阱及调试
- python igraph whl文件的安装
- python json string和dict的转化
- 在win7(32)以及xp上python环境的搭建
- python学习之旅(一)-----字典
- python win7(64位)环境配置以及相关工具包的安装
- Python--模块
- python 遍历删除日志
- python-GUI的几个模块