續[Day9]---
import matplotlib.pyplot as plt
import seaborn as sns
# 繪製每個特徵的分佈圖
df_features = df.drop(columns='target')
df_features.hist(figsize=(8, 6))
plt.tight_layout() #每張子圖都考量到X、Y軸上的值與標籤, 給予適當的距離
plt.show()
# 繪製特徵與目標變量的散點圖
plt.figure(figsize=(8, 6))
for feature in df_dia.feature_names:
plt.subplot(3, 4, df_dia.feature_names.index(feature)+1)
plt.scatter(df[feature], df['target'])
plt.title(feature)
plt.xlabel(feature)
plt.ylabel('target')
plt.tight_layout()
plt.show()
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 將數據拆分為訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 建立線性回歸模型
model = LinearRegression()
model.fit(X_train, y_train)
# 進行預測
y_pred = model.predict(X_test)
# 計算Mean-Square Error
mse = mean_squared_error(y_test, y_pred)
print(f"Mean-Square Error: {mse:.2f}")
輸出:Mean-Square Error: 2821.75
=> 機器學習的核心在於訓練模型及預測,sklearn.datasets中有很多資料可以用來練習,且機器學習也不只有LinearRegression模型,對於模型的選擇、數據處理、特徵工程、模型評估等多個方面都是重要的,下一篇更完整的整理機器學習的內容。