基于MDS的波士顿房价数据集降维

2024-06-12 06:04

本文主要是介绍基于MDS的波士顿房价数据集降维,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 作者介绍
  • 2. 多维尺度分析(Multi-Dimensional Scaling, MDS)介绍
    • 2.1 MDS介绍
    • 2.2 MDS的类别
      • 2.2.1度量MDS
      • 2.2.2非度量MDS
    • 2.3 目标函数
    • 2.4 MDS降维计算步骤
      • 2.4.1计算流程
      • 2.4.2 算法示例
  • 3.实验过程
    • 3.1数据集介绍
    • 3.2算法思路
    • 3.3算法评价
    • 3.4与其他降维算法相比
      • 3.4.1主成分分析
      • 3.4.2 t-SNE
    • 3.5代码实现
      • 3.5.1二维可视化代码
      • 3.5.2三维可视化代码
    • 3.6实验结果
  • 4. 参考连接


1. 作者介绍

黄雨浩,男,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与人工智能
电子邮件:1986506577@qq.com

孙思伟,男,西安工程大学电子信息学院,2023级研究生,张宏伟人工智能课题组
研究方向:深度强化学习与人工智能
电子邮件:sunsiwei0109@163.com

2. 多维尺度分析(Multi-Dimensional Scaling, MDS)介绍

2.1 MDS介绍

多维尺度分析(Multi-Dimensional Scaling, MDS)是一种统计学方法,用于将复杂、高维的相似性或距离数据转化为直观的、低维的可视化表示。它是通过保持原始数据中对象间距离关系的近似,将数据映射到一个较低维度的空间中,使得这些对象在新空间中的位置关系能够反映出原始数据中的相似性或距离。本质上是通过优化目标函数来实现高维到低维的映射

2.2 MDS的类别

2.2.1度量MDS

具体来说假设原始数据中的相似性或距离度量满足三角不等式,即对于任何三个对象i、j、k,有 dik ≤dij+djk。在这种情况下,MDS可以通过经典线性代数方法(如奇异值分解SVD)来求解。

2.2.2非度量MDS

不假设原始数据满足度量性质,而是通过秩次排序来表示对象间的相对相似性或距离。非度量MDS通常采用迭代优化算法(如SMACOF算法)来逼近最优解。

2.3 目标函数

目标函数通常包含两个部分:一是保持原始数据中对象间距离的近似度(stress函数),二是映射到低维空间的约束条件。具体来说,MDS试图找到一个低维空间中的点阵P,使得P中各点之间的距离与原始数据中对应对象间的相似性或距离度量尽可能接近。优化过程通常涉及最小化以下形式的目标函数:

在这里插入图片描述
dij表示原始数据中对象i和j之间的相似性或距离度量,pi,pj分别为它们在低维空间中的坐标向量。通过最小化stress函数S§,MDS力求在低维空间中保持原始数据的距离结构。

2.4 MDS降维计算步骤

2.4.1计算流程

在这里插入图片描述

2.4.2 算法示例

假设有5种水果:苹果(A)、香蕉(B)、橙子(C)、葡萄(D)和菠萝(E)。对这些水果进行了甜度(Sweetness)、酸度(Sourness)和多汁程度(Juiciness)的评分。
在这里插入图片描述
第一步:计算距离
使用欧式距离计算

A-B: 4.69
A-C: 3.74
A-D: 2.45
A-E: 3.32
B-C: 6.56
B-D: 3.32
B-E: 6.56
C-D: 5.29
C-E: 2.45
D-E: 5.29

在这里插入图片描述
第二步:构建距离矩阵
在这里插入图片描述
第三步:中心化距离矩阵
计算中心化矩阵H,数据点的数量n为5

在这里插入图片描述
第五步:计算特征值和特征向量
在这里插入图片描述
第六步:计算降维后坐标
构建特征向量矩阵V和特征值矩阵Λ的平方根;然后,我们计算降维后的坐标:新坐标 = A * A^(1/2)
在这里插入图片描述
最后完成降维

在这里插入图片描述

3.实验过程

3.1数据集介绍

Boston数据集是一个经典的回归分析数据集,包含了美国波士顿地区的房价数据以及相关的属性信息。该数据集共有506个样本,14个属性,其中包括13个特征变量和1个目标变量(房价中位数)。

