• 样本集的简单封装

    D = (numpy.random.randn(N, d), numpy.random.randint(low=0, high=2, size=(N, )))
    # D[0] ⇒ X
    # D[1] ⇒ y

1. One Hot Encoder 编码

  • One Hot Encoder 编码针对的是非数值型(numerical),而是类别型(categorical)特征;
  • One Hot Encoder 有时会带来维度的激增,而维度的激增会使得最终的识别结果存在过拟合的风险;
  • 一个现实的例子即是,比如对商店ID,这一属性,其取值有上千个,对其做One Hot Encoder,显然会带来维度的极大提升,一个解决方案即是:
    • 首先对这些商店进行聚类分析,将几千个商店ID,聚类为几十几百个商店种类;
    • 然后再进行 one hot encoder;

2. 样本间的距离矩阵

  • 样本(XN⋅d" role="presentation">XN⋅dXN⋅d)之间的距离矩阵

    N, d = X.shape
    X_square = np.sum(X*X, axis=1).reshape(N, 1)
    dist_mat = 2*X_square - 2*X.dot(X.T)
pj|i=exp⁡(−‖xi−xj‖2/2σi2)∑k≠iexp⁡(−‖xi−xk‖2/2σi2)" role="presentation">pj|i=exp(−∥xi−xj∥2/2σ2i)∑k≠iexp(−∥xi−xk∥2/2σ2i)pj|i=exp⁡(−‖xi−xj‖2/2σi2)∑k≠iexp⁡(−‖xi−xk‖2/2σi2)
def _joint_distribution_matrix(D, sigma):
P = np.exp(-D*D/2/sigma**2)
P /= np.sum(P, axis=1)
return P

机器学习实战 Tricks的更多相关文章

  1. 机器学习实战笔记(Python实现)-08-线性回归

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  2. 机器学习实战笔记(Python实现)-06-AdaBoost

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  3. 机器学习实战笔记(Python实现)-05-支持向量机(SVM)

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  4. 机器学习实战笔记(Python实现)-04-Logistic回归

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  5. 机器学习实战笔记(Python实现)-03-朴素贝叶斯

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  6. 机器学习实战笔记(Python实现)-01-K近邻算法(KNN)

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  7. 机器学习实战笔记(Python实现)-02-决策树

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  8. 机器学习实战笔记(Python实现)-00-readme

    近期学习机器学习,找到一本不错的教材<机器学习实战>.特此做这份学习笔记,以供日后翻阅. 机器学习算法分为有监督学习和无监督学习.这本书前两部分介绍的是有监督学习,第三部分介绍的是无监督学 ...

  9. 《机器学习实战》 code debug

    摘要:最近在看<机器学习实战>,在code的过程中总是会报一些小错误,所以发下debug过的地方:由于是跳着看的,所以只是其中一部分,希望之后能把这本书我遇见的全部错误都在此更正下. 内容 ...

随机推荐

  1. [Angular2] @Ngrx/store and @Ngrx/effects learning note

    Just sharing the learning experience related to @ngrx/store and @ngrx/effects. In my personal opinio ...

  2. Java内部抛出异常外部不能catch问题分析

    今天在论坛看到一篇关于异常处理的文章,异常处理机制详解开头就搬出了这样一个例子: public class TestException { public TestException() { } boo ...

  3. iOS开发runtime学习:一:runtime简介与runtime的消息机制

    一:runtime简介:也是面试必须会回答的部分 二:runtime的消息机制 #import "ViewController.h" #import <objc/messag ...

  4. ios开发多线程二:NSOperationQueue的基本使用

    #import "ViewController.h" #import "XMGOperation.h" @interface ViewController () ...

  5. java的对象锁和对象传递

    1.对象传递 在JAVA的參数传递中,有两种类型,第一种是基本类型传递,比如int,float,double等,这样的是值传递,第二种是对象传递,比方String或者自己定义的类,这样的是引用传递. ...

  6. Lucene学习总结之五:Lucene段合并(merge)过程分析 2014-06-25 14:20 537人阅读 评论(0) 收藏

    一.段合并过程总论 IndexWriter中与段合并有关的成员变量有: HashSet<SegmentInfo> mergingSegments = new HashSet<Segm ...

  7. js实现金额小写转大写

    function convertCurrency(currencyDigits) { var MAXIMUM_NUMBER = 1000000000000.00; var CN_ZERO = &quo ...

  8. 【47.95%】【codeforces 554C】Kyoya and Colored Balls

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. C#趣味程序---个位数为6,且能被3整出的五位数

    using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int ...

  10. Surf算法特征点检测与匹配

    Speeded Up Robust Features(SURF,加速稳健特征),是一种稳健的局部特征点检测和描述算法.最初由Herbert Bay发表在2006年的欧洲计算机视觉国际会议(Europe ...