在這里,我嘗試了電力傳輸技術來檢測例外值并洗掉它們,但它不起作用,我不知道為什么,如果有人有任何新建議,請給我。
假設我有一個資料集,并且在該資料集中存在偏度,因此,我需要定義一個函式,該函式可以從資料集的每一列中檢測特定閾值的偏度,并移除偏度并在移除偏度后回傳資料。
# 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()
uj5u.com熱心網友回復:
您的代碼似乎很好。我檢查了它,它按預期作業,正如您在
回圈后:

您可能需要檢查您的 if - 陳述句if skew > 4.0:并檢查您的例外值列是否會產生 4 的偏度。只需使用 print(x.skew().values)并查看每列的值。
如果所有值都低于 4,那么它將永遠不會進入使用電力變壓器的 if 陳述句。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/485291.html
標籤:python-3.x 机器学习 数据科学
