pyspark之MLlib学习【数据统计】(2)

本文是PySpark学习笔记,介绍如何使用MLlib进行数据统计,包括基本统计信息如平均值、最大值等,以及相关性分析,通过相关性矩阵和卡方检验发现特征间的关联。
摘要由CSDN通过智能技术生成

pyspark系列文章是本人根据《PySpark实战指南》学习pyspark中学习笔记,这本书是一本译文,有些地方感觉有点小问题,不过在本人的这些笔记中都是亲自测试跑通后的小例子。仅作参考和学习。

在前一篇文章中,我们已经清理我们的原始数据,本文将了解数据的各种统计信息。

1.基本统计

在spark的DataFrame中通过.discribe()方法实现数据的各种统计信息,但在使用MLib时则采用.colStats()方法。该方法使用RDD的数据来计算MultivariateStatisticalSummary对象的描述性统计信息,并返回MultivariateStatisticalSummary

  • count():行数
  • max():列中的最大值
  • mean():列中所有值的平均值
  • min():列中的最小值
  • normL1():列中值的L1-Norm值
  • normL2():列中值的L2-Norm值
  • numNonzeros():列中非零值的数量
  • variance():列中值的方差
  • ......
#计算数字特征的统计特性
import pyspark.mllib.stat as st
import numpy as np

numeric_cols = ['MOTHER_AGE_YEARS','FATHER_COMBINED_AGE',
    'CIG_BEFORE','CIG_1_TRI','CIG_2_TRI','CIG_3_TRI',
    'MOTHER_HEIGHT_IN','MOTHER_PRE_WEIGHT',
    'MOTHER_DELIVERY_WEIGHT','MOTHER_WEIGHT_GAIN']

numeric_rdd = births_transformed.select(numeric_cols).rdd.map(lambda row: [e for e in row])
mllib_stats = st.Statistics.colStats(numeric_rdd)
for col,m,v in zip(numeric_cols,mllib_stats.mean(),mllib_stats.variance()):
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值