机器学习(6)——数据探索与可视化(2)

本文详细探讨了数据可视化分析,包括连续变量间、分类变量间及它们之间的关系,如散点图、密度曲线图、小提琴图等。还涉及了时间序列、文本和社交网络数据的可视化。此外,介绍了数据样本间的各种距离度量方法,如欧氏距离、曼哈顿距离、切比雪夫距离、余弦距离、相关系数距离和马氏距离,并展示了相应的距离矩阵可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 可视化分析数据关系

1.1 连续变量间关系可视化分析

1.1.1 两个连续变量之间的可视化

1.1.2 多个连续变量之间的可视化

1.2 分类变量间关系可视化分析

1.2.1 两个分类变量

1.2.2 多个分类变量

1.3 连续变量和分类变量间关系可视化分析

1.3.1 一个分类变量和一个连续变量

1.3.2 两个分类变量和一个连续变量

1.3.3 两个分类变量和两个连续变量

1.3.4 一个分类变量和多个连续变量

1.4 其他类型数据可视化分析

1.4.1 时间序列数据

1.4.2 文本数据

 1.4.3 社交网络数据

2 数据样本间的距离

2.1 欧氏距离和曼哈顿距离

2.2 切比雪夫距离和余弦距离

2.3 相关系数距离和马氏距离


注意:本篇博文中所记录的笔记中尚存一些问题,已用红色字体标示出。

1 可视化分析数据关系

本节将会根据不同的数据类型,使用合适的数据可视化方法,对数据进行分析。针对不同的可视化图像,会尽可能地使用相对简单的可视化方式进行数据可视化。在进行数据可视化时,分为连续变量间关系可视化分析、分类变量间关系可视化、连续变量和分类变量间关系可视化分析,以及其他类型数据可视化分析。

1.1 连续变量间关系可视化分析

当待分析的数据均为连续变量时,由于数据变量的数目不同和想要从数据中获取信息的目的不同,可以使用不同的可视化方法。下面以鸢尾花数据集为例:

Iris.csv文件链接:

链接:https://pan.baidu.com/s/1TEq5SxWyi-6deYixjP_s8Q 
提取码:whj6

import pandas as pd
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
print(Iris2.head(3))

运行结果如下:

SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm
0            5.1           3.5            1.4           0.2
1            4.9           3.0            1.4           0.2
2            4.7           3.2            1.3           0.2

1.1.1 两个连续变量之间的可视化

对于两个连续数值变量之间的可视化方式,最直观的就是使用散点图进行可视化分析。下面对于鸢尾花数据集中的SepalLengthCm和SepalWidthCm变量,使用以下程序得到散点图:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
plt.figure(figsize=(10,6))
sns.scatterplot(x="SepalLengthCm",y="SepalWidthCm",data=Iris2,s=50)
plt.grid()
plt.title('散点图')
plt.show()

运行结果如下:

 两个连续变量之间的可视化

从散点图中很容易分析两个变量之间的变化趋势,如果想要分析两个变量在空间中的分布情况,可以使用2D密度曲线图进行可视化分析。

#2D密度曲线
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
sns.jointplot(x="SepalLengthCm",y="SepalWidthCm",data=Iris2,kind='kde',color='blue')
plt.grid()
plt.show()

运行结果如下:

 2D密度曲线图

2D密度曲线图中不同位置,数据分布的密度是不一样的,同时在图的右侧和上方,分别可视化出了两个变量的一维密度曲线,用于帮助分析数据的分布情况。

针对两个数值变量,如果想要分析两者在各自的一维空间上分布情况差异,可以使用分组直方图可视化出两组数据在同一坐标系下的分布情况。

#直方图
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
Iris2.iloc[:,0:2].plot(kind='hist',bins=30,figsize=(10,6))
plt.grid()
plt.title('分组直方图')
plt.show()

运行结果如下:

从运行结果来看,两个变量的数据分布位置和范围都很容易比较,而且还可以发现两者数据聚集情况的差异,其中变量SepalLengthCm的取值范围比变量SepalWidthCm大,位置也更集中,但是SepalWidthCm的分布更加聚集。

