Skip to content

About

Data mining project using R for classification and clustering analysis. Uses rpart decision trees for classification and K-Means, PAM, and Gower Distance for clustering user engagement and demographic data from the Albay Reality AR-based cultural heritage application.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

BARABad Albay Reality

Data Mining Analysis of an AR-Based Cultural Heritage Mobile Application

CS ELEC 2 - Data Mining | BS Computer Science 3B Submitted: May 31, 2026

Team

  • Abion, Gerik Jed L.
  • Acuña, Angelo James M.
  • Balingbing, Raymond C.
  • Balquin, John Jacob C.
  • Rivera, Elyzel Jade P.

Table of Contents

  1. Overview
  2. Problem Statement & Objectives
  3. Dataset
  4. Data Preprocessing
  5. Feature Engineering
  6. Feature Selection
  7. Data Mining Techniques
  8. Results & Findings
  9. Discussion
  10. Conclusion
  11. Tools & Libraries
  12. References

Overview

Albay Reality is an Augmented Reality (AR) mobile application made to promote and preserve the cultural heritage of Albay, Philippines. It provides 3D visualization of cultural sites, historical information, interactive quizzes, and map-based navigation.

This project applies data mining techniques to the user interaction data generated by the app's quiz/game module. The goal is to understand user engagement patterns, cultural awareness, and whether demographic or behavioral factors can help predict quiz proficiency.

Problem Statement & Objectives

Traditional heritage education such as textbooks, brochures, and static displays can be less engaging for learners, tourists, and local communities. Cultural awareness, especially among younger generations, can also be affected when digital tools are not used to promote local culture.

Albay Reality addresses this through an interactive AR experience, while this study uses data mining to analyze the resulting user data and provide insights for better educational and cultural content.

Objectives

  1. Identify patterns in user engagement and quiz performance related to Albay's cultural heritage sites.
  2. Determine whether demographic factors such as age group, location, and background influence cultural awareness and learning outcomes.
  3. Identify user groups that show lower familiarity with specific heritage sites.
  4. Provide data-driven recommendations for cultural preservation and educational content design.

Dataset

  • Source: raw_quiz_data.csv, exported from the Albay Reality application database.
  • Raw Records: 93 quiz attempts
  • Attributes: 17 total attributes
  • Data Type: User profile and quiz performance data
# Attribute Type Description
1 userId String Unique identifier per registered user
2 firstname String User's first name
3 middlename String User's middle name
4 lastname String User's last name
5 email String User's email address
6 sex String User's sex
7 region String User's region
8 province String User's province
9 city_municipality String User's city/municipality
10 birthDate String User's date of birth
11 quizId String Unique identifier per quiz
12 totalTimeTaken Integer Total time spent per quiz attempt
13 correct Integer Number of correct answers
14 incorrect Integer Number of incorrect answers
15 missed Integer Number of missed questions
16 dateTaken String Date of the quiz attempt
17 answers_json String JSON record of per-question results

The dataset is record data, where each row represents one quiz attempt across four heritage-site-themed quizzes.

Data Preprocessing

Handling Missing Values

Some birthDate values were missing or could not be parsed. Instead of removing these records, invalid or missing dates were converted to None. These were then assigned to the "Unknown" category through the age_group() function.

This allowed the records to remain in the dataset while still providing a usable categorical value for the decision tree and Gower-distance clustering.

Per-User Aggregation

The raw dataset contained one row per quiz attempt, and some users attempted multiple quizzes. The attempts were aggregated by userId.

Numeric fields such as totalTimeTaken, correct, incorrect, and missed were summed into:

  • attempt_count
  • total_time
  • total_correct
  • total_incorrect
  • total_missed

This produced one row per unique user and prevented users with more quiz attempts from having too much influence on the classification and clustering results.

Feature Engineering

The following features were created during preprocessing:

Feature Type Derivation
age Numeric Computed from birthDate
age_group Categorical Grouped based on age
proficiency_level Categorical Computed from the user's overall quiz percentage

Age Groups

  • Child - 12 and below
  • Adolescent/Young Adult - 13 to 18
  • Adult - 19 to 59
  • Senior - 60+
  • Unknown - Missing or invalid birth date

Proficiency Levels

The proficiency level was based on NAT-style thresholds:

Score Range Label
0-24 Not Proficient
25-49 Low Proficient
50-74 Nearly Proficient
75-89 Proficient
90-100 Highly Proficient

proficiency_level was used as the target for classification but was excluded from clustering since clustering should explore patterns without directly using the outcome.

Feature Selection

The final features used for modeling were:

  • attempt_count
  • total_time
  • sex
  • province
  • city_municipality
  • age
  • age_group

Excluded Features

  • Identifiers: userId, names, and email were removed since they do not provide useful predictive information.
  • Constant columns: region was excluded because it had no variation.
  • Score-derived fields: total_correct, overall_percentage, and similar fields were excluded from classifier inputs to prevent the model from directly using the answer it is supposed to predict.

Data Mining Techniques

1. Classification, rpart Decision Tree

The project used the rpart decision tree with 5-fold cross-validation.

The decision tree was selected because it is:

  • Easy to interpret
  • Suitable for mixed categorical and numeric data
  • Reasonable for small datasets

The model recursively splits the data based on features that best separate the proficiency classes and then prunes the tree to reduce unnecessary complexity.

