zoukankan      html  css  js  c++  java
  • matlab实现协同过滤之pdist、squareform

    实现协同过滤算法的第一步是:计算用户或项目之间的相似度。接下来介绍pdist和squareform

    用法:

    D = pdist(X)
    D = pdist(X,distance)
     
    D = pdist(X)计算 X 中各对行向量的相互距离(X是一个m-by-n的矩阵). 这里 D 要特别注意,D 是一个长为m(m–1)/2的行向量.可以这样理解 D 的生成:首先生成一个 X 的距离方阵,由于该方阵是对称的,且对角线上的元素为0,所以取此方阵的下三角元素,按照Matlab中矩阵的按列存储原则,此下三角各元素的索引排列即为(2,1), (3,1), ..., (m,1), (3,2), ..., (m,2), ..., (m,m–1).
     
    D = pdist(X,distance) 使用指定的距离.distance可以取下面圆括号中的值.在该算法中用到以下三种距离:
    夹角余弦距离Cosine distance('cosine')
    改进夹角余弦距离Adjust Cosine distance('adjustedcosine')
    相关距离Correlation distance('correlation')
     
    接下来命令 squareform(D) 将此行向量转换为原距离方阵.(squareform函数是专门干这事的,其逆变换是也是squareform。)
     
     
     
     
     
     
    pdist其他距离参数:
    欧几里德距离Euclidean distance('euclidean')
     
    标准欧几里德距离Standardized Euclidean distance('seuclidean')
     
    马哈拉诺比斯距离Mahalanobis distance('mahalanobis')
     
    曼哈顿距离(城市区块距离)City block metric('cityblock')
     
    闵可夫斯基距离Minkowski metric('minkowski')
     
    切比雪夫距离Chebychev distance('chebychev')
     
    夹角余弦距离Cosine distance('cosine')
     
    改进夹角余弦距离Adjust Cosine distance('adjustedcosine')
     
    相关距离Correlation distance('correlation')
     
    汉明距离Hamming distance('hamming')
     
    杰卡德距离Jaccard distance('jaccard')
  • 相关阅读:
    javascript的基本语法
    javascript的初步认识
    就诊管理(数据结构小学期)
    软件工程课程总结
    每日学习(个人作业2)
    每日学习(个人作业2)
    每日学习(个人作业2)
    每日学习(个人作业2)
    Java中后端Bigdecimal传值到前端精度丢失问题
    这学期的加分项
  • 原文地址:https://www.cnblogs.com/girl-he/p/5220940.html
Copyright © 2011-2022 走看看