Child Measures - Language Tasks

import os
import pandas as pd
import seaborn as sns

from hbn.constants import Defaults
from hbn.visualization import visualize

import warnings
warnings.filterwarnings("ignore")

%load_ext autoreload
%autoreload 2

%matplotlib inline

# pio.renderers.default = 'iframe'

import ipywidgets as widgets       # interactive display
%config InlineBackend.figure_format = 'svg' # other available formats are: 'retina', 'png', 'jpeg', 'pdf'
from hbn.data.make_dataset import make_summary

# load model data
#MODEL_DIR = os.path.join(Defaults.MODEL_DIR, '2022-11-24_14:38:36.039822')
MODEL_DIR = os.path.join(Defaults.MODEL_DIR, '2022-12-12_17:48:27.413146')

df_classify = pd.read_csv(os.path.join(MODEL_DIR, 'classifier-all-phenotypic-models-performance.csv'))
df_classify['data'] = df_classify['data'].map({'model-data': 'null', 'model-null': 'data'})
df_feature = pd.read_csv(os.path.join(MODEL_DIR, 'classifier-feature_importance.csv'))

participant_ids = df_classify['participants'].str.split('-').iloc[0]

dx_participants = make_summary(save=False).merge(pd.DataFrame(participant_ids, columns=['Identifiers']), on='Identifiers')
print(dx_participants['DX_01'].unique())
['ADHD-Combined Type' 'No Diagnosis Given' 'ADHD-Inattentive Type'
 'ADHD-Hyperactive/Impulsive Type'
 'Other Specified Attention-Deficit/Hyperactivity Disorder'
 'Unspecified Attention-Deficit/Hyperactivity Disorder']
# set plotting style
visualize.plotting_style()
df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Child Measures') & 
                  (df_classify['domains']=='Language Tasks')]


visualize.predictive_modeling(df=df1)

Parent Measures - Demographics


measures = ['Affective Reactivity Index-Parent',
       'Autism Spectrum Screening Questionnaire',
       'Barratt Simplified Measure of Social Status',
       'Child Behavior Checklist', 'Child Mind Institute Symptom Checker',
       'Demographics',
       'Extended Strengths and Weaknesses Assessment of Normal Behavior-Parent Report',
       'Financial Support Questionnaire',
       'Inventory of Callous-Unemotional Traits – Parent Report']


df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Parent Measures') & 
                  (df_classify['domains']=='Demographic Questionnaire Measures')]

df1 = df1[df1['measures'].isin(measures)]
visualize.predictive_modeling(df=df1)

Parent Measures - Demographics

measures = ['Mood and Feelings Questionnaire', 'Repetitive Behavior Scale',
       'Screen for Child Anxiety Related Disorders - Parent report',
       'Social Aptitudes Scale', 'Social Communication Questionnaire',
       'Social Responsiveness Scale-2',
       'Strengths and Difficulties Questionnaire (with impact supplement)',
       'Strengths and Weaknesses Assessment of ADHD and Normal Behavior',
       'The Columbia Impairment Scale-Parent Report Version',
       'WHO Disability Assessment Schedule – Parent Report']

df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Parent Measures') & 
                  (df_classify['domains']=='Demographic Questionnaire Measures')]


df1 = df1[df1['measures'].isin(measures)]
visualize.predictive_modeling(df=df1)

Parent Measures - Interview of Emotional and Psychological Function


df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Parent Measures') & 
                  (df_classify['domains']=='Interview of Emotional and Psychological Function')]


visualize.predictive_modeling(df=df1)

Child Measures - Cognitive Testing


df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Child Measures') & 
                  (df_classify['domains']=='Cognitive Testing')]


visualize.predictive_modeling(df=df1)

Child Measures - Questionnaire_Measures_of_Emotional_and_Cognitive_Status


df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Child Measures') & 
                  (df_classify['domains']=='Questionnaire Measures of Emotional and Cognitive Status')]


visualize.predictive_modeling(df=df1)

Child Measures - Questionnaire_Measures_of_Emotional_and_Cognitive_Status


df1 = df_classify[(df_classify['target']=='DX_01_Cat_binarize') & 
                  (df_classify['assessment']=='Child Measures')]

cols = ['Physical Fitness and Status', 'Neurologic Function', 'Physiologic Function', 'Vision', 'Motor Skills']

df1 = df1[df1['domains'].isin(cols)]

visualize.predictive_modeling(df=df1)
#import plotly.express as px

# interactive visualization of features
#@widgets.interact(
 #               feature=df_feature['features'].unique(),
 #               )

#def visualize_features(feature):
#    df = df_feature[df_feature['features']==feature]
#    fig = px.line(df, x='feature_names_sum', y='feature_sum', markers=True, title=feature)
#    fig.update_xaxes(showticklabels=False)
#    fig.update_xaxes(type='category')
    
#    fig.show()