Avant de découvrir des informations à partir de données du monde réel, il est important d'examiner vos données pour garantir qu'elles sont cohérentes et exemptes d'erreurs. Cependant, les données peuvent contenir des erreurs et certaines valeurs peuvent sembler différer des autres valeurs. Ces valeurs sont appelées valeurs aberrantes. Les valeurs aberrantes ont un impact négatif sur l'analyse des données, conduisant à des informations erronées qui conduisent à une mauvaise prise de décision de la part des parties prenantes. Par conséquent, le traitement des valeurs aberrantes est une étape critique de l’étape de prétraitement des données en science des données. Dans cet article, nous évaluerons différentes manières de gérer les valeurs aberrantes.
Les valeurs aberrantes sont des points de données qui diffèrent considérablement de la majorité des points de données d'un ensemble de données. Ce sont des valeurs qui se situent en dehors de la plage de valeurs attendue ou habituelle pour une variable particulière. des valeurs aberrantes se produisent pour diverses raisons, par exemple une erreur lors de la saisie des données, des erreurs d'échantillonnage. Dans le machine learning, les valeurs aberrantes peuvent amener vos modèles à faire des prédictions incorrectes, entraînant ainsi des prédictions inexactes.
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') plt.style.use('ggplot')
df_house_price = pd.read_csv(r'C:\Users\Admin\Desktop\csv files\housePrice.csv')
df_house_price.head()
sns.boxplot(df_house_price['Price']) plt.title('Box plot showing outliers in prices') plt.show()
Q1 = df_house_price['Price'].quantile(0.25) Q3 = df_house_price['Price'].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
La limite supérieure signifie que toute valeur supérieure à 12872625000,0 est une valeur aberrante
Supprimer les valeurs aberrantes dans la colonne prix
filt = (df_house_price['Price'] >= lower_bound) & (df_house_price['Price'] <= upper_bound) df = df_house_price[filt] df.head()
sns.boxplot(df['Price']) plt.title('Box plot after removing outliers') plt.show()
La méthode IQR est simple et robuste aux valeurs aberrantes et ne dépend pas de l'hypothèse de normalité. L'inconvénient est qu'il ne peut gérer que des données univariées et qu'il peut supprimer des points de données valides si les données sont asymétriques ou ont des queues lourdes.
Merci
suivez-moi sur linked in et sur github pour en savoir plus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!