网站在百度搜不到,淮安做网站杨凯,html大屏展示模板,wordpress文章直接转html#x1f9d1; 博主简介#xff1a;曾任某智慧城市类企业算法总监#xff0c;目前在美国市场的物流公司从事高级算法工程师一职#xff0c;深耕人工智能领域#xff0c;精通python数据挖掘、可视化、机器学习等#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN… 博主简介曾任某智慧城市类企业算法总监目前在美国市场的物流公司从事高级算法工程师一职深耕人工智能领域精通python数据挖掘、可视化、机器学习等发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者提供AI相关的技术咨询、项目开发和个性化解决方案等服务如有需要请站内私信或者联系任意文章底部的的VX名片IDxf982831907 博主粉丝群介绍① 群内初中生、高中生、本科生、研究生、博士生遍布可互相学习交流困惑。② 热榜top10的常客也在群里也有数不清的万粉大佬可以交流写作技巧上榜经验涨粉秘籍。③ 群内也有职场精英大厂大佬可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本送真活跃粉丝助你提升文章热度。有兴趣的加文末联系方式备注自己的CSDN昵称拉你进群互相学习共同进步。 【数据可视化案列】白葡萄酒质量数据的EDA可视化分析 一、引言二、数据准备三、数据探索3.1 数据概览3.2 数据分布3.3 数据相关性 四、数据可视化分析4.1 酒精含量与质量的关系4.2 硫酸盐含量与质量的关系4.3 挥发性酸含量与质量的关系4.4 氯化物含量与质量的关系4.5 酸碱度与质量的关系4.6 密度与质量的关系4.7 箱线图分析4.8 聚类分析 五、结论 一、引言 葡萄酒作为一种广受欢迎的饮品其质量评价一直是消费者和酿酒师们关注的焦点。通过数据分析我们可以更好地了解葡萄酒的化学成分与其质量之间的关系。本文将使用Python进行白葡萄酒质量数据的探索性数据分析EDA和可视化分析从而揭示不同化学成分对葡萄酒质量的影响。
二、数据准备 我们将使用pandas库读取CSV文件并进行初步的数据处理。数据集包含以下字段 本次案列的数据来源于https://www.kaggle.com/datasets/uciml/red-wine-quality-cortez-et-al-2009 其中包括以下字段
非挥发性酸fixed acidity挥发性酸volatile acidity柠檬酸citric acid残糖residual sugar氯化物chlorides游离二氧化硫free sulfur dioxide总二氧化硫total sulfur dioxide密度density酸碱度pH硫酸盐sulphates酒精alcohol葡萄酒质量quality0-10 首先我们需要加载数据并进行简单的预处理。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns# 读取数据
df pd.read_csv(winequality-white.csv, sep;)print(df.info())
print(df.shape)白葡萄酒数据集一共有4898个样本12个特征。其中11个为白葡萄酒的理化性质quality列为白葡萄酒的品质10分制。
三、数据探索
3.1 数据概览 我们先来看一下数据的基本信息包括每列的缺失值情况。
# 检查缺失值
print(df.isnull().sum())通过上面数据中可以发现数据集中无缺失值
3.2 数据分布 接下来我们绘制每个特征的分布图以了解数据的分布情况。
# 设置绘图风格
sns.set(stylewhitegrid)
color sns.color_palette()
column df.columns.tolist()
fig plt.figure(figsize (10,8))
for i in range(12):plt.subplot(4,3,i1)df[column[i]].hist(bins 100,color color[3])plt.xlabel(column[i],fontsize 12)plt.ylabel(Frequency,fontsize 12)
plt.tight_layout()3.3 数据相关性 使用热力图来展示各特征之间的相关性这有助于我们识别哪些特征对葡萄酒质量有显著影响。
# 计算相关性矩阵
correlation_matrix df.corr()# 绘制热力图
plt.figure(figsize(12, 10))
sns.heatmap(correlation_matrix, annotTrue, cmapcoolwarm, fmt.2f)
plt.title(Correlation Matrix)
plt.show()从热力图可以看出chlorides酒精和sulphates硫酸盐与quality质量的相关性较高而volatile acidity挥发性酸和chlorides氯化物与quality的相关性较高且为负。
四、数据可视化分析
4.1 酒精含量与质量的关系
# 绘制酒精含量与质量的散点图mean_quality_by_category df.groupby(quality)[alcohol].mean()
result_df mean_quality_by_category.reset_index()# 重命名列可选但通常是个好习惯
result_df.columns [quality, mean_alcohol]plt.figure(figsize(10, 6))
sns.barplot(xquality, ymean_alcohol, dataresult_df, alpha0.6)
plt.title(Sulphates Content vs Quality)
plt.xlabel(Quality (1-10))
plt.ylabel(Mean Alcohol Content (%))
plt.show()从图中可以看出酒精含量较高的葡萄酒往往质量也较高。
4.2 硫酸盐含量与质量的关系
# 绘制硫酸盐含量与质量的散点图
plt.figure(figsize(10, 6))
sns.scatterplot(xsulphates, yquality, datadf, alpha0.6)
plt.title(Sulphates Content vs Quality)
plt.xlabel(Sulphates Content)
plt.ylabel(Quality (1-10))
plt.show()平均硫酸盐含量与质量之间也quality7时呈现出正相关关系即硫酸盐含量越高葡萄酒的质量也越高。而当quality7时呈现出负相关关系即硫酸盐含量越低葡萄酒的质量也越高。负相关的变化速率高于正相关。
4.3 挥发性酸含量与质量的关系
# 绘制挥发性酸含量与质量的散点图
plt.figure(figsize(10, 6))
sns.scatterplot(xvolatile acidity, yquality, datadf, alpha0.6)
plt.title(Volatile Acidity vs Quality)
plt.xlabel(Volatile Acidity)
plt.ylabel(Quality (1-10))
plt.show()挥发性酸含量与质量之间呈现出负相关关系即挥发性酸含量越高葡萄酒的质量越低。
4.4 氯化物含量与质量的关系
# 绘制氯化物含量与质量的散点图
plt.figure(figsize(10, 6))
sns.scatterplot(xchlorides, yquality, datadf, alpha0.6)
plt.title(Chlorides Content vs Quality)
plt.xlabel(Chlorides Content)
plt.ylabel(Quality (1-10))
plt.show()请读者自行补充描述
4.5 酸碱度与质量的关系
# 绘制酸碱度与质量的散点图
plt.figure(figsize(10, 6))
sns.scatterplot(xpH, yquality, datadf, alpha0.6)
plt.title(pH vs Quality)
plt.xlabel(pH)
plt.ylabel(Quality (1-10))
plt.show()请读者自行补充描述
4.6 密度与质量的关系
# 绘制密度与质量的散点图
plt.figure(figsize(10, 6))
sns.scatterplot(xdensity, yquality, datadf, alpha0.6)
plt.title(Density vs Quality)
plt.xlabel(Density)
plt.ylabel(Quality (1-10))
plt.show()密度基本都其中再0.99-1.00之间酒的品质和密度的相关性不大
4.7 箱线图分析 为了更直观地比较不同质量分数的葡萄酒在各特征上的分布情况我们可以绘制箱线图。
# 绘制箱线图
fig plt.figure(figsize (12,8))
plt.subplot(2,3,1)
sns.boxplot(xquality, yalcohol, datadf)
plt.suptitle(Boxplot Analysis)
plt.subplot(2,3,2)
sns.boxplot(xquality, ysulphates, datadf)
plt.subplot(2,3,3)
sns.boxplot(xquality, yvolatile acidity, datadf)
plt.subplot(2,3,4)
sns.boxplot(xquality, ychlorides, datadf)
plt.subplot(2,3,5)
sns.boxplot(xquality, ypH, datadf)
plt.subplot(2,3,6)
sns.boxplot(xquality, ydensity, datadf)
plt.show()从箱线图中可以看出随着质量的提升酒精含量和硫酸盐含量的中位数逐渐升高而挥发性酸含量、氯化物含量和密度的中位数逐渐降低pH值的中位数则相对稳定。
4.8 聚类分析 为了进一步探索数据中的潜在模式我们可以使用K-means聚类算法对数据进行聚类分析。
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler# 选择特征列进行标准化处理
features [fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free sulfur dioxide, total sulfur dioxide, density, pH, sulphates, alcohol]
scaler StandardScaler()
scaled_features scaler.fit_transform(df[features])# 使用K-means算法进行聚类假设分为3类
kmeans KMeans(n_clusters3, random_state42)
df[cluster] kmeans.fit_predict(scaled_features)# 绘制聚类结果与质量的关系
plt.figure(figsize(10, 6))
sns.scatterplot(xalcohol, ysulphates, huecluster, datadf, paletteviridis, alpha0.6)
plt.title(Clusters based on K-means Algorithm)
plt.xlabel(Alcohol Content (%))
plt.ylabel(Sulphates Content)
plt.legend(titleCluster)
plt.show()通过聚类分析我们可以将葡萄酒分为不同的类别并观察各类别在特征空间中的分布情况。虽然这里的聚类结果并未直接用于质量预测但它为我们提供了对数据更深层次的理解。
五、结论 通过对白葡萄酒质量数据的EDA和可视化分析我们得出了以下结论酒精含量和硫酸盐含量与葡萄酒质量呈正相关关系而挥发性酸含量、氯化物含量和密度则与质量呈负相关关系。此外酸碱度对质量的影响相对复杂但在特定范围内如pH值约为3葡萄酒质量较高。箱线图分析进一步证实了这些特征与质量之间的关系。聚类分析虽然未直接用于质量预测但揭示了数据中的潜在模式为深入理解葡萄酒质量提供了有价值的见解。这些发现对酿酒师和消费者在选择和评价葡萄酒时具有重要的指导意义。