Because of the small dataset, the initial model struggled to identify meaningful patterns. Increasing the aggregated dataset to 32 users improved the Kappa score from 0 to 0.245, but the classification results were still limited.

2. Clustering, K-Means

K-Means was used to group users based on their engagement.

The features used were:

  • attempt_count
  • total_time

Both features were standardized so they could contribute equally to the clustering process.

The Elbow Method suggested 3 clusters. One outlier user with 13 attempts was removed to avoid heavily affecting the cluster centers.

3. Clustering, PAM with Gower Distance

PAM clustering with Gower distance was used to group users based on demographic information:

  • age_group
  • province
  • city_municipality

Gower distance was used because these features are mostly categorical.

The Silhouette Width suggested 5 clusters as the optimal number of demographic groups.

Results & Findings

Classification Results

  • Aggregated Dataset: 32 users
  • Training/Test Split: 70/30
  • Test Accuracy: 0.60
  • Kappa: 0.245

The model leaned toward the lower proficiency classes and did not predict the Proficient class on the test set. It also struggled to distinguish between Low Proficient and Not Proficient.

Variable Importance

The variables ranked by importance were:

  1. age
  2. total_time
  3. city_municipality
  4. attempt_count
  5. province
  6. sex
  7. age_group

Decision Tree Findings

The root split was based on age < 21.

Younger users were generally directed toward the Low Proficient class, while users aged 21 and above were generally classified as Nearly Proficient.

The tree also used city_municipality, attempt_count, and age to make further splits.

However, the model did not use Proficient as a terminal prediction, showing that the current dataset is still too small for a reliable 4-class classification model.

Engagement Clustering

The K-Means model produced three user personas:

Persona Avg. Attempts Avg. Total Time (s) Proficiency Mix
Tester / Speed-Runner 1.53 45.24 8 Low, 6 Nearly, 3 Not Proficient
Dedicated 4.00 162.13 2 Low, 6 Nearly Proficient
Casual 3.67 62.00 2 Low, 3 Nearly, 1 Proficient

The model had a silhouette score of 0.548, showing moderate cluster separation.

Users with more attempts and longer quiz times tended to have better proficiency results, while low-engagement users tended to have lower proficiency. However, each group still had mixed results, so engagement alone cannot strongly predict proficiency.

Demographic Clustering

The PAM model produced five demographic groups:

Group Count Dominant Age Group Dominant City
Dem Group 1 4 Adult Tabaco
Dem Group 2 7 Adult Legazpi City
Dem Group 3 3 Child Tabaco
Dem Group 4 3 Adolescent/Young Adult Tabaco
Dem Group 5 6 Adult Daraga (Locsin)

The model had a silhouette width of 1.00, showing very clear demographic separation. However, this does not necessarily mean that the groups are also separated by proficiency.

Daraga adults showed a stronger tendency toward higher proficiency, while some groups from Legazpi City and Tabaco leaned more toward lower proficiency levels.

Discussion

Classification

The main challenge was the small dataset. Only 22 users were available for training after the split, and some proficiency classes had very few examples.

Because of this:

  • The Kappa score was low at 0.245.
  • Some classes were difficult to predict.
  • The test set was small and unstable.
  • The model could not reliably learn patterns for rarer proficiency categories.

A larger dataset would be the biggest improvement for the classification model.

Clustering

The small dataset also limited the clustering analysis. Instead of using clustering for prediction, it was mainly used to explore user behavior and demographic patterns.

One user with 13 quiz attempts was removed as an outlier to avoid affecting the engagement clusters too much.

The resulting clusters still contained mixed proficiency levels, so it is difficult to directly connect a specific cluster with a specific proficiency outcome.

A larger dataset would help create more reliable clusters and stronger connections between engagement, demographics, and proficiency.

Conclusion

The main takeaway from this project is that the current dataset is still too small to make strong or generalizable conclusions.

The classification model had limited predictive power, while clustering was more useful for exploring patterns in user behavior and demographics.

Even with the dataset limitations, the clustering results showed two notable patterns:

  • Users who spent more time on quizzes and interacted more with the app tended to perform better than users who rushed through or interacted less.
  • Adult users from Daraga showed comparatively higher proficiency than users from Legazpi City or Tabaco.

These findings should still be treated as tentative because of the small sample size.

Overall, the project shows that data mining can help understand how users interact with Albay Reality and can provide insights for improving its cultural and educational content. However, having more users and more quiz interactions would be important for producing more reliable results.

Tools & Libraries

Classification

  • rpart
  • rpart.plot
  • dplyr

Language: R

Clustering

  • cluster
  • dplyr
  • ggplot2

Methods: K-Means, PAM, Gower Distance

Language: R

References

  • Source dataset: raw_quiz_data.csv, Albay Reality application database
  • Roldan, S. J. (2023). Adaptability to digital tourism by the travel and tour operators in Albay. International Journal of Education, Business and Economics Research.
  • Du, L., Kuo, W. T., Tang, Y. M., & Ho, G. (2026). Comparative analysis of traditional and metaverse-based education: impacts on students' all-round development. BMC Psychology, 14(1).

About

Data mining project using R for classification and clustering analysis. Uses rpart decision trees for classification and K-Means, PAM, and Gower Distance for clustering user engagement and demographic data from the Albay Reality AR-based cultural heritage application.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages