列相关Python数据函数TIBCO Spotfire®

这个Python数据函数计算数据列之间的相关系数。多重相关方法有:Pearson、Spearman和Kendall。

兼容的产品

TIBCO Spotfire®

提供者

TIBCO软件

兼容版本

支持版本:

  • TIBCO Spotfire 10.10或更高

(创建于TIBCO Spotfire 10.10与Python 3.7,库版本:Pandas 0.25.3)

许可证

BSD

概述

这个Python数据函数计算数据列之间的相关系数。相关分析是比较数据是否高度相关的重要步骤,如果高度相关是负相关还是正相关。这可以帮助确定数据中的关系,以及通过删除用例(如数据科学模型构建)中高度相关的数据来帮助减少数据。

在这个数据函数中,有三种方法可用。这些是:皮尔森,斯皮尔曼和肯德尔。所有方法都返回一个介于-1和1之间的相关性得分,表示两列数据之间的相关性得分。-1为负相关最大,1为正相关最大,0为无相关。

可以找到更多的信息在这里

也可作为Statistica数据功能

(年代)

首次发布(版本1.0.0)

发表:2021年3月

最初版本包括:

  • 数据功能
  • Dxp与示例使用
  • 德赢vwin跑分
  • 许可证信息

版本1.1.0

目前还没有对该内容的评论。

为什么不第一个回顾它呢按此登入

在TIBCO Spotfire中使用Python数据函数执行相关分析

介绍

评估数据集中数据之间的相关性是遵循数据科学流程建立机器学习和人工智能模型的重要步骤。它允许你评估变量/特征是否应该或可以被删除,因为与其他变量/特征高度相关,以及能够评估哪些变量/特征与你希望预测的数据点相关。这可以在Spotfire中使用Python数据函数轻松且交互式地实现。在这个wiki示例中,我们将构建一个Spotfire仪表板,允许用户交互地执行3种类型的相关性分析,并可视化地评估这些相关性结果。相关性将使用Python生成,并将利用Spotfire的Python数据函数集成来实现这一点。

要了解整个过程,请观看以下Spotfire博士会议:

https://www.youtube.com/watch?v=EDOIZACQmhw

先决条件

  • Spotfire 10.7如果需要如下所示的代码。然而,早期Spotfire版本的用户如果有社区,也可以遵循这个例子Python数据函数Spotfire可以在您的Spotfire实例或服务器上安装10.6及以下版本。
  • 此示例假定您遵循与本文中使用相同的范例Python的特性重要性,从另一种视角来分析

Python代码

属性生成相关分数的代码和配置如下熊猫包中。熊猫有3种内建相关评分方法:Spearman、Kendall和Pearson。您需要注册一个新的数据函数,选择Python作为类型,然后粘贴到此代码中。查看这段视频,了解如何在Spotfire中设置数据功能(特别是在10:30分钟左右):

这段代码将比较所有列与所有其他列在你的数据帧/数据表传递到Spotfire:

计算数据列之间的相关系数。多重相关方法有:Pearson、Spearman和Kendall。输入---------- df: data table数据表,包含需要进行相关性测试的列。correlation_method: String要使用的相关性方法。必须是其中之一:Spearman, Kendall或Pearson selected_features: column(可选)列包含在你的数据表中被测试相关性的列的名称,即选择列的子集,而不是测试数据中的所有列输出------- output_corr_df:数据表包含所有相关得分的数据表,格式为{Column 1, Column 2, correlation Score,相关方法}包需要——熊猫”“熊猫作为pd # #过滤数据导入表从Spotfire只列#基于感兴趣的另一列输入即从特征选择标记# #如果不通过默认所有列上执行相关如果globals()和“selected_features”Len (selected_features.unique()) >= 2: feature_names = selected_features.unique() ## filter data frame down to only columns of interest features_df = dfLoc [:,feature_names] else: features_df = df.copy() feature_names = features_df。##运行correlation output_corr_df = features_df.corr(method=correlation_method.lower()) output_corr_df['Column1'] = output_corr_df。索引output_corr_df = output_corr_df。(id_vars=['Column1'], var_name='Column2', value_name='Correlation Score') ## add in Correlation method column for reference output_corr_df["Correlation method "] = correlation_method ## remove同列比较output_corr_df = output_corr_df[output_corr_df]。Column1 ! = output_corr_df。##返回空的数据帧output_corr_df = pd。DataFrame({"Column1": [""], "Column2": [""], "Correlation Score": [0], "Correlation Method": [correlation_method] })

数据功能的输入

对于这个数据函数,我们指定了3个输入,如下所示:

  • df-列有需要分析的相关栏的表格
  • selected_features-(可选输入)一个表中的列,其中有我们想要包含在相关性分析中的列的名称。
  • correlation_method-一个字符串值,声明使用什么相关方法。肯定是其中之一:斯皮尔曼,肯德尔或皮尔逊

数据输出功能

这里有一个单独的输出,这是我们的特性重要性得分的结果表,用户可以使用它来选择要使用的特性:

  • output_corr_df-这是一个表,每个列的名字比较和他们的相关性评分(从-1到1)

Python数据函数中的可选输入

请注意上述脚本中的代码行:

如果'selected_features'在globals()中

这允许我们将输入变成可选的,因为它在Python全局中检查输入变量的名称。如果用户没有传递此可选输入,则使用如上所述的If语句来检查是否传递了该输入。

动态关联评估

我们可以通过简单地更改selected_features输入的输入设置,使相关性评估对另一个图表中的列的选择做出反应,以对过滤或标记做出反应。在下面的这个例子中,标记是基于上一篇文章中所示的特征选择柱状图上的标记在Spotfire中使用Python执行特性选择,在博士Spotfire会话涉及这个话题:

现在传递给python函数的列仅限于那些标记在另一个函数上的列。通过这种方式,在进一步使用这些数据之前,我们可以控制要评估哪些列的相关性。Spotfire博士会议的最后展示如下:

在本例中,我们在文本区域中使用一个下拉控件来设置要传递给Python数据函数的相关方法,然后使用一个动作控件按钮来触发数据函数运行。将相关结果以表格形式显示出来,并绘制热图,使热点区域的评估和识别更加简单直观。

额外的笔记

Pandas中的corr函数会自动从比较中删除非数值列。这很好,因为您不需要手动删除这些。但是,如果您想包含文本/字符串列,可能需要使用不同的方法。克拉默V法就是这样一种方法。

查看Wiki页面