Python机器学习numpy依赖包特征之间的相关性

本文探讨了在Python机器学习项目中,如何利用numpy库进行特征之间的相关性分析。通过计算相关系数矩阵,理解不同特征间的相互影响,有助于数据预处理和模型选择。介绍了使用numpy计算相关性的步骤及示例代码。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
__author__ = 'gerry'
'''
    @time 10 Nov 2017
    @auther gerry

    特征之间的相关性
        期望:衡量样本某个特征列取值范围的平均值
        方差:衡量样本某个特征列取值范围的离散程度
        协方差矩阵和相关系数:衡量样本特征列之间线性相关性
'''

from numpy import  *
import sys
import os
import cPickle as pickle
import matplotlib.pyplot as plt

#1、相关系数与相关距离
# * 相关系数ρxy = Cov(X,Y)/(sqrt(D(x))*sqrt(D(y))):是衡量两个特征列之间相关程度的一种方法取值范围为[-1,1],相关系数的绝对值越大,表明特征列X与Y的相关程度越高
# * 相关距离:Dxy = 1 -ρxy


featureMat = mat([
    [88.5,96.8,104.1,111.3,117.7,124.0,130.0,135.4,140.2,145.3,151.9,159.5,165.9,169.8,171.6,172.3,172.7],
    [12.54,14.65,16.64,18.98,21.26,24.06,27.33,30.47,33.74,37.69,42.49,48.08,53.27,57.08,59.35,60.68,61.40]
])

print shape(featureMat)
# 计算均值
mv1 = mean(featureMat[0])#第一列的均值
mv2 = mean(featureMat[1])#第二列的均值
# 计算两列的标准差
dv1 = std(featureMat[0])
dv2 = std(featureMat[1])

corref = mean(multiply(featureMat[0]-mv1,featureMat[1]-mv2))/(dv1*dv2)
print corref

#使用Numpy相关系数得到关系相关系数矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值