数据探索(Exploratory Data Analysis, EDA)
在Python中,进行数据探索是数据分析和机器学习项目的重要步骤之一,数据探索的目标是更好地了解数据,解释数据中的模式、趋势和关系。
1-导入相关的工具模块
from sklearn import datasets
import pandas as pd
import matplotlib.pyplot as plt
2-导入数据集
#加载鸢尾花数据集
iris=datasets.load_iris()
data=pd.DataFrame(data=iris.data,columns=iris.feature_names)
data['target']=iris.target
3-预览数据
data.info()
data.head()
data.describe()
4-探索分布
#数据可视化
plt.figure(figsize=(10,6))
plt.scatter(data['sepal length (cm)'],data['sepal width (cm)'],c=data['target'],cmap='viridis')
plt.xlabel('Sepal Length(cm)')
plt.ylabel('Sepal Width(cm)')
plt.title('Sepal Length vs Sepal Width')
plt.show()
data['target'].hist()
5-相关性分析
#相关性分析
correlation_matrix=data.corr()
print(correlation_matrix)
import seaborn as sns
sns.heatmap(correlation_matrix,annot=True,cmap='coolwarm',linewidths=0.5)
6-检测异常值、缺失值、重复值
异常值:异常值是指与数据集中大多数观测值明显不同的值。它们可能是数据记录中的极端值,通常比其他观测值要远离数据的中心趋势(例如均值或中位数)。异常值会对统计分析和建模产生负面影响。
#异常值检测
plt.boxplot(data['petal length (cm)'])
plt.title('Boxplot of Petal Length')
plt.show()
#缺失值检测
data.isnull().sum()
#重复值检测
data.duplicated()
#这将输出一个布尔值的Series,其中True表示相应的行是重复的。
#统计重复值的数量
data.duplicated().sum()