11 2021 档案

numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U1'), dtype('float64')) -> None
摘要:在机器学习实战的Logistic回归梯度上升优化算法中遇到了这个问题 numpy.core._exceptions.UFuncTypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype 阅读全文

posted @ 2021-11-29 21:30 lpzju 阅读(4742) 评论(0) 推荐(0) 编辑

python牛顿法求一元多次函数极值
摘要:现在用牛顿法来实现一元函数求极值问题 首先给出这样一个问题,如果有这么一个函数$f(x) = x^6+x$,那么如何求这个函数的极值点 先在jupyter上简单画个图形 %matplotlib inline import numpy as np x = np.linspace(-1.3,1.3,10 阅读全文

posted @ 2021-11-29 20:27 lpzju 阅读(813) 评论(0) 推荐(0) 编辑

python二分法、牛顿法求根
摘要:二分法求根 思路:对于一个连续函数,左值f(a)*右值f(b)如果<0,那么在这个区间内[a,b]必存在一个c使得f(c)=0 那么思路便是取中间点,分成两段区间,然后对这两段区间分别再比较,跳出比较的判断便是精确度 # 二分法求根 # 函数为exp(x)*lnx - x**2 import mat 阅读全文

posted @ 2021-11-29 16:14 lpzju 阅读(897) 评论(0) 推荐(0) 编辑

Python-100-Days-master
摘要:跟着python100学习一下 100以内的素数 # 输出100以内的所有素数 # 想法:从1到100遍历,假设得到了i=17,那么此时从1到9遍历,如果找到了一个数用17能除尽则跳出循环 # 如果找不到这个数,那么把i输出为素数 for i in range(2,100): flag = True 阅读全文

posted @ 2021-11-28 20:30 lpzju 阅读(279) 评论(0) 推荐(0) 编辑

Python-100-Days-master-第二周笔记
摘要:python100day学习第二周 # 通过enumerate函数处理列表之后再遍历可以同时获得元素索引和值 list1 = [1, 3, 5, 7, 100] for index, elem in enumerate(list1): print(index, elem) 文件后缀名 #返回一个文件 阅读全文

posted @ 2021-11-28 20:28 lpzju 阅读(113) 评论(0) 推荐(0) 编辑

贝叶斯-垃圾邮件
摘要:开始一点点写贝叶斯过滤垃圾邮件 之前写的,没注意把文件名对应上,可能会有些不清楚导包 代码都会上传到github 首先写代码之前好好看一下西瓜书和机器学习实战里面关于贝叶斯理论的介绍$p(c|x) = \frac{p(x|c)p(c)}{p(x)}$ 在这里有:后验概率=先验概率*调查因子 分别解释 阅读全文

posted @ 2021-11-25 20:04 lpzju 阅读(39) 评论(0) 推荐(0) 编辑

决策树-程序清单3-7
摘要:项目将会全部上传至https://github.com/lpzju/machine-learning-in-action-python3 因在自己实践过程中,是拆分成一个一个文件并自己实现,所以可能会出现导包错误问题,文件可在git链接找到,也会尽量把用到的文件先放出 对于程序清单3-7,花了快1天 阅读全文

posted @ 2021-11-23 09:16 lpzju 阅读(49) 评论(0) 推荐(0) 编辑

决策树-获得叶节点的数目和树的层数
摘要:现在我们要获取叶节点和深度,以便后面画图 对于叶节点,思路如下 {'no surfacing':{0:'no',1:{'flippers':{0:'no',1:'yes'}}}} 对于这样的字典,我们先得到根节点 然后得到根节点下面的字典 这个字典可能是空的,对这个字典进行遍历,如果里面有字典则遍历 阅读全文

posted @ 2021-11-22 11:34 lpzju 阅读(648) 评论(0) 推荐(0) 编辑

numpy学习Ⅱ
摘要:今天有空再把numpy看一下,补充点不会的,再去看matplotlib 回顾之前笔记,发现之前的numpy学习Ⅰ中关于numpy的行、列、维可能表述有点不清晰,这里再叙述一下 import numpy as np c = np.array([[[1,2],[1,2]],[[1,2],[0,0]],[ 阅读全文

posted @ 2021-11-21 21:26 lpzju 阅读(55) 评论(0) 推荐(0) 编辑

决策树-绘制树结点
摘要:绘制结点 下面代码大部分都有注释,这里讲解一下思路: 最后我们要将生成的字典画出树的样子出来,那我们要对根节点和叶子结点有不同表示 这里定义了两个函数,一个用于生成结点,一个用于对结点的注释 import matplotlib.pyplot as plt # boxstyle是文本框类型 fc是边框 阅读全文

posted @ 2021-11-19 21:45 lpzju 阅读(189) 评论(0) 推荐(0) 编辑

决策树-更新
摘要:对代码进行了优化更新 # 打算重头好好再写写这个 from math import log # 数据集 dataSet = [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']] # 属性 labelSet = 阅读全文

posted @ 2021-11-18 22:54 lpzju 阅读(58) 评论(0) 推荐(0) 编辑

决策树-栽树
摘要:现在来到了比较难的部分,将ID3的算法实现 这里如果跟着书敲一遍也能敲出来,但可能没办法很好地理解,以及自己去实现 由于本人基础缺失很差,故先自己敲了好几遍,然后再看西瓜书的图4-2.一点点明白 流程: 既然是栽树,首先得从根结点出发 如果此时样本都是同一属性,那么直接标记为相同结点,并且返回,一开 阅读全文

posted @ 2021-11-18 21:54 lpzju 阅读(30) 评论(0) 推荐(0) 编辑

决策树-属性选择2
摘要:接上文,如果到了叶子结点,但是类标签不是唯一的,那么需要再进行处理一下 # 这里的代码作用是,如果到了叶子结点,但是还是不能区分 # 比如图3-2上面叶子结点要么都是yes要么都是no,但如果叶子结点上面是yes、yes、no,我们需要一个函数 # 来把这个叶子结点标记为yes,这就是majorit 阅读全文

posted @ 2021-11-18 11:02 lpzju 阅读(26) 评论(0) 推荐(0) 编辑

决策树-属性选择
摘要:现在,我们要做的是进行属性(或者说特征)的选择 光看程序清单3-2,以及把数组带进去运行一遍可能也有点不清晰,最好先看一下西瓜书 然后意思是传进去一个数据集,对于某一列(axis=0表示第1列),如果为0(value=0),那么保留这一行但是不要这个属性对应的值 import shannonEnt 阅读全文

posted @ 2021-11-18 10:59 lpzju 阅读(152) 评论(0) 推荐(0) 编辑

决策树-信息增益
摘要:首先计算Ent,这里最好看一下西瓜书的P75页,结合着来学习 我们首先要计算信息熵Ent,然后再计算信息增益Gain from math import log # 数据集 dataSet = [[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'n 阅读全文

posted @ 2021-11-17 19:34 lpzju 阅读(113) 评论(0) 推荐(0) 编辑

kNN-识别手写数字
摘要:最后,我们要进行手写数字分类任务,但是现在我们是用kNN算法,可能会比较慢 首先,完整地看完2.3.1和2.3.2的内容,然后找到trainingDigits和testDigits文件夹,大致浏览下 那么思路应该是: 从文件夹中获取文件名,,并且文件名中包含了标记,再分别打开每个文件 对打开的每个文 阅读全文

posted @ 2021-11-17 11:42 lpzju 阅读(81) 评论(0) 推荐(0) 编辑

kNN-预测
摘要:现在进行第五步,对数据进行预测 那么要做的的是从数据集里面拿出一部分作为要预测的,剩下的去比较,书上使用的是10% # 对之前做好的kNN算法进行预测 # 首先获取之前构造好的kNN分类器、数据、规则化之后的数据 import kNN import norm # 倒完包之后先别急,目的是从规则化的数 阅读全文

posted @ 2021-11-16 23:27 lpzju 阅读(278) 评论(0) 推荐(0) 编辑

kNN-画图
摘要:现在我们想要展示一些可视化内容 首先导包,如果是在jupyter notebook上,需要加入魔法函数:%matplotlib inline,这表示可以在jupyter上直接画图 import datingTest import matplotlib.pyplot as plt import num 阅读全文

posted @ 2021-11-16 23:26 lpzju 阅读(74) 评论(0) 推荐(0) 编辑

numpy学习笔记Ⅰ
摘要:一直被numpy和matplotlib困扰,打算好好学习一下,也是从自己的观点,学对自己帮助最大的部分 主要参考<https: www.runoob.com="" numpy="" numpy-advanced-indexing.html=""> Numpy numpy主要用于多维数组和矩阵,与ma 阅读全文

posted @ 2021-11-16 10:14 lpzju 阅读(49) 评论(0) 推荐(0) 编辑

kNN-准备数据
摘要:在上一小节,我们大概了解了kNN算法的基本原理,现在我们要进行数据的处理 本小节所用数据集来自[机器学习实战]:Machine Learning in Action (manning.com) 下载数据集后,将datingTestSet2.txt和datingTestSet放在本程序同一文件夹下 首 阅读全文

posted @ 2021-11-15 10:45 lpzju 阅读(125) 评论(0) 推荐(0) 编辑

机器学习实战-k近邻算法
摘要:写在开头,打算耐心啃完机器学习实战这本书,所用版本为2013年6月第1版 在P19页的实施kNN算法时,有很多地方不懂,遂仔细研究,记录如下: 字典按值进行排序 首先仔细读完kNN算法之后,了解其是用距离来进行判别 程序清单2-1看不太明白,于是把具体的inX,dataSet,labels,k带进去 阅读全文

posted @ 2021-11-12 16:32 lpzju 阅读(29) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示