如何使用機器學習預測葡萄酒質量?
本教程將從線上資源(如 Kaggle)獲取葡萄酒質量資料集。首選資料集是“葡萄酒質量資料集”,可在 "https://www.kaggle.com/datasets/yasserh/wine-quality-dataset." 獲取。
該資料集包含一個 .csv 檔案,其中包含各種型別的葡萄酒,例如“固定酸度”、“揮發性酸度”、“pH 值”、“密度”等等。在此資料集中,在初始階段刪除了欄位名稱“質量”,並且進一步訓練了模型。
以下是預測葡萄酒質量的 Python 程式碼。
匯入必要的庫。
import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import matplotlib.pyplot as plt
匯入葡萄酒質量資料集
wine = pd.read_csv('/Users/someswarpal/Downloads/WineQT.csv')
刪除名為“quality”的列。
X = wine.drop(columns=['quality']) y = wine['quality']
將資料拆分為測試集和訓練集。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
建立線性迴歸模型
model = LinearRegression()
訓練模型
model.fit(X_train, y_train)
對訓練集進行預測。
y_pred = model.predict(X_test)
評估模型
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)
計算每個類別的平均質量
mean_quality = wine.groupby('quality')['quality'].mean()
輸出
Mean Squared Error: 0.38242835212919696
找到平均質量最高的類別
best_quality = mean_quality.idxmax() best_mean_quality = mean_quality.max()
列印最佳葡萄酒的摘要。
print("Summary of Wine Quality:")
print("----------------------------")
print("Best Wine Quality Category:", best_quality)
print("Mean Quality Score:", best_mean_quality)
輸出
Summary of Wine Quality: ---------------------------- Best Wine Quality Category: 8 Mean Quality Score: 8.0
找到平均質量最低的類別
worst_quality = mean_quality.idxmin() worst_mean_quality = mean_quality.min()
列印最差葡萄酒的摘要
示例
print("Summary of Wine Quality:")
print("----------------------------")
print("Worst Wine Quality Category:", worst_quality)
print("Mean Quality Score:", worst_mean_quality)
輸出
Summary of Wine Quality: ---------------------------- Worst Wine Quality Category: 3 Mean Quality Score: 3.0
結論
總之,該程式碼以多種方式分析和顯示關於葡萄酒質量的集合中的資料。它首先讀取資料集並將其分成輸入特徵 (X) 和目標變數 (y)。然後使用訓練集來建立和訓練線性迴歸模型。然後在測試集上進行預測,並使用均方誤差來衡量模型的效能。
該程式碼還確定資料集中每個類別的平均質量,並找到平均質量最高的類別。可以建立一些影像,例如散點圖、直方圖、箱線圖、條形圖、線形圖、相關性熱圖和餅圖。這些圖顯示了不同因素如何影響葡萄酒的質量。
總的來說,該程式碼對葡萄酒質量資料集進行了深入的研究,從建模和評估資料到顯示資料的分佈方式以及它們之間的關係。它展示瞭如何使用流行的資料分析和視覺化庫(如 Pandas、NumPy、sci-kit-learn、matplotlib 和 Seaborn)來使分析過程更容易,並提供有用的見解來理解資料集。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP