TrinhThiToUyen / FinalProjectDataScience

0 stars 0 forks source link

Review #2 #4

Open VinhLoiIT opened 4 years ago

VinhLoiIT commented 4 years ago

Hi nhóm bạn, mình có một số review cho nhóm như sau:

Về ProcessData_Model.ipynb

  1. Như bạn có nói đến về tham số n_jobs trong issue #3, mình thấy là do bạn tạo lại RandomForest mà không để tham số random_state nên mỗi lần chạy sẽ sinh ra một kết quả khác nhau (và cũng không chạy lại mà ra cùng 1 kết quả được luôn). Mà thuật toán RandomForest theo như sklearn:

    A random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default).

Nếu bạn không để random_state thì mỗi lần chạy sẽ sinh ra một kết quả khác. Nên tham số n_jobs không quyết định độ chính xác bạn nhé (bản thân mình dùng MLPClassifier cũng vậy, nếu không set random_state thì mỗi lần nó sẽ sinh ra bộ trọng số khác, cũng ảnh hưởng đến lúc học và predict, rất khó để chạy lại)

  1. Mình không thấy độ lỗi bạn tính toán như thế nào? Có overfitting không, có underfitting không?
  2. Bạn chạy 3 mô hình, mỗi mô hình bạn dùng 1 bộ tham số gần như là mặc định, và bạn bảo là RandomForest cho kết quả tốt nhất trong khi vẫn chưa thay đổi các siêu tham số phù hợp với mô hình. Nên mình thấy có vẻ không đúng lắm

Về DataScience_Text_Classification.ipynb:

  1. Dựa trên quá trình training của bạn thì mình thấy có thể do train khá lâu (mặc dù đã dùng GPU của google colab?) nên không có thời gian thử các siêu tham số khác? Nhưng mình muốn góp ý là các file model liên quan: word2vec.model hay models.h5 để đường dẫn tuyệt đối trong drive của bạn thì mình có muốn cũng không chạy lại được. Thay vào đó bạn có thể public 2 file này và viết một bash script như ở đây để download model khi chạy lại.
  2. Vì sao bạn chọn 5000 mẫu dữ liệu mà không phải full dữ liệu?
  3. Dữ liệu bạn lúc lấy 5000 mẫu thì có vẻ không mất cân bằng lắm, nhưng lúc bạn huấn luyện bằng cách model.fit(x = x_train[:4000], y = y_train[:4000], batch_size = batch_size, verbose=1, epochs=epochs, validation_data=(x_train[4000:5000], y_train[4000:5000])) thì liệu có sure là dữ liệu sẽ được phân bố đều trên tập huấn luyện và tập validation không? Ý mình là lỡ đâu may rủi sao đó 1000 mẫu cuối lại thuộc cùng 1 lớp thì sao :sweat_smile:

All:

  1. 2 hướng làm của 2 bạn không thống nhất trên 1 bộ dữ liệu thì các bạn so sánh để chọn mô hình tốt nhất như thế nào?
  2. Sau khi nhóm bạn chạy thử nghiệm cả 4 mô hình thì dữ liệu chung nào mà cả 4 mô hình đều chưa học trên đó để nhóm đánh giá và kết luận?