一、简介
红酒数据集包括红酒的成分、产地和酒评等数据。这个数据集对于酿酒师、酿酒爱好者和市场分析师来说都非常有用。在本文中,我们将对红酒数据集进行探索性分析和建模预测,并通过数据可视化展示分析结果。
二、数据清洗
首先,我们需要检查数据集是否有缺失值和异常值。
import pandas as pd
wine = pd.read_csv('wine_data.csv')
print(wine.isnull().sum())
通过运行代码,我们发现数据集中没有缺失值。下一步是检查是否存在异常值。
import seaborn as sns
sns.boxplot(x=wine['price'])
从箱线图中,我们可以看到红酒价格的分布大致对称,但是有一些价格明显偏高。我们可以对价格进行多元统计分析,看看这些价格是否异常。
from statsmodels.formula.api import ols
lm = ols('price ~ country + points + variety', wine).fit()
print(lm.summary())
通过运行代码,我们可以看到存在少量异常值,我们可以将它们删除。
wine = wine[wine['price'] < 5000]
三、数据探索
1. 酒的产地、价格和评分的关系
我们首先想知道的是,红酒的产地、价格和评分是否有联系。
sns.scatterplot(x='price', y='points', hue='country', data=wine)
从散点图中,我们可以看到法国红酒价格高,品质也好。澳大利亚和南非产的红酒价格较低,评分不太高。这对于酒卖家和分析师来说都很重要。
2. 不同产地的红酒酒精度分布情况
我们还可以比较不同国家红酒酒精含量的分布情况。
sns.kdeplot(wine[wine['country']=='France']['alcohol'], label='France')
sns.kdeplot(wine[wine['country']=='Italy']['alcohol'], label='Italy')
sns.kdeplot(wine[wine['country']=='Spain']['alcohol'], label='Spain')
从核密度估计图中,我们可以发现法国红酒的酒精含量分布比较平均,而西班牙和意大利更加正态分布。
四、数据建模
现在我们将使用分类模型来预测红酒的产地。我们可以将数据集分成训练集和测试集,训练一个随机森林分类模型。
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
X = wine[['price', 'points', 'alcohol']]
y = wine['country']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
rfc = RandomForestClassifier(n_estimators=100, max_depth=10)
rfc.fit(X_train, y_train)
y_pred = rfc.predict(X_test)
print('Accuracy score:', accuracy_score(y_test, y_pred))
从得分中,我们可以看到模型的准确率为76.7%,这非常不错。
五、总结和展望
通过对红酒数据集的探索和建模预测,我们可以发现红酒产地与价格、评分、酒精含量等存在一定关系。同时,我们还可以通过建模预测红酒的产地。不过,这个数据集还可以进一步探索,比如对各产地红酒的酿造技术和历史进行深入研究,同时可以与其他数据集结合分析。这些研究将有助于更好地理解红酒市场和饮品文化。
原创文章,作者:KEVGZ,如若转载,请注明出处:https://www.506064.com/n/366316.html