使用Python检测并删除离群值

离群值是一个数据项/对象,它明显偏离其余的(所谓的正常)对象。它们可能由测量或执行错误引起。离群点检测的分析被称为离群点挖掘。检测离群值的方法有很多,删除过程与从pandas的数据框中删除数据项相同。

离群值检测和删除

在这里,pandas数据框架用于更现实的方法,因为现实世界的项目需要检测数据分析步骤中出现的离群值,相同的方法可以用于列表和序列类型的对象。

# Importing
import sklearn
from sklearn.datasets import load_diabetes
import pandas as pd
import matplotlib.pyplot as plt

# Load the dataset
diabetics = load_diabetes()

# Create the dataframe
column_name = diabetics.feature_names
df_diabetics = pd.DataFrame(diabetics.data)
df_diabetics.columns = column_name
df_diabetics.head()

在这里插入图片描述
离群值可以使用可视化、在数据集上实现数学公式或使用统计方法来检测。下文将讨论所有这些问题。

离群值可视化

使用箱形图可视化离群值

它只需要一个简单的框和须就可以有效地捕获数据摘要。箱形图使用第25次、第50次和第75次采样总结了样本数据。人们可以通过查看数据集的箱形图来了解数据集(四分位数,中位数和离群值)。

# Box Plot
import seaborn as sns
sns.boxplot(df_diabetics['bmi'])

在这里插入图片描述
在上图中,可以清楚地看到,高于10的值是离群值。

# Position of the Outlier
import numpy as np
print(np.where(df_diabetics['bmi']>0.12))

输出

(array([ 32, 145, 256, 262, 366, 367, 405]),)

使用散点图可视化离群值

当您有成对的数值数据,并且因变量对每个阅读自变量有多个值时,或者当尝试确定两个变量之间的关系时,使用该方法。在利用散点图的过程中,也可以将其用于离群值检测。

要绘制散点图,需要两个变量以某种方式彼此相关。因此,这里使用的是“每个城镇的非零售业务面积比例”和“每10,000美元的全额财产税税率”,其列名分别为“INDUS”和“TAX”。

# Scatter plot
fig, ax = plt.subplots(figsize=(6, 4))
ax.scatter(df_diabetics['bmi'], df_diabetics['bp'])

# x-axis label
ax.set_xlabel('(body mass index of people)')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python收藏家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值