从训练数据中移除异常值
Remove outliers from training data
假设我有一个 pandas 数据框,我使用以下方法删除异常值:
y = df['Label']
df = df.drop(['Label'], axis=1)
new_df = df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]
由于我不想在过程中包含 'Label'
列,如何同时删除异常值标签?
谢谢
只需对具有数字数据类型的列执行 zscore 计算。无需事先删除“标签”列。
new_df = df[(np.abs(stats.zscore(df.select_dtypes("numeric"))) < 3).all(axis=1)]
您可以使用剩余的索引来匹配新的 df 和 Label 列:
new_df.join(y)
使用 autooptimizer
模块,您可以轻松地从数据集中删除异常值。
它使用四分位距方法去除异常值
pip install autooptimizer
from autooptimizer.process import outlier_removal
outlier_removal(data)
假设我有一个 pandas 数据框,我使用以下方法删除异常值:
y = df['Label']
df = df.drop(['Label'], axis=1)
new_df = df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]
由于我不想在过程中包含 'Label'
列,如何同时删除异常值标签?
谢谢
只需对具有数字数据类型的列执行 zscore 计算。无需事先删除“标签”列。
new_df = df[(np.abs(stats.zscore(df.select_dtypes("numeric"))) < 3).all(axis=1)]
您可以使用剩余的索引来匹配新的 df 和 Label 列:
new_df.join(y)
使用 autooptimizer
模块,您可以轻松地从数据集中删除异常值。
它使用四分位距方法去除异常值
pip install autooptimizer
from autooptimizer.process import outlier_removal
outlier_removal(data)