首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何能够自动检测数据中的偏斜,以及是否存在偏度,然后如何消除它?

我们如何能够自动检测数据中的偏斜,以及是否存在偏度,然后如何消除它?
EN

Stack Overflow用户
提问于 2022-05-30 08:12:46
回答 1查看 101关注 0票数 0

在这里,我尝试了权力转移技术,以检测和删除他们,但它不工作,我不知道为什么,如果有人有什么新的建议,那么请给我。

假设我有一个数据集,在该数据集中存在偏度,因此,我需要定义一个函数,该函数可以从数据集的每一列中检测到某一阈值的偏度,并删除该数据集的偏斜度,并在删除偏斜度后返回数据。

代码语言:javascript
复制
# Removing outliers
from sklearn.preprocessing import PowerTransformer
def remove_skewness(x):
    value = x.skew().values
    for skew in value:
        if skew > 4.0:
            #skewness removal
            pt=PowerTransformer(method='yeo-johnson') 
            X_power=pt.fit_transform(x)
            df1=pd.DataFrame(X_power,columns=X.columns)
            print("Skewness is Detected and will be Removed:")
            return df1
        else:
            print("Skewness not Detected:")
            return x
        
df2 = remove_skewness(df_new)
df2.head()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-30 12:17:32

你的代码似乎没问题。我检查了它,它按照您在我的实验室中看到的那样工作。以下是产出的简短摘录:

前循环:

后循环:

您可能想检查您的if语句if skew > 4.0:,并检查您的离群值列是否曾经造成4的偏斜。只需使用print(x.skew().values)并查看每个列的值。

如果所有的值都低于4,那么它将永远不会进入使用电力变压器的If状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72431096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档