python计算相似矩阵
模糊数学课上完之后对使用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计算相似矩阵相关推荐
- 使用OpenCV和Python计算图像的“彩色度”
使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...
- Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例
Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录
- Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集
Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录
- Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?
Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录
- python计算特征的统计值并文本输出
python计算特征的统计值并文本输出 # 输出统计分位数 df.describe(percentiles=[0.05, 0.25, 0.5, 0.75, 0.95]) featname:A => ...
- python计算特征与目标的相关性并可视化
python计算特征与目标的相关性并可视化 pandas计算相关性 # 相关性 tips.corr() Out[2]: total_bill tip size total_bill 1.000000 ...
- python计算时间差
python计算时间差 # 使用datetime 和 timedelta import datetime old_time = datetime.datetime.now() print(old_ti ...
- python计算两个字典的相同点(从key、value、item角度)
python计算两个字典的相同点(从key.value.item角度) 字典是由一个一个的 key-value 构成的,key 是找到数据的关键,Python 对字典的操作都是通过 key 来完成的. ...
- python计算两个向量之间的欧氏距离
python计算两个向量之间的欧氏距离 代码: import numpy as np # 向量的值 feature_1 = np.array([1,2,3]) feature_2 = np.array ...
最新文章
- 什么是Singleton?
- python爬取资料_Python爬取FLASH播放器中的资料
- 使用SVN的hook将更新内容同步到测试环境
- [architecture]-ARMV8的一些总结-一篇就够了
- 预告 | CSIG图像图形学科前沿讲习班:图神经网络
- sql server创建数据库与相关查询操作
- redhat6.4 安装oracle 10g error
- String s = new String(xyz);创建了几个对象?
- bootstrap 简介
- 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界
- 基于JAVA+SpringMVC+Mybatis+MYSQL的企业客户管理系统
- Oozie自带MapReduce示例的运行
- PHP书写规范 匈牙利命名法+驼峰法命名
- 零知识证明 一文看懂 zkSNARK
- xp系统简单tcpip服务器,XP系统怎样安装TCP/IP协议
- vs2019键盘钩子_低级键盘钩子回调函数
- 2009年下半年 系统集成项目管理工程师 下午试卷
- protocal buffer repeate 关键字
- 201671030111 词频统计软件项目报告
- VINS-Mono 代码解析——视觉跟踪 feature_trackers
热门文章
- 浙江大学C语言线上开发环境,浙江大学“程序设计入门:C语言”刚刚开课随时报名...
- 高等数学-对无穷小无穷大的理解
- ThreeJS 动画之 Noisy Lines
- 使用Java对返回的结果,封装成指定JSON格式的数据类型
- 总结系列——聊聊android里面的事件分发
- JSP开发环境搭建(Tomcat的安装和配置)
- 云梦四时歌服务器维护,云梦四时歌 - 服务退换中心 - 腾讯游戏
- UC/OS的46个系统函数
- ORACLE - 求 某年 -某月/某周 最后一天日期
- 漫画:程序员的幸福指数是如何下降的?