模糊数学课上完之后对使用python中的sklearn计算矩阵各个元素的相似度有了一些感悟。

首先需要强调的是python中对于矩阵的计算尽量不要在DataFrame中,效率非常低。应该使用numpy。


1 预处理
  • 常用1:MinMaxScaler
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics.pairwise import pairwise_distances
from sklearn.metrics.pairwise import cosine_similarity>>> matrix= np.array([[ 1., -1.,  2.],
...                     [ 2.,  0.,  0.],
...                     [ 0.,  1., -1.]])
...>>> min_max_scaler = preprocessing.MinMaxScaler()
>>> matrix_minmax = min_max_scaler.fit_transform(matrix)
>>> matrix_minmax
array([[ 0.5       ,  0.        ,  1.        ],[ 1.        ,  0.5       ,  0.33333333],[ 0.        ,  1.        ,  0.        ]])
  • 常用2:StandardScaler
    把上面的MinMaxScaler换成StandardScaler就ok。

其他方法这里都有写


2 计算相似度矩阵

计算相似度矩阵的方法有很多种,发现了sklearn中直接有通过计算余弦相似度得到相似度矩阵的方法
1 sklearn.metrics.pairwise.cosine_similarity
2 sklearn.metrics.pairwise.pairwise_distances

>>> from sklearn.metrics.pairwise import cosine_similarity
>>> from sklearn.metrics.pairwise import pairwise_distances>>> a=[[1,3],[2,2]]
>>> cosine_similarity(a)
array([[ 1.        ,  0.89442719],[ 0.89442719,  1.        ]])>>> pairwise_distances(a,metric="cosine")
array([[ 0.        ,  0.10557281],[ 0.10557281,  0.        ]])

pairwise_distances方法是 cosine_similarity减1后取绝对值得到的。

python计算相似矩阵相关推荐

  1. 使用OpenCV和Python计算图像的“彩色度”

    使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...

  2. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例

    Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录

  3. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集

    Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录

  4. Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?

    Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录

  5. python计算特征的统计值并文本输出

    python计算特征的统计值并文本输出 # 输出统计分位数 df.describe(percentiles=[0.05, 0.25, 0.5, 0.75, 0.95]) featname:A => ...

  6. python计算特征与目标的相关性并可视化

    python计算特征与目标的相关性并可视化 pandas计算相关性 # 相关性 tips.corr() Out[2]: total_bill tip size total_bill 1.000000 ...

  7. python计算时间差

    python计算时间差 # 使用datetime 和 timedelta import datetime old_time = datetime.datetime.now() print(old_ti ...

  8. python计算两个字典的相同点(从key、value、item角度)

    python计算两个字典的相同点(从key.value.item角度) 字典是由一个一个的 key-value 构成的,key 是找到数据的关键,Python 对字典的操作都是通过 key 来完成的. ...

  9. python计算两个向量之间的欧氏距离

    python计算两个向量之间的欧氏距离 代码: import numpy as np # 向量的值 feature_1 = np.array([1,2,3]) feature_2 = np.array ...

最新文章

  1. 什么是Singleton?
  2. python爬取资料_Python爬取FLASH播放器中的资料
  3. 使用SVN的hook将更新内容同步到测试环境
  4. [architecture]-ARMV8的一些总结-一篇就够了
  5. 预告 | CSIG图像图形学科前沿讲习班:图神经网络
  6. sql server创建数据库与相关查询操作
  7. redhat6.4 安装oracle 10g error
  8. String s = new String(xyz);创建了几个对象?
  9. bootstrap 简介
  10. 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的企业客户管理系统
  12. Oozie自带MapReduce示例的运行
  13. PHP书写规范 匈牙利命名法+驼峰法命名
  14. 零知识证明 一文看懂 zkSNARK
  15. xp系统简单tcpip服务器,XP系统怎样安装TCP/IP协议
  16. vs2019键盘钩子_低级键盘钩子回调函数
  17. 2009年下半年 系统集成项目管理工程师 下午试卷
  18. protocal buffer repeate 关键字
  19. 201671030111 词频统计软件项目报告
  20. VINS-Mono 代码解析——视觉跟踪 feature_trackers

热门文章

  1. 浙江大学C语言线上开发环境,浙江大学“程序设计入门:C语言”刚刚开课随时报名...
  2. 高等数学-对无穷小无穷大的理解
  3. ThreeJS 动画之 Noisy Lines
  4. 使用Java对返回的结果,封装成指定JSON格式的数据类型
  5. 总结系列——聊聊android里面的事件分发
  6. JSP开发环境搭建(Tomcat的安装和配置)
  7. 云梦四时歌服务器维护,云梦四时歌 - 服务退换中心 - 腾讯游戏
  8. UC/OS的46个系统函数
  9. ORACLE - 求 某年 -某月/某周 最后一天日期
  10. 漫画:程序员的幸福指数是如何下降的?