Modality Model

Modality Model

Data Example

from models import ModalityPredictorPCA, MODELTYPE
from generate_random_input import generate_single_image_input


df = generate_single_image_input()
df["subset"] = ["TRAIN_VALIDATE"]*int(df.shape[0]/2) + ["TEST"]*int(df.shape[0]/2)

df
data_image_1 age gender subset
0 [22.54336590405338, 3.6299505310085847, 59.530... 84 F TRAIN_VALIDATE
1 [41.42289129587462, 46.62117141034676, 5.01415... 65 M TRAIN_VALIDATE
2 [70.59916336420935, 2.6271992421071015, 34.160... 85 M TRAIN_VALIDATE
3 [5.1157449535190445, 46.86581152125135, 19.037... 85 F TRAIN_VALIDATE
4 [42.186657088766026, 20.117513296091072, 43.49... 62 M TRAIN_VALIDATE
... ... ... ... ...
495 [24.00564283752257, 2.104327866703475, 40.6056... 59 M TEST
496 [41.44879378965781, 21.357903569399667, 27.492... 49 M TEST
497 [22.983924658062165, 38.09957956813175, 59.286... 72 F TEST
498 [23.207607911082036, 50.48990512457886, 54.907... 57 M TEST
499 [43.791009886426906, 58.286094273571905, 21.10... 79 M TEST

500 rows × 4 columns

Model

from sklearn import set_config
set_config(display="diagram")

number_components = 2
predictor = ModalityPredictorPCA(df, "data_image_1", MODELTYPE.SINGLE_IMAGE,  5)

model = predictor.get_single_modality_model(number_components, "data_image_1")
model
Pipeline(steps=[('preprocessor',
                 ColumnTransformer(transformers=[('dimensionality_reduction',
                                                  Pipeline(steps=[('flatten',
                                                                   FlattenNestedArray()),
                                                                  ('dimensionality_reduction',
                                                                   PCA(n_components=2,
                                                                       svd_solver='full')),
                                                                  ('scaler_pre',
                                                                   StandardScaler())]),
                                                  'data_image_1'),
                                                 ('gender_and_site_encoded',
                                                  OneHotEncoder(handle_unknown='ignore'),
                                                  ['gender'])])),
                ('regressor', EMRVR())])
Please rerun this cell to show the HTML repr or trust the notebook.