序号英文中文
1CRIM per capita crime rate by town城镇人均犯罪率
2ZN proportion of residential land zoned for lots over 25,000 sq.ft.住宅用地所占比例,25000英尺
3INDUS proportion of non-retail business acres per town城镇中非商业用地的所占比例
4CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)CHAS查尔斯河虚拟变量,用于回归分析
5NOX nitric oxides concentration (parts per 10 million)环保指标
6RM average number of rooms per dwelling每栋住宅的房间数
7AGE proportion of owner-occupied units built prior to 19401940年以前建成的自住单位的比例
8DIS weighted distances to five Boston employment centres距离五个波士顿就业中心的加权距离
9RAD index of accessibility to radial highways距离高速公路的便利指数
10TAX full-value property-tax rate per $10,000每一万美元的不动产税率
11PTRATIO pupil-teacher ratio by town城镇中教师学生比例
12B 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town城镇中黑人的比例
13LSTAT % lower status of the population地区有多少百分比的房东属于低收入阶层
14MEDV Median value of owner-occupied homes in $1000’s自住房屋房价的中位数
表1 数据集包含属性

3.2算法思路

在这里插入图片描述

图3 MDS降维步骤

3.3算法评价

优点:
直观可视化:MDS能够将高维数据映射到二维或三维空间,便于直观地观察数据分布和结构。
保持距离关系:MDS在低维空间中尽可能保留了原始数据的距离结构,有助于发现潜在的聚类或模式。
适用范围广:无论是度量还是非度量数据,MDS都能找到合适的处理方法。
缺点:
对距离矩阵依赖性强:MDS结果的可靠性很大程度上取决于输入的距离矩阵的质量。若距离矩阵计算不当或含有噪声,可能导致映射结果失真。
计算复杂度较高:对于大规模数据集,尤其是非度量MDS,优化过程可能较为耗时。
解释性有限:虽然MDS能够生成可视化结果,但对于映射到低维空间后的具体坐标值,其物理或实际意义可能不明确。

3.4与其他降维算法相比

3.4.1主成分分析

与PCA对比:主成分分析(PCA)也是一种降维方法,但其目标是最大化数据方差的保留,而非保持距离关系。PCA更适合于线性相关性强的数据集,而MDS对非线性关系的处理能力更强。

3.4.2 t-SNE

与t-SNE对比:t-distributed Stochastic Neighbor Embedding(t-SNE)也是一种流行的降维可视化方法,其特点是擅长揭示高维数据的局部结构。相比MDS,t-SNE对局部聚类效果更好,但全局结构可能不如MDS清晰。

3.5代码实现

3.5.1二维可视化代码

import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.preprocessing import StandardScaler
from sklearn.manifold import MDS
import matplotlib.pyplot as plt# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target# 对特征进行标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)# 使用MDS进行降维
mds = MDS(n_components=2)  # 设置要降维到的目标维度为2
X_mds = mds.fit_transform(X_scaled)# 可视化降维前的数据
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.scatter(X_scaled[:, 0], X_scaled[:, 1], c=y, cmap='viridis')
plt.title('Original Data')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')# 可视化降维后的数据
plt.subplot(1, 2, 2)
plt.scatter(X_mds[:, 0], X_mds[:, 1], c=y, cmap='viridis')
plt.title('MDS Reduced Data')
plt.xlabel('Component 1')
plt.ylabel('Component 2')plt.tight_layout()
plt.show()

3.5.2三维可视化代码

# 可视化降维后的数据
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X_mds[:, 0], X_mds[:, 1], X_mds[:, 2], c=y, cmap='viridis')
ax.set_title('MDS Reduced Data (3D)')
ax.set_xlabel('Component 1')
ax.set_ylabel('Component 2')
ax.set_zlabel('Component 3')

3.6实验结果

在这里插入图片描述

图4 MDS降维降为二维结果

在这里插入图片描述

图5 MDS降维降为三维结果

4. 参考连接

  1. 深度探索:机器学习多维尺度(MDS)算法原理及其应用
  2. 多尺度变换(Multidimensional Scaling ,MDS)详解

这篇关于基于MDS的波士顿房价数据集降维的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053388

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者