【特征相关性分析】对数据集特征进行相关性计算和绘图

本文介绍如何使用Python的pandas库对数据集特征进行相关性分析,通过计算相关系数来理解特征之间的联系。利用iris数据集为例,展示了如何转换数据、计算相关性并用热图可视化结果。

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

当不知道数据集特征的含义时,可直接对数据集特征进行相关性分析,查看特征的相关系数。

 

让我们开始把!
 

载入在线实验数据集

from sklearn import datasets
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
iris = datasets.load_iris()

 

数据简单处理,转化成pandas的DataFrame

irisData = pd.DataFrame(iris.data,columns=iris.feature_names)
irisData.head()

数据看起来不错,继续...

 

相关性分数计算方法

使用pandas库自带的corr函数,进行相关性分数计算。

DataFrame.corr(method='pearson'min_periods=1)

计算列的成对相关性,不包括NA / null值

参数:

method : {‘pearson’, ‘kendall’, ‘spearman’}

  • pearson : standard correlation coefficient

        皮尔逊:标准相关系数

  • kendall : Kendall Tau correlation coefficient

        kendall:Kendall Tau相关系数

  • spearman : Spearman rank correlation

        spearman:斯皮尔曼等级相关

min_periods : int, optional

每对列所需的最小观察数,以获得有效结果。目前仅适用于皮尔森和斯皮尔曼相关

  

 

计算

irisData.corr()

 

绘图

使用seaborn的heatmap()函数绘制热图

plt.figure(figsize=(10,10))
sns.heatmap(irisData.corr(),annot=True)

越接近于1的特征相关度越高。

 

 

 

 

 

### 搜索引擎相关性得分计算方法 搜索引擎利用多种算法技术来计算文档与查询之间的相关性得分。其中,BM25是一种广泛应用的文本检索算法,在搜索引擎文档相关性评分领域表现突出[^1]。 #### BM25算法概述 BM25属于概率检索模型的一部分,专门设计用于评估查询词项与文档间的关联强度。该算法不仅考虑了词语频率(TF),还引入了逆向文件频率(IDF)以及文档长度规范化因子,使得最终得出的相关度分数更加合理有效[^3]。 核心公式如下所示: \[ \text{score}(D, Q)=\sum_{t \in Q} IDF(t)\left(k_1+\frac{(1+k_1)TF(t,D)}{\left(\frac{|D|}{avgdl}\right)+b+(1-b) \cdot TF(t, D)}\right) \] 此处: - \(IDF\) 表示逆文档频率; - \(k_1,b\) 是可调参数; - \(|D|\) `avgdl` 分别代表目标文档总字数及其所在集合内平均文档大小; 此表达式能够很好地平衡短文本长文本间的关系,并且对于频繁出现却缺乏区分力的通用词汇赋予较低权重。 #### Elasticsearch中的实现方式 具体到Elasticsearch这一分布式全文搜索引擎而言,则进一步优化并扩展了传统BM25的思想。除了继承上述提到的基础概念外,Es还会综合考量其他因素如词条位置、临近度等以提升整体性能[^4]。 当接收到用户提交的新请求后,系统会先解析Query DSL定义好的结构化查询语句,接着依据内部维护着的一套复杂规则体系——即所谓的“打分函数”,逐一对候选记录集里的每条数据进行量化处理得到各自对应的_relevance score_(相关性得分)[^2]。 最后按照这些数值高低降序排列展示给终端使用者查看最有可能满足需求的内容片段列表形式呈现出来[^5]。 ```json GET /my_index/_search { "query": { "match": { "content": "example query" } }, "_source": ["title", "body"], "highlight": { "fields": { "content": {} } } } ``` 以上JSON展示了如何构建一个简单的搜索API请求,其中包括指定索引名称(`my_index`)、设置查询体内的匹配条件(`match`)、控制返回字段范围(_source)还有高亮显示部分(highlight)等功能选项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值