iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
自我挑戰組

從零開始學Python系列 第 11

[Day11] Python應用-機器學習(Scikit-learn)-2

  • 分享至 

  • xImage
  •  

續[Day9]---

  1. 視覺化數據
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()

https://ithelp.ithome.com.tw/upload/images/20240901/20168811QUlfhu9Qzy.png

  1. 散點圖來查看特徵和目標變量之間的關係
# 繪製特徵與目標變量的散點圖
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()

https://ithelp.ithome.com.tw/upload/images/20240901/20168811C1AWIXkiuo.png

  1. 建構線性回歸模型
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模型,對於模型的選擇、數據處理、特徵工程、模型評估等多個方面都是重要的,下一篇更完整的整理機器學習的內容。


上一篇
[Day10] Python應用-機器學習(Scikit-learn)-1
下一篇
[Day12] Python機器學習(簡單線性回歸 Simple Linear Regression)-1
系列文
從零開始學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言