[go: nahoru, domu]

Skip to content

Isongzhe/courseML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

機器學習練習(不使用模型框架)

<開發中>
還再調整架構,預計之後嘗試提供GUI或網站去操作,是用戶能自行匯入分類資料集、選擇損失函數(RMSE/Cross-Entroy)、調整超參數等等

<說明來源>
完成一個分類任務,並且只能使用 numpy、pandas 和 matplotlib 這三個套件。
練習定義訓練過程中的前向傳播和反向傳播。
自學練習使用OOP寫法來完成簡單分類任務。
將超參數、和激活函數獨立出來,可以方便地進行未來的進行微調與更新。

<使用>

import nbimporter #let file.ipynb can import to your file.py
from midLabML import NeuralNetwork

#you can fine tune hyperparameters by this dict
hyperparameters = {
    'n': 20,                 # n: number of hidden neurons
    'split_ratio': 0.5,      # split_ratio: train/test split ratio
    'epochs': 500,          # epochs: number of training epochs
    'learning_rate': 0.05   # learning_rate: learning rate
}

nn = NeuralNetwork(**hyperparameters)
nn.load_dataset()
nn.train()

Epoch: 1, RMSE: 0.6774
Epoch: 2, RMSE: 0.4455
Epoch: 3, RMSE: 0.3657
Epoch: 4, RMSE: 0.3371
Epoch: 5, RMSE: 0.3261
Epoch: 6, RMSE: 0.3197
Epoch: 7, RMSE: 0.3143
Epoch: 8, RMSE: 0.3092
Epoch: 9, RMSE: 0.3044
...

predict_df, true_df = nn.predict() #get predicted dataframe
nn.loss_plot()

image

nn.predict_plot()

image

About

courseML lab code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages