你的团队正在研究哪些产品特征最能影响销售,以便优化产品策略。为此,你决定使用相关性分析来评估特征与销售量之间的关系,从而选择最有价值的特征。 请你编写一个程序,使用 Python 和 NumPy 库,对给定的数据集进行相关性分析。具体要求如下: 1. 读取输入数据集,包含 ( N ) 个样本,每个样本有 ( M ) 个特征和一个目标值(销售量)。 2. 计算每个特征与目标值之间的皮尔逊相关系数。 3. 按照相关系数的绝对值从大到小排序,选择前 ( K ) 个特征。 4. 输出每个特征的相关系数值,保留四位小数,使用{x:.4f}格式化输出。
输入描述:
    •    第一行包含两个整数 ( N ) 和 ( M ),表示样本数量和特征数量。    •    接下来的 ( N ) 行,每行包含 ( M+1 ) 个浮点数,表示每个样本的特征值和目标值,特征值和目标值之间用空格分隔。    •    最后一行包含一个整数 ( K ),表示需要选择的特征数量。


输出描述:
    •    输出 ( M ) 行,每行包含一个特征的索引(从 0 开始)和对应的相关系数值,用空格分隔,保留四位小数。    •    按照相关系数的绝对值从大到小排序输出。
示例1

输入

5 3
1.0 2.0 3.0 10.0
2.0 3.0 4.0 12.0
3.0 4.0 5.0 14.0
4.0 5.0 6.0 16.0
5.0 6.0 7.0 18.0
2

输出

0 1.0000
1 1.0000
2 1.0000

说明

    •    所有特征与目标值的相关系数均为 1.0000

    •    由于 ( K=2 ),但相关系数相同,因此输出了所有特征。


备注:
对于两个变量 ( X ) 和 ( Y ),皮尔逊相关系数计算公式为:其中,( ) 和 (  ) 分别是 ( X ) 和  Y  的均值。如果特征与目标值的相关系数为 NaN,则认为相关系数为 0。
加载中...