iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
AI & Data

紮實的ML機器學習原理~打造你對資料使用sklearn的靈敏度系列 第 2

DAY 2 「sklearn」調用演算法10步驟你也是大神~

  • 分享至 

  • xImage
  •  

演算法如果要懂背後數學邏輯寫出程式碼會到天荒地老

所以我們這裡通過sklearn來快速調用
/images/emoticon/emoticon01.gif簡單來說10個步驟就可以用Python完成模型建置~~

  1. 引入所需模塊:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
  1. 載入數據:使用pandas庫等工具來讀取和處理數據
# 例如讀取一個csv文件
import pandas as pd
data = pd.read_csv('data.csv')
  1. 準備特徵和目標變量:將數據集拆分為X特徵和Y目標變量。
X = data.drop('target', axis=1)  # 特徵
y = data['target']  # 目標變量
  1. 拆分數據:將數據集分為訓練集和測試集,用於模型的訓練和評估。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  1. 數據預處理:如果需要,進行數據預處理操作,如特徵標準化、填補缺失值等。
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

/images/emoticon/emoticon01.gif白話來說只要改這裡使用哪種模型即可
6. 選擇模型:選擇適合你問題的模型,例如,這裡使用了一個隨機森林分類器。

model = RandomForestClassifier(n_estimators=100, random_state=42)
  1. 訓練模型:使用測試數據來評估模型的性能。
model.fit(X_train, y_train)
  1. 模型評估:
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'準確率:{accuracy}')
  1. 調參優化:進行參數調整以優化模型準確率性能。
# 使用交叉驗證和網格搜索來尋找最佳參數
from sklearn.model_selection import GridSearchCV
param_grid = {'n_estimators': [50, 100, 200]}
grid_search = GridSearchCV(model, param_grid, cv=5)
grid_search.fit(X_train, y_train)
best_model = grid_search.best_estimator_
  1. 應用模型:使用訓練好的模型來進行新數據或真實上線數據進行預測。
y_pred = best_model.predict(X_test)

上一篇
DAY 1 「開賽說明」Sklearn解釋了機器學習的傻傻分不清楚~
下一篇
DAY 3 「決策樹Decision Tree」對鳶尾花數據進行分類~~
系列文
紮實的ML機器學習原理~打造你對資料使用sklearn的靈敏度30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言