Enhancing Task In-Progress Time Predictions through Affective and Personality Factors
Creators: name: Silva, Leo Moreira
name: Barreto, Cephas
name: Lima, Margarida
name: Madeira, Henrique
Publisher: name: Zenodo
Year: 2025

description: # README for "Enhancing Task In-Progress Time Predictions through Affective and Personality Factors"

Welcome to the companion data and resources for the paper titled "Enhancing Task In-Progress Time Predictions through Affective and Personality Factors." This guide will walk you through the steps to reproduce the study, validate the results, analyze the data, and review key metrics.

## Folder Structure- 'big_five/': Contains Big Five personality scores of participants.- 'dataset/': Includes all datasets used in the study.- 'machineLearningCompanyAllProjects/': Python project for running machine learning algorithms.- 'notebooks/': Jupyter notebooks used for analysis.- 'surveys/': Survey responses from each project involved in the study.

## Step-by-Step Instructions

Folder 'machineLearningCompanyAllProjects/' already contains the execution results of the algorithms used in this paper. To re-execute them, run the algorithms via command-line, allowing flexibility in model selection.

**Example Commands:**python3.11 -m sklearnex main.py -t False --models decision-tree,random-forest,logistic-regression,svc,knn,mlp-classifier -b True -e True -a True

python3.11 -m sklearnex main.py -t False --models decision-tree -b True -e True -a True

We use sklearnex, an Intel(R) Extension for Scikit-learn to accelerate Scikit-learn applications and in conformance with all Scikit-Learn APIs and algorithms. For installation, please refer to https://pypi.org/project/scikit-learn-intelex/

### Step 1 - Survey DistributionGenerate distribution charts from the survey responses.

**Key Operations:**1. Load survey data.2. Generate distribution charts.

### Step 2 - Participants Big FiveCreate charts to visualize participants' Big Five personality scores.

**Key Operations:**1. Load Big Five scores data.2. Generate charts for each trait.

### Step 3 - Correlation AnalysisAnalyze the correlation between dataset features and task duration.

**Key Operations:**1. Perform correlation analysis on key features.2. Identify significant correlations.

### Step 4 - Descriptive StatisticsConduct a descriptive analysis of the dataset to summarize its key features.

**Key Operations:**1. Load the dataset.2. Perform descriptive statistical analysis.

### Step 5 - Dataset DistributionGenerate a distribution plot to visualize the data.

**Key Operations:**1. Load the general results file.2. Generate distribution plots.

### Step 6 - Non Weighted x WeightedRun statistical tests comparing weighted and non weighted models.

**Key Operations:**1. Load consolidated machine learning results.2. Perform statistical comparisons.

### Step 7 - With Affective States x Without AffectiveRun statistical tests comparing models trained with and without affective state data.

**Key Operations:**1. Load consolidated machine learning results.2. Perform statistical comparisons.

### Step 8 - Identify Best ModelsIdentify the top-performing models from each algorithm.

**Key Operations:**1. Review model results.2. Identify the best-performing models.

### Step 9 - Train Specific ModelTrain the best model identified in the previous step and perform feature selection (EFS).

**Key Operations:**1. Load model results.2. Train and evaluate the top-performing model.

### Step 10 - Confusion MatrixGenerate the confusion matrix for the top-performing model to evaluate classification accuracy.

**Key Operations:**1. Calculate confusion matrices.2. Use the matrix to assess the model's reliability.

### Step 11 - Surveys by Age and ExperiencesGenerate a heatmap chart with surveys and developers data.

**Key Operations:**#### 1. Read the surveys and developers data#### 2. Generate heatmap chart

### Step 12 - Surveys by Personality TraitsRun correlation tests with surveys and personality traits data.

**Key Operations:**#### 1. Read the surveys and developers data#### 2. Identify significant correlations

### Step 13 - Early Afternoon and Late AfternoonRun correlation tests among surveys answers (late and early afternoon).

**Key Operations:**#### 1. Read the surveys#### 2. Identify significant correlations

### Step 14 - Non Respondents InsightsRun correlation tests among non respondents.

**Key Operations:**#### 1. Read the surveys#### 2. Identify significant correlations

---

By following these steps, you can fully reproduce the study, verify the results, and analyze the outcomes presented in the paper. Feel free to reach out for assistance if you have any questions or encounter any issues.