zoukankan      html  css  js  c++  java
  • 机器学习实战 Tricks

    • 样本集的简单封装

      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. 样本间的距离矩阵

    • 样本(XNd)之间的距离矩阵

      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(xixj2/2σi2)kiexp(xixk2/2σi2)

    def _joint_distribution_matrix(D, sigma):
        P = np.exp(-D*D/2/sigma**2)
        P /= np.sum(P, axis=1)
        return P
  • 相关阅读:
    Groovy入门教程
    ThreadLocal和线程同步机制对比
    交换排序—冒泡排序(Bubble Sort)
    JAVA 中BIO,NIO,AIO的理解
    java中四种阶乘的计算
    tcpdump http://www.cnblogs.com/daisin/articles/5512957.html
    strace 使用
    strace
    GDB调试
    cpu故障定位 top strace pstack
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422621.html
Copyright © 2011-2022 走看看