
书籍
文章平均质量分 61
憨宝宝
这个作者很懒,什么都没留下…
展开
-
徒手写代码之《机器学习实战》-----决策树算法(1)
花了一天多时间,终于弄明白了决策树的完整代码,整个构树过程明白了。感觉蛮开心,爽歪歪。下面写一下我的学习步骤,我们可以一起来~~1. 首先我们用函数自己创建一个数据集#创建数据集def creatDataSet(): dataSet = [[1,1,'yes'], [1,1,'yes'], [1,0,'no'], ...原创 2018-12-15 00:35:38 · 423 阅读 · 0 评论 -
徒手写代码之《机器学习实战》----PCA算法(1)(利用PCA对半导体制造数据降维)
利用 PCA 对半导体制造数据降维说明:将 secom.data 放在当前目录下。from numpy import *import numpy as npPCA 算法def pca(dataMat, topNfeat=9999999): #计算均值 meanVals = dataMat.mean(0) #去均值化,均值变为0 meanRemoved ...原创 2019-07-11 09:58:09 · 1779 阅读 · 1 评论 -
徒手写代码之《机器学习实战》-----线性回归算法(1)(预测鲍鱼的年龄)
实战这本书籍里线性回归算法讲了标准线性回归、局部加权线性回归、岭回归、LASSO回归、逐步前向回归。这几个回归的理论部分正在逐步梳理中,尽量本周内完成。预测鲍鱼年龄说明:将 abalone.txt 放在当前目录下。from numpy import *标准线性回归数据导入函数:def loadDataSet(fileName): #general function to...原创 2019-07-10 22:04:55 · 1361 阅读 · 1 评论 -
徒手写代码之《机器学习实战》---基本库(1)
最近在看《机器学习实战》这本书,先简单实现下基本的几个库吧markimport numpy as npimport pandas as pd import matplotlib.pyplot as plt#创建一个seriesdic={"水果":"apple","温度":"warm"}se原创 2018-12-03 01:26:06 · 294 阅读 · 0 评论 -
徒手写代码之《机器学习实战》----KNN算法(1)
最近是忙炸了抽空学习下K近邻算法,K近邻还有另一个名字,叫懒惰算法。因为它压根不用训练模型,直接上例子去预测。训练过程=测试过程优点 :精度高、对异常值不敏感、无数据输入假定。缺点 :计算复杂度高、空间复杂度高。适用数据范围:数值型和标称型。一、 先举个K-NN小例子二、 K-NN在约会网站配对使用实例#导入numpy库,operatorimport numpy as npimp...原创 2018-12-08 19:08:35 · 441 阅读 · 0 评论 -
徒手写代码之《机器学习实战》---朴素贝叶斯算法(1)
很久没写博客了,最近 忙着中期考核。补写一下朴素贝叶斯的代码部分,重点和难点在于计算条件概率。计算条件概率和类概率时,代码部分都使用了拉普拉斯平滑,主要是为了避免其它属性携带的信息被训练集中未出现的属性值“抹去”的现象。并且使用了对数的表示法代替直接计算若干个条件概率的乘积值,是因为如果连续的概率乘积会造成数值过小,python可能无法显示出来这样的数值。也叫做防止数值溢出。之所以对数表示法可行...原创 2019-01-15 15:59:29 · 399 阅读 · 0 评论 -
徒手写代码之《机器学习实战》---朴素贝叶斯算法(2)(代码更正)
之前的一篇手撕《机器学习实战》4—朴素贝叶斯算法,书中在计算先验概率和类条件概率时,把伯努利模型和多项式模型混用了,先验概率用伯努利模型而类条件概率用的既不是伯努利也不是多项式(有点像多项式模型)。在此,我把所有计算过程统一为运用伯努利模型。代码更正部分主要在以下两个函数中:def trainNB、def classifyNB使用朴素贝叶斯过滤垃圾邮件说明:将 email 文件夹放在当前目...原创 2019-05-20 01:40:15 · 410 阅读 · 0 评论 -
徒手写代码之《机器学习实战》----逻辑回归算法(1)(从疝气病症预测病马的死亡率项目)
从疝气病症预测病马的死亡率说明:将 horseColicTraining.txt 和 horseColicTest.txt 放在当前目录下。import numpy as npimport matplotlib.pyplot as plt定义 Sigmoid 函数def sigmoid(inX): return 1.0 / (1 + np.exp(-inX))定义一般的梯...原创 2019-05-26 16:39:30 · 772 阅读 · 1 评论 -
徒手写代码之《机器学习实战》----KNN算法(3)(手写识别系统项目)
手写识别系统说明:将数据集文件 ‘digits.zip’ 解压至当前文件夹定义将图像转换为向量函数# 导入程序所需要的模块import numpy as npimport operatorfrom os import listdir# 将32*32的二进制图像矩阵转换为1*1024向量def img2vector(filename): # 存储图片像素的向量维度是1x1...原创 2019-05-27 15:27:03 · 356 阅读 · 0 评论 -
徒手写代码之《机器学习实战》-----决策树算法(2)(使用决策树预测隐形眼镜类型)
使用决策树预测隐形眼镜类型说明:将数据集文件 ‘lenses.txt’ 放在当前文件夹from math import logimport operator熵的定义"""这部分是在用代码计算香农熵公式,即用代码写公式并计算结果"""def calcShannonEnt(dataSet): #数据集行数 numEntries = len(dataSet) ...原创 2019-05-27 15:27:31 · 530 阅读 · 0 评论 -
徒手写代码之《机器学习实战》---adaboost算法(2) (在一个较难数据集上应用AdaBoost)
在一个难数据集上应用 AdaBoost此较难数据即逻辑回归算法中从疝气病症预测病马的数据说明:将 horseColicTraining2.txt 和 horseColicTest2.txt 放在当前目录下。from numpy import *单层决策树生成的函数""" 单层决策树分类函数 Parameters: dataMatrix - 数据矩阵 ...原创 2019-06-21 19:06:02 · 1137 阅读 · 1 评论 -
徒手写代码之《机器学习实战》-----树回归算法(1)(普通回归树与模型回归树的比较)
个人觉得线性回归和树回归问题,都比想象中要复杂,值得探索。树回归的理论部分不难,不过徒手写树回归算法倒是需要琢磨。另: 线性回归和树回归的理论部分在整理中普通回归树与模型回归树的比较说明:将 bikeSpeedVsIq_train.txt 和 bikeSpeedVsIq_test.txt 放在当前目录下。from numpy import *import matplotlib.pypl...原创 2019-07-10 21:06:08 · 486 阅读 · 1 评论 -
徒手写代码之《机器学习实战》----KNN算法(2)(约会网站配对项目)
使用 k 近邻算法改进网站的配对效果说明:将数据集文件 ‘datingTestSet2.txt’ 放在当前文件夹# 导入程序所需要的模块import numpy as npimport operator定义数据集导入函数file2matrix函数实现的功能是读取文件数据,函数返回的returnMat和classLabelVector分别是数据集的特征矩阵和输出标签向量。de...原创 2019-05-27 15:26:43 · 281 阅读 · 0 评论 -
徒手写代码之《机器学习实战》---adaboost算法(1)
adaboost理论部分(公式)后期补充1.创建数据集"""此处不构建太复杂的数据集,不然可能后面用单层决策树时候,效果不好。因为用任何一个单层决策树都无法完全分开这五个数据"""import numpy as npdef loadSimpData(): datMat = np.matrix([[1,2.1],[2,1.1],[1.3,1],[1,1],[2,1]]) ...原创 2019-01-21 19:50:48 · 576 阅读 · 0 评论 -
徒手写代码之《机器学习实战》----K均值算法(1)(对地理坐标进行聚类)
对地理坐标进行聚类说明:将 places.txt 和 Portland.png 放在当前目录下。from numpy import *K-均值聚类支持函数"""1.选择聚类的个数,k。例如k=32.生成k个聚类中心点3.计算所有样本点到聚类中心点的距离,根据远近聚类。4.更新质心,迭代聚类。5.重复第4步骤直到满足收敛要求。(通常就是确定的质心点不再改变)创建 k 个...原创 2019-07-22 19:30:53 · 1109 阅读 · 0 评论