学习笔记

11月22日: 重回10小时学习日常。竟然感觉有些吃力! 研究了一天kaggle入门竞赛,Titanic生存预测,对照别人的教程,一步步走下来,终于是走完了整个流程。其中花了非常多的时间在数据观察和特征工程上,以前学理论都是用准备好的数据集,今天是第一次进行特征工程,发现里面的学问真的不少,有...

2018-07-10 23:26:39

阅读数 68

评论数 3

【机器学习】word2vec(基于负采样的skip-Gram模型)—— python3 实现方案

import numpy as np from collections import Counter class Word2vec: def __init__(self, dim=100, learning_rata=0.01, window_size=5, neg=10): ...

2018-11-16 20:35:06

阅读数 315

评论数 0

【机器学习】CNN(简化模型)—— python3 实现方案

import numpy as np from scipy.io import loadmat class CNN: def __init__(self, layer1=2, learning_rate=0.1, iters=10000): self.layer1 =...

2018-11-13 11:04:24

阅读数 222

评论数 0

【机器学习】DNN(三层多元分类模型)—— python3 实现方案

根据西瓜书《神经网络》章节反向传播的推导过程写成。 书上推导了单样本的反向传播,本例实现了批量梯度下降,设置batch_size=1,就是单样本随机梯度下降。 有别于其他分类算法的标签集,神经网络要对标签进行独热编码,在制作测试数据时要注意这点。 本例使用sklearn生成的3000个3类别...

2018-11-10 18:43:02

阅读数 370

评论数 0

【机器学习】PCA(特征值降维和奇异值降维)—— python3 实现方案

推荐这篇博文https://blog.csdn.net/shizhixin/article/details/51181379 看了许多,这篇讲的更容易理解些,排版清晰,公式推导严谨。但纵观那么多文章,却没有提及怎么选择 维度“K”的,吴恩达的机器学习课程,提到用平方误差和 与 训练集的方差 的比...

2018-11-09 16:12:07

阅读数 121

评论数 0

【机器学习】GMM(一元高斯混合聚类)—— python3 实现方案

 看了很多博文,包括《统计学习知识》和西瓜书上对GMM算法的推导,总有些重要的步骤被略去(比如从公式一推到公式二,书上直接给出结果,却没有具体步骤),导致理解整个算法非常困难。后来幸运地发现一篇博文,使用了对我而言易于理解的语言,重要把整个推导过程疏通成功,最后在纸上手推了一遍,真是酣畅淋漓!算法...

2018-11-09 10:13:26

阅读数 64

评论数 0

【机器学习】K-均值聚类(及二分K-均值聚类算法)—— python3 实现方案

参考《机器学习实战》,实现K均值聚类和二分K均值聚类。 最后测试,对同一组数据,分别计算了两种算法的SSE(平方误差和),前者在150左右,后者在70左后。可见二分K-均值聚类的算法效果要好很多。 import numpy as np import pandas as pd class ...

2018-11-08 12:01:37

阅读数 73

评论数 0

【机器学习】KNN(线性扫描 )—— python3 实现方案

