| import pandas as pd |
| from sklearn.utils import resample |
|
|
|
|
| def vy_training_augmentation(process_df): |
| process_df = process_df.copy() |
| a_crab_df = process_df[process_df["original_material_name"] |
| == "ปูทั้งตัว A"] |
| c_crab_df = process_df[process_df["original_material_name"] |
| == "ปูทั้งตัว C"] |
| only_small_crab_df = process_df[process_df["original_material_name"] |
| == "ปูทั้งตัว จิ๋ว"] |
| only_loss_crab_df = process_df[process_df["original_material_name"] |
| == "ปูทั้งตัว โพรก"] |
| small_crab_df = process_df[process_df["original_material_name"] |
| == "ปูจิ๋ว และโพรก"] |
|
|
| |
| a_crab_size = a_crab_df.shape[0] |
| c_crab_size = c_crab_df.shape[0] |
| small_crab_size = small_crab_df.shape[0] |
| only_small_size = only_small_crab_df.shape[0] |
| only_loss_size = only_loss_crab_df.shape[0] |
|
|
| |
| max_size = max(a_crab_size, c_crab_size, small_crab_size, |
| only_small_size, only_loss_size) |
|
|
| |
| a_crab_add = max_size * 2 - a_crab_size |
| c_crab_add = max_size * 2 - c_crab_size |
| small_crab_add = max_size * 2 - small_crab_size |
| only_small_crab_add = max_size * 2 - only_small_size |
| only_loss_crab_add = max_size * 2 - only_loss_size |
|
|
| |
| if a_crab_size > 0: |
| a_crab_augmented = resample(a_crab_df, n_samples=a_crab_add) |
| else: |
| a_crab_augmented = pd.DataFrame() |
| if c_crab_size > 0: |
| c_crab_augmented = resample(c_crab_df, n_samples=c_crab_add) |
| else: |
| c_crab_augmented = pd.DataFrame() |
| if small_crab_size > 0: |
| small_crab_augmented = resample( |
| small_crab_df, n_samples=small_crab_add) |
| else: |
| small_crab_augmented = pd.DataFrame() |
| if only_small_size > 0: |
| only_small_crab_augmented = resample( |
| only_small_crab_df, n_samples=only_small_crab_add) |
| else: |
| only_small_crab_augmented = pd.DataFrame() |
| if only_loss_size > 0: |
| only_loss_crab_augmented = resample( |
| only_loss_crab_df, n_samples=only_loss_crab_add) |
| else: |
| only_loss_crab_augmented = pd.DataFrame() |
|
|
| |
| a_crab_df_combined = pd.concat([a_crab_df, a_crab_augmented]) |
| c_crab_df_combined = pd.concat([c_crab_df, c_crab_augmented]) |
| small_crab_df_combined = pd.concat([small_crab_df, small_crab_augmented]) |
|
|
| only_small_crab_df_combined = pd.concat( |
| [only_small_crab_df, only_small_crab_augmented]) |
| only_loss_crab_df_combined = pd.concat( |
| [only_loss_crab_df, only_loss_crab_augmented]) |
|
|
| |
| process_df = pd.concat( |
| [a_crab_df_combined, c_crab_df_combined, |
| small_crab_df_combined, only_small_crab_df_combined, |
| only_loss_crab_df_combined |
| ]) |
|
|
| return process_df |
|
|