一、簡介
紅酒數據集包括紅酒的成分、產地和酒評等數據。這個數據集對於釀酒師、釀酒愛好者和市場分析師來說都非常有用。在本文中,我們將對紅酒數據集進行探索性分析和建模預測,並通過數據可視化展示分析結果。
二、數據清洗
首先,我們需要檢查數據集是否有缺失值和異常值。
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/zh-tw/n/366316.html