1.1.2 多个连续变量之间的可视化

针对多个连续变量之间的数据可视化,通常会使用气泡图、小提琴图、蒸汽图等对数据进行可视化分析。

气泡图通常用于3个变量的可视化,其中两个变量表示点所在的位置,另一个变量使用点的大小反映数据取值大小,从而可以在二维空间中分析3个变量之间的关系。

#气泡图
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
plt.figure(figsize=(10,6))
sns.scatterplot(x="PetalWidthCm",y="SepalWidthCm",data=Iris2,
                size="SepalLengthCm",sizes=(20,200),palette="muted")
plt.title('气泡图')
plt.legend(loc="best")
plt.grid()
plt.show()

运行结果如下:

变量PetalWidthCm和变量SepalWidthCm用于指定点在空间中的位置,而气泡的大小使用变量SepalLengthCm表示。从图中可以发现,变量PetalWidthCm和变量SepalWidthCm的取值越大,所对应的气泡也越大。

如果想要分析多个变量之间数据分布趋势的差异,则可以使用小提琴图进行分析,在小提琴图中可以获取数据的取值范围、集中位置、离散情况等,并且还可以同时将多个变量的小提琴图可视化在一幅图中,用于分析多个变量的分布差异等内容。

#使用小提琴图分析数据取值上的差异
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Iris2 = Iris.drop(["Id","Species"],axis=1)
plt.figure(figsize=(10,6))
sns.violinplot(data=Iris2.iloc[:,0:4],palette="Set3",bw=0.5)
plt.title('小提琴图')
plt.grid()
plt.show()

 运行结果如下:

从图中可以发现,数据的离散程度从小到大以此是:SepalWidthCm、PetalLengthCm、SepalLengthCm、PetalWidthCm,而且数据中PetalLengthCm变量和PetalWidthCm变量的分布为双峰图。