线性扫描KNN算法 。测试数据集为sklearn生成的随机分类数据集 import numpy as np from collections import Counter from sklearn import datasets class KNN: def __init__(se...

2018-11-07 22:17:02

阅读数 32

评论数 0

【机器学习】朴素贝叶斯(多分类版本)—— python3 实现方案

根据《统计学习方法》第四章朴素贝叶斯算法流程写成,引入贝叶斯估计(平滑处理)。 本例旨在疏通算法流程,理解算法思想,故简化复杂度,只考虑离散型数据集。如果要处理连续型数据,可以考虑将利用“桶”把连续型数据转换成离散型,或者假设连续型数据服从某分布,计算其概率密度来代替贝叶斯估计。 《机器学习实...

2018-11-07 20:07:26

阅读数 639

评论数 0

【机器学习】GBDT回归树(基于CART单层决策树)—— python3 实现方案

本例实现了GBDT以平方误差为损失函数的回归功能,目的在于疏通算法流程。至于其他损失函数,只需要修改叶子节点的计算公式即可。对算法主要框架影响不大。基学习器选择的是单层CART回归树,分类准则是方差最小化。 对于分类问题,同样也使用CART回归树,有别于回归问题的是,需要再添加一段将计算结果转换...

2018-11-06 22:17:05

阅读数 123

评论数 0

【机器学习】Adaboost(基于单层决策树,分类)—— python3 实现方案

有别于《机器学习实战》,按照《统计学习知识》关于Adaboost的讲解,先单独写了所有需要计算的值的函数,如gm,alpha,error等,最后再训练函数里组合起来,这样更易于算法的理解。测试数据是用sklearn生成的分类数据,可完美运行。 import numpy as np from s...

2018-11-06 15:19:17

阅读数 118

评论数 0

【机器学习】随机森林(基于CART分类树)—— python3 实现方案

以CART分类树为基学习器的随机森林. 实现了随机森林的主要思想,如选取k个特征,使用包外数据验证准确率,投票法确定预测类别等. 这次使用sklearn的鸢尾花数据集,得到非常不错的模型.供参考 import numpy as np from collections import Coun...

2018-11-05 20:42:17

阅读数 406

评论数 0

【机器学习】决策树(基于ID3,C4.5,CART分类回归树算法)—— python3 实现方案

内含3种算法的核心部分. 没有找到很好的测试数据. 但就理清算法思路来说问题不大 剪枝算法目前只实现了CART回归树的后剪枝. import numpy as np from collections import Counter from sklearn import datasets ...

2018-11-05 13:09:38

阅读数 296

评论数 0

【机器学习】SVM(基于SMO算法)—— python3 实现方案

在上个版本的基础上修订,改正了一些错误,优化了一些代码结构,修改了一些注释。 不厌其烦的详细注释,对入门来说还是挺友好的哈,欢迎指正! 测试数据是吴恩达机器学习课程svm章节的作业。 分别用高斯核函数与线性核函数进行测试,可以发现高斯核函数的稳定性和准确率明显较线性核函数好。 impor...

2018-11-04 10:47:24

阅读数 115

评论数 0

【机器学习】LR(逻辑分类&softmax分类)—— python3 实现方案

包含sigmoid和softmax模型,优化算法为批量梯度下降法 使用数据是吴恩达机器学习第二第三节的作业。 import numpy as np from sklearn import preprocessing from sklearn import datasets class L...

2018-11-02 13:44:47

阅读数 240

评论数 0

【机器学习】LR(线性回归)—— python3 实现方案

import numpy as np from sklearn import datasets class LinearRegression: def __init__(self, learning_rate=0.01, lamb=0.0001, iters=10000): ...

2018-11-01 13:18:02

阅读数 130

评论数 0

[leetcode]python3 算法攻略-二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 方案一:中序排序后,返回第K-1个值 class Solution(object): def kthSmallest...

2018-08-03 10:31:33

阅读数 397

评论数 0

[leetcode]python3 算法攻略-填充同一层的兄弟节点

填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 说明: 你只能使用额外常数空间。 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度...

2018-08-03 10:19:35

阅读数 143

评论数 0

[leetcode]python3 算法攻略-从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 方案一:参考了别人的,感觉有点问题 [3, 9, 20, 15, 7],  [9, 15, 3, 20, 7] class Solution(object): def buildTree(self, preorder, inorder):...

2018-08-01 10:36:44

阅读数 132

评论数 0

[leetcode]python3 算法攻略-二叉树的锯齿形层次遍历

给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 方案一:在层次遍历的基础上,添加一个变量用于判断当前层是奇数层还是偶数层 class Solution(object): def zigzagLevelOrder...

2018-08-01 09:37:06

阅读数 188

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