• 样本集的简单封装

    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. ConcurrentHashMap 内部实现分析

    ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法.Concurrent ...

  2. 【34.88%】【codeforces 569C】Primes or Palindromes?

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

  3. RSA公钥、私钥、签名和验签

    1 RSA加密算法介绍 RSA又叫非对称加密算法,这类加密算法有一对秘钥,其中一个用来加密一个用来解密.这一对秘钥中你可以选择一个作为私钥(自己保存),另一个作为公钥(对外公开).用私钥加密的内容只能 ...

  4. 解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题

    原文:解决Centos7 下 root账号 远程连接FTP,vsftpd 提示 530 Login incorrect 问题 三步走: 1.vim /etc/vsftpd/user_list 注释掉 ...

  5. js进阶 11-3 jquery中css属性如何操作

    js进阶 11-3  jquery中css属性如何操作 一.总结 一句话总结:通过css()方法 1.attr和css是有交叉的,比如width,两者中都可以设置,那么他们的区别是什么? 其实通俗一点 ...

  6. js如何使用正则表达式验证电话号码(可选区号)和邮箱?(分步骤)

    js如何使用正则表达式验证电话号码(可选区号)和邮箱?(分步骤) 一.总结 js进阶正则表达式16电话号码和邮箱正则(分类解决邮箱验证)(分组加?解决电话号码区号选择问题)([\w\.-]中括号解决邮 ...

  7. 判断系统64位(使用GetNativeSystemInfo函数,XP时代就有这个函数了)

    判断系统64位 static bool IsWin64 (void) { SYSTEM_INFO si = {0}; typedef void (WINAPI *LPFN_PGNSI)(LPSYSTE ...

  8. Erlang 日期和时间处理、时间戳转换

    http://www.csdn 123.com/html/blogs/20131113/95993.htm 获取当前时间 erlang:now()得到的是从1970年1月1日零时起,到现在经过的时间, ...

  9. iOS 取消多余tableView的横线的写法

    - (void)setExtraCellLineHidden: (UITableView *)tableView{ UIView *view =[ [UIView alloc]init]; view. ...

  10. Java循环输出一个菱形与阶乘倒数

    package javafirst; public class HomeWork { public static void main(String[] args){ System.out.printl ...