对于多个连续变量,也可以使用蒸汽图分析随着样本量的增加(或者时间的增长),数据取值的变化情况。(此处翻车了,在查找错误处,错误现象是无法显示蒸汽图

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import altair as alt
#图像显示中文设置
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#读取鸢尾花数据集
Iris = pd.read_csv("E:/PYTHON/Iris.csv")
Irislong = Iris.melt(["Id","Species"],var_name="Measurement_type",value_name="value")
print(Irislong.head())
#蒸汽图可视化
alt.Chart(Irislong).mark_area().encode(
    alt.X("Id:Q"), #X轴
    alt.Y("value:Q",stack="center",axis=None), #Y轴
    alt.Color('Measurement_type:N') #设置颜色
).properties(width=500,height=300) #设置图形大小

运行结果如下:

Id Species Measurement_type  value
0   1  setosa    SepalLengthCm    5.1
1   2  setosa    SepalLengthCm    4.9
2   3  setosa    SepalLengthCm    4.7
3   4  setosa    SepalLengthCm    4.6
4   5  setosa    SepalLengthCm    5.0

在上面的程序中,在使用鸢尾花数据之前,先对其使用melt()方法,将宽数据转化为长数据,因此在获得长数据Irislong中,变量Measurement_type表明了使用的特征名,value对应着原始特征的相应取值。

1.2 分类变量间关系可视化分析

首先导入待分析的泰坦尼克号数据:

链接:https://pan.baidu.com/s/1RSD9gfUNRqsdSimkY1wQlA 
提取码:whj6

import pandas as pd
#读取演示数据
Titanic = pd.read_csv("E:/PYTHON/Titanic数据.csv")
print(Titanic.head())

运行结果如下:

   Pclass   Name     Sex   Age  SibSp  Parch     Fare Embarked  Survived
0       3    Mr.    male  22.0      1      0   7.2500        S         0
1       1   Mrs.  female  38.0      1      0  71.2833        C  
### 回答1: 精准营销购买意向预测是指通过对消费者的数据进行分析和挖掘,预测他们的购买意向,从而实现精准营销的目的。数据探索可视化是实现这一目标的重要手段,可以帮助我们更好地理解数据,发现数据中的规律和趋势,从而更准确地预测消费者的购买意向。在数据探索可视化方面,我们可以使用各种统计方法和数据可视化工具,如散点图、折线图、柱状图等,来展现数据的分布和趋势,以及不同变量之间的关系。通过这些手段,我们可以更好地理解消费者的行为和偏好,从而制定更加精准的营销策略,提高营销效果。 ### 回答2: 在数字化时代,数据已经成为企业决策的核心因素之一。而在营销领域,精准营销的概念也越来越被重视。精准营销的目的在于识别潜在的客户,根据客户的需求和兴趣,进行更加精准有效的市场推广,以最大限度地提高客户购买的意愿。而要实现精准营销购买意向预测,就需要通过数据探索可视化,对用户的数据进行分析和挖掘。以下是几种数据探索可视化的方法: 1.探索数据分析(EDA):EDA 是指对数据进行初步探索,了解数据的分布、异常值、缺失值及相关性等特征。通过EDA,不仅可以发现数据中的规律和潜在价值,也能够排除数据中存在的异常和错误。 2. 数据可视化数据可视化是一种直观、简单的数据呈现方式,能够帮助企业更好地理解数据、汲取信息和洞察趋势。通过数据可视化,可以在二维或三维平面图中,清晰地呈现数据的分布和相关特征。 3. 预测分析:通过历史数据的分析,以及对未来趋势的预测,可以帮助企业更加精准地预测用户的购买意向。市场营销人员可以通过预测分析,制定更加有效的推广策略,提升销售收入和客户满意度。 4. 机器学习算法:机器学习算法可以通过对历史数据的学习,精确地预测用户购买行为。在实际应用中,市场营销人员可以依据算法结果,针对不同客户群体进行差异化的市场策略,提升购买率和客户满意度。 总之,精准营销购买意向预测不仅仅是一种理念,更是一项科学而精确的技术工作。数据探索可视化是实现精准营销的重要手段。企业在进行营销决策时,应该系统地分析历史数据和趋势,挖掘潜在客户的需求和行为,以此为基础,不断调整市场推广方案,提高销售业绩和客户满意度。 ### 回答3: 精准营销购买意向预测是现代营销领域中的重要趋势之一。它利用大数据技术和分析方法,通过对用户行为、偏好、兴趣等数据的挖掘和分析,来预测用户可能的购买意向,以便企业在推广产品和服务时针对性更强、效率更高。 数据探索是实现精准营销购买意向预测的第一步。在数据探索阶段,我们需要对收集到的数据进行初步的处理和分析,以找出其中的规律和特征,为后续的模型建立和预测提供依据。数据探索可以从多个维度进行,例如用户基本信息、购买行为数据、社交网络数据、搜索数据等等。 数据可视化则是数据探索的重要手段之一。通过数据可视化,我们可以将数据以图表等形式展示出来,更形象化、直观地了解数据之间的关系和趋势,从而帮助我们更好地发现数据的规律和特征。常用的数据可视化工具包括 Tableau、Power BI、Matplotlib 等。 在数据探索可视化的过程中,我们可以采集到哪些数据对精准营销购买意向预测有帮助呢?以下是几个重要的维度: 1. 用户行为数据:浏览过的商品、点击链接、加入购物车、下单、评价等数据2. 用户属性数据:年龄、性别、所在地、职业、收入等基本信息。 3. 社交网络数据:用户在社交媒体上的社交关系、兴趣爱好、关注的话题等。 4. 搜索数据:用户在搜索引擎上搜索的关键词,以及搜索结果的点击和浏览行为。 通过对以上数据进行探索可视化,我们可以发现一些有意义的特征和规律,例如哪些商品对用户更具吸引力、用户的购买偏好、用户的兴趣爱好等等。这些特征和规律可以帮助我们建立更精确的预测模型,从而提高精准营销的效果。 总之,数据探索可视化是精准营销购买意向预测的重要步骤。只有在深度挖掘数据规律和特征的同时,才能用更准确的方式向用户传达信息,从而实现精准营销的目标。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值