rapidminer 使用什么方法计算相关矩阵,为什么我得到两个 categorical/nominal 属性的负相关?
What method does rapidminer use to calculate correlation matrix and why am I getting negative correlations for two categorical/nominal attributes?
我很困惑,希望有人能帮我解答这个问题。
rapidminer 在其相关矩阵中使用什么方法?对于所有数据组合会很好,但最重要的是 nominal/categorical 数据集?
我正在使用 rapidminer 构建一个相关矩阵,并小心地将所有属性正确标记为数字、二项式、多项式等。我发现我的矩阵显示某些 nominal/nominal 的负相关属性的组合,因为基于我通常认为会选择的方法(Phi,Cramer's V,列联系数)来计算它,所以不会产生。我认为这些测试的相关性必须是正相关,并且在性别和城市等类别之间存在 "negative" 相关性没有意义,因为这会暗示数据中的顺序。
是否使用了其他测试,或者伪编码之类的?如果使用虚拟编码,所获得的值的可靠性如何?
提前感谢任何可以帮助我的人。当我迷路时不想承认,但我需要一张地图:)
我已经包含了一个过程的 XML,该过程为包含标称值的示例集计算相关矩阵,并再次为标称值转换为数字的同一示例集计算相关矩阵。当标称值转换为简单数字时,该过程会生成相同的矩阵,即 value1 变为 0,value2 变为 1 等等。
在 Correlation Matrix
运算符的帮助下,每个属性值都从该属性的平均值中减去。这些差异乘以成对的属性,并为所有示例求和。然后将其除以示例数量 - 1 与属性对的标准差的乘积。我设法在电子表格中重新创建了计算,因此我知道使用的标准差是针对样本而不是总体。
流程如下
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="7.1.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.1.001" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="generate_nominal_data" compatibility="7.1.001" expanded="true" height="68" name="Generate Nominal Data" width="90" x="45" y="85">
<parameter key="number_examples" value="20"/>
<parameter key="number_of_attributes" value="3"/>
<parameter key="number_of_values" value="3"/>
</operator>
<operator activated="true" class="select_attributes" compatibility="7.1.001" expanded="true" height="82" name="Select Attributes" width="90" x="179" y="85">
<parameter key="attribute_filter_type" value="subset"/>
<parameter key="attributes" value="label"/>
<parameter key="invert_selection" value="true"/>
<parameter key="include_special_attributes" value="true"/>
</operator>
<operator activated="true" class="multiply" compatibility="7.1.001" expanded="true" height="103" name="Multiply" width="90" x="313" y="85"/>
<operator activated="true" class="nominal_to_numerical" compatibility="7.1.001" expanded="true" height="103" name="Nominal to Numerical" width="90" x="447" y="289">
<parameter key="coding_type" value="unique integers"/>
<list key="comparison_groups"/>
</operator>
<operator activated="true" class="correlation_matrix" compatibility="7.1.001" expanded="true" height="103" name="Correlation Matrix" width="90" x="581" y="85"/>
<operator activated="true" class="correlation_matrix" compatibility="7.1.001" expanded="true" height="103" name="Correlation Matrix (2)" width="90" x="581" y="289"/>
<connect from_op="Generate Nominal Data" from_port="output" to_op="Select Attributes" to_port="example set input"/>
<connect from_op="Select Attributes" from_port="example set output" to_op="Multiply" to_port="input"/>
<connect from_op="Multiply" from_port="output 1" to_op="Correlation Matrix" to_port="example set"/>
<connect from_op="Multiply" from_port="output 2" to_op="Nominal to Numerical" to_port="example set input"/>
<connect from_op="Nominal to Numerical" from_port="example set output" to_op="Correlation Matrix (2)" to_port="example set"/>
<connect from_op="Correlation Matrix" from_port="example set" to_port="result 1"/>
<connect from_op="Correlation Matrix" from_port="matrix" to_port="result 2"/>
<connect from_op="Correlation Matrix (2)" from_port="example set" to_port="result 3"/>
<connect from_op="Correlation Matrix (2)" from_port="matrix" to_port="result 4"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
<portSpacing port="sink_result 5" spacing="0"/>
</process>
</operator>
</process>
希望对您有所帮助。
我很困惑,希望有人能帮我解答这个问题。
rapidminer 在其相关矩阵中使用什么方法?对于所有数据组合会很好,但最重要的是 nominal/categorical 数据集?
我正在使用 rapidminer 构建一个相关矩阵,并小心地将所有属性正确标记为数字、二项式、多项式等。我发现我的矩阵显示某些 nominal/nominal 的负相关属性的组合,因为基于我通常认为会选择的方法(Phi,Cramer's V,列联系数)来计算它,所以不会产生。我认为这些测试的相关性必须是正相关,并且在性别和城市等类别之间存在 "negative" 相关性没有意义,因为这会暗示数据中的顺序。
是否使用了其他测试,或者伪编码之类的?如果使用虚拟编码,所获得的值的可靠性如何?
提前感谢任何可以帮助我的人。当我迷路时不想承认,但我需要一张地图:)
我已经包含了一个过程的 XML,该过程为包含标称值的示例集计算相关矩阵,并再次为标称值转换为数字的同一示例集计算相关矩阵。当标称值转换为简单数字时,该过程会生成相同的矩阵,即 value1 变为 0,value2 变为 1 等等。
在 Correlation Matrix
运算符的帮助下,每个属性值都从该属性的平均值中减去。这些差异乘以成对的属性,并为所有示例求和。然后将其除以示例数量 - 1 与属性对的标准差的乘积。我设法在电子表格中重新创建了计算,因此我知道使用的标准差是针对样本而不是总体。
流程如下
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="7.1.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.1.001" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="generate_nominal_data" compatibility="7.1.001" expanded="true" height="68" name="Generate Nominal Data" width="90" x="45" y="85">
<parameter key="number_examples" value="20"/>
<parameter key="number_of_attributes" value="3"/>
<parameter key="number_of_values" value="3"/>
</operator>
<operator activated="true" class="select_attributes" compatibility="7.1.001" expanded="true" height="82" name="Select Attributes" width="90" x="179" y="85">
<parameter key="attribute_filter_type" value="subset"/>
<parameter key="attributes" value="label"/>
<parameter key="invert_selection" value="true"/>
<parameter key="include_special_attributes" value="true"/>
</operator>
<operator activated="true" class="multiply" compatibility="7.1.001" expanded="true" height="103" name="Multiply" width="90" x="313" y="85"/>
<operator activated="true" class="nominal_to_numerical" compatibility="7.1.001" expanded="true" height="103" name="Nominal to Numerical" width="90" x="447" y="289">
<parameter key="coding_type" value="unique integers"/>
<list key="comparison_groups"/>
</operator>
<operator activated="true" class="correlation_matrix" compatibility="7.1.001" expanded="true" height="103" name="Correlation Matrix" width="90" x="581" y="85"/>
<operator activated="true" class="correlation_matrix" compatibility="7.1.001" expanded="true" height="103" name="Correlation Matrix (2)" width="90" x="581" y="289"/>
<connect from_op="Generate Nominal Data" from_port="output" to_op="Select Attributes" to_port="example set input"/>
<connect from_op="Select Attributes" from_port="example set output" to_op="Multiply" to_port="input"/>
<connect from_op="Multiply" from_port="output 1" to_op="Correlation Matrix" to_port="example set"/>
<connect from_op="Multiply" from_port="output 2" to_op="Nominal to Numerical" to_port="example set input"/>
<connect from_op="Nominal to Numerical" from_port="example set output" to_op="Correlation Matrix (2)" to_port="example set"/>
<connect from_op="Correlation Matrix" from_port="example set" to_port="result 1"/>
<connect from_op="Correlation Matrix" from_port="matrix" to_port="result 2"/>
<connect from_op="Correlation Matrix (2)" from_port="example set" to_port="result 3"/>
<connect from_op="Correlation Matrix (2)" from_port="matrix" to_port="result 4"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
<portSpacing port="sink_result 5" spacing="0"/>
</process>
</operator>
</process>
希望对您有所帮助。