数组与矩阵数据的批量处理异常数据的判断与处理下26课件讲解.pptxVIP

  • 1
  • 0
  • 约1.73千字
  • 约 13页
  • 2026-02-03 发布于陕西
  • 举报

数组与矩阵数据的批量处理异常数据的判断与处理下26课件讲解.pptx

数组与矩阵数据的批量处理-异常数据的判断与处理(下)

任务描述任务描述:对于数据集中的异常数据进行甄别并处理,最后绘制成直方图进行展示。主要内容:了解什么是NumPy异常数据分析2.NumPy异常数据的类型3.NumPy异常数据检测方法

异常数据的判断与处理关键步骤讲解导入NumPy库获取检测数据集检测异常值数据去重数据图表化展示处理异常值

导入NumPy库1、首先导入numpy和matplotlib库,然后通过对rcParams参数的设置解决中文乱码问题。importnumpyasnpimportmatplotlib.pyplotasplt#解决中文显示问题plt.rcParams[font.sans-serif]=[SimHei]plt.rcParams[axes.unicode_minus]=False

获取检测数据集2、接着使用numpy.random.normal()函数生成了一个大小为100万符合正态分布的,均值为20,标准差为10000的一维数组。当然也可以使用爬取到的数据进行测试。#大小为100万符合正态分布的,均值为20,#标准差为10000的一维数组arr=np.random.normal(20,10000,size=1000000)

检测异常值3、使用基于统计学的异常检测方法。使用numpy.mean和numpy.std函数计算数据的均值和标准差,并根据最常用的Z-Score方法进行异常值检测和剪除。同时也使用四分位距方法进行过滤,防止一些渐变的异常点被漏掉。#检测异常值defdetect_outlier(data):mean=np.mean(data)std_dev=np.std(data)z_score_threshold=3iqr_threshold=1.5z_scores=(data-mean)/std_devz_mask=np.abs(z_scores)z_score_threshold

检测异常值q1=np.percentile(data,25)q3=np.percentile(data,75)iqr=q3-q1iqr_left=q1-(iqr*iqr_threshold)iqr_right=q3+(iqr*iqr_threshold)iqr_mask=((dataiqr_left)|(dataiqr_right))mask=z_mask|iqr_maskreturnmask

处理异常值4、对于异常数据进行剔除操作。#删除异常值mask=detect_outlier(arr)cleaned_data=arr[~mask]

数据去重5、在异常数据剔除之后。我们使用numpy.unique函数来使得数据去重。#对数据进行去重cleaned_data=np.unique(cleaned_data)

数据图表化展示6、最后我们利用matplotlib.pyplot库中的hist()函数将数据可视化成直方图展示出来。#绘制直方图plt.figure(figsize=(10,6))plt.hist(cleaned_data,bins=50,alpha=0.7,edgecolor=black,color=darkred)plt.xlabel(数据范围)plt.ylabel(数据频数)plt.title(数据分布直方图)plt.show()

数据图表化展示

任务小结数据集的有序化操作导入NumPy库获取检测数据集数据去重处理异常值数据图表化展示检测异常值

文档评论(0)

1亿VIP精品文档

相关文档