机器学习实战错误校正(代码片段)

zhhy236400 zhhy236400     2023-01-12     739

关键词:

机器学习实战书中代码用python2实现,当使用python3时会出现一些错误,这些错误由语法不同或者代码不够完善引起,学习过程中修改如下,方便大家学习。

1、page40,majorityCnt中的iteritems()

(1)在Python2.x中,iteritems() 用于返回本身字典列表操作后的迭代器【Returns an iterator on all items(key/value pairs) 】,不占用额外的内存。
(2)在Python 3.x 里面,iteritems()方法已经废除了。在3.x里用 items()替换iteritems() ,可以用于 for 来循环遍历。
[https://blog.csdn.net/program_developer/article/details/78657908]

[https://blog.csdn.net/liukai2918/article/details/78307271]

 

2、page41,创建树的函数代码

def createTree(dataset,featureList): 

 参数featureList传进来后应该首先进行深拷贝出另一个list用来操作,按照书中的代码,featureList会被删除第一个特征,因为传递的是引用型,所以函数外部的featureList也会改变而且难以察觉,此处改为:

def createTree(dataset,featureList):    #数据集,特征列表,产生决策树,返回值是字典
    featureListCopy=featureList[:]

 函数内的featureList均改为featureListCopy。

 

3、page65,切分文本

regEx=re.compile(‘\W*‘)

 w表示数字字母下划线

W表示非数字非字母非下划线,即对w取反

*表示匹配0次、1次或者多次

运行后抛出警告:

FutureWarning: split() requires a non-empty pattern match.

原因:用W*匹配文本时表示非数字字母下划线任意次,也就是说0次也符合匹配要求,0次就是nothing

Your regular expression (‘\W*‘) is invalid - it means zero or more not word characters. Zero or more can be matched by "nothing", and if empty string is a match, where exactly do you expect splits will occur?

[https://stackoverflow.com/questions/37642284/futurewarning-split-requires-a-non-empty-pattern-match]

解决办法:把*改成+即可。

 

4、page66,range()

python3中的range()返回的是range类型,不是list类型,此处需要修改:

将:

trainingSet=rang(50)

改为:
trainingSet=list(range(50))

5、用于分类的邮件中ham文件夹下第23.txt文件的第二段中有个“?”会带来编码问题,删除即可。




《机器学习实战》-机器学习基础(代码片段)

目录机器学习基础什么是机器学习机器学习应用场景海量数据机器学习的重要性机器学习的基本术语监督学习和非监督学习监督学习:supervisedlearning非监督学习:unsupervisedlearning机器学习工具介绍Python非PythonNumPy函数库基础测试Nu... 查看详情

机器学习算法--svm实战

1、不平衡数据分类问题对于非平衡级分类超平面,使用不平衡SVC找出最优分类超平面,基本的思想是,我们先找到一个普通的分类超平面,自动进行校正,求出最优的分类超平面测试代码如下:importnumpyasnpimportmatplotlib.pyplotaspltf... 查看详情

机器学习实战|机器学习特征工程最全解读(代码片段)

本篇内容给大家详细讲解了特征工程的知识,包括数据清洗(数据对齐、缺失值处理、异常值处理),特征构建,特征变换,特征选择与实战特征工程经验等内容。作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/41本... 查看详情

机器学习实战之一---简单讲解决策树(代码片段)

机器学习实战之一---简单讲解决策树https://blog.csdn.net/class_brick/article/details/78855510 前言:本文基于《机器学习实战》一书,采用python语言,对于机器学习当中的常用算法进行说明。  一、综述定义:首先来对决策树进... 查看详情

机器学习实战教程:决策树实战篇(代码片段)

一、前言上篇文章机器学习实战教程(二):决策树基础篇_M_Q_T的博客-CSDN博客讲述了机器学习决策树的原理,以及如何选择最优特征作为分类特征。本篇文章将在此基础上进行介绍。主要包括:决策树构建决... 查看详情

机器学习实战第8章预测数值型数据:回归2(代码片段)

1. Shrinkage(缩减)Methods当特征比样本点还多时(n>m),输入的数据矩阵X不是满秩矩阵,在求解(XTX)-1时会出现错误。接下来主要介绍岭回归(ridgeregression)和前向逐步回归(FowardStagewiseRegression)两种方法。1.1 岭回归(... 查看详情

学习打卡07可解释机器学习笔记之shape+lime代码实战(代码片段)

可解释机器学习笔记之Shape+Lime代码实战文章目录可解释机器学习笔记之Shape+Lime代码实战基于Shapley值的可解释性分析使用Pytorch对MNIST分类可解释性分析使用shap的DeepExplainer进行可视化使用Pytorch对预训练ImageNet图像分类可解... 查看详情

学习打卡07可解释机器学习笔记之shape+lime代码实战(代码片段)

可解释机器学习笔记之Shape+Lime代码实战文章目录可解释机器学习笔记之Shape+Lime代码实战基于Shapley值的可解释性分析使用Pytorch对MNIST分类可解释性分析使用shap的DeepExplainer进行可视化使用Pytorch对预训练ImageNet图像分类可解... 查看详情

机器学习实战---k-近邻(代码片段)

一:简单实现K-近邻算法(一)导入数据importnumpyasnpimportmatplotlib.pyplotaspltimportpandasaspddefCreateDataSet():data=np.array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])labels=np.array([‘A‘,‘A‘,‘B‘,‘B‘])returndata,labelsda 查看详情

学习打卡05可解释机器学习笔记之cam+captum代码实战(代码片段)

可解释机器学习笔记之CAM+Captum代码实战文章目录可解释机器学习笔记之CAM+Captum代码实战代码实战介绍torch-cam工具包可视化CAM类激活热力图预训练ImageNet-1000图像分类-单张图像视频以及摄像头预测pytorch-grad-cam工具包Grad-CAM热... 查看详情

机器学习实战——分类(代码片段)

3.1MNIST数据集本章使用MNIST数据集(一组美国高中生和人口调查局员工有些的70000个数字的图片)。获取该数据集的代码如下:fromsklearn.datasetsimportfetch_openmlmnist=fetch_openml('mnist_784',version=1)print(mnist.keys( 查看详情

机器学习100天(十八):018逻辑回归python实战(代码片段)

机器学习100天,今天讲的是:逻辑回归Python实战。我们打开spyder。首先,导入标准库和数据集。#导入标准库importnumpyasnpimportmatplotlib.pyplotaspltimportpandasaspd#导入数据集dataset=pd.read_csv(\'data.csv\')X=dataset.iloc[:, 查看详情

机器学习100天(十八):018逻辑回归python实战(代码片段)

机器学习100天,今天讲的是:逻辑回归Python实战。我们打开spyder。首先,导入标准库和数据集。#导入标准库importnumpyasnpimportmatplotlib.pyplotaspltimportpandasaspd#导入数据集dataset=pd.read_csv(\'data.csv\')X=dataset.iloc[:, 查看详情

机器学习实战第五章logistic回归(代码片段)

defgradAscent(dataMatIn,classLabels):dataMatrix=mat(dataMatIn)#converttoNumPymatrixlabelMat=mat(classLabels).transpose()#converttoNumPymatrixm,n=shape(dataMatrix)alpha=0.001maxCycles=500weights=ones(( 查看详情

机器学习实战|xgboost建模应用详解(代码片段)

...。XGBoost是一个非常强大的Boosting算法工具包,是很多大厂机器学习方案的模型首选,在并行计算效率、缺失值处理、控制过拟合等能力上都表现非常优秀。作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tutorials/41本文地址:ht... 查看详情

《机器学习实战》问题记录(代码片段)

...于实验室研究方向变更,本文不再更新~ 本文是对《机器学习实战》进行学习时遇到问题记录。由于书中代码使用Python2.X,而本机使用Python3.X,导致运行时有部分程序出现错误。问题1:问题位置:3.2在Python中使用Matplotlib注解... 查看详情

机器学习实战读书笔记——端到端的机器学习项目(代码片段)

驱动任务:根据加州住房价格的数据集建立加州的房价模型数据集下载地址:https://pan.baidu.com/s/1it08eJ7a1ZGTTc7mHBZVzw?pwd=9n132.2设计系统典型的有监督学习任务,已经给出了标记的训练示例(每个实例都有预期的产... 查看详情

机器学习实战运用:速刷牛客5道机器学习题目(代码片段)

目录前言一、AI1 鸢尾花分类_1描述:解答:二、AI2 鸢尾花分类_2描述解答三、 AI3 决策树的生成与训练-信息熵的计算描述 解答 四、AI4 决策树的生成与训练-信息增益描述 解答:选择最优划分算法 五、AI5 使用... 查看详情