Top Banner
Learning Analytics at Marist College: From a single node prototype to a cluster computing platform Eitel Lauría (*) Peggy Kuck (**), Edward Presutti (**), Sandeep Jayaprakash (**), Matthew Sokoloff (**) (*) School of Computer Science & Mathematics (**) Enterprise Solutions for Data Science & Analytics Marist College Enterprise Computing Conference (ECC 2016) June 12 - 14, 2016
16

Learning Analytics at Marist College: From a single node ...

Oct 01, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Learning Analytics at Marist College: From a single node ...

Learning Analytics at Marist College:From a single node prototype to a

cluster computing platformEitel Lauría (*)

Peggy Kuck (**), Edward Presutti (**), Sandeep Jayaprakash (**), Matthew Sokoloff (**)

(*) School of Computer Science & Mathematics(**) Enterprise Solutions for Data Science & Analytics

Marist College

Enterprise Computing Conference (ECC 2016)June 12-14, 2016

Page 2: Learning Analytics at Marist College: From a single node ...

Alarming Stats<40% 4-year completion rate across all four-year institutions

in the US21% for Black students

25% for Hispanic students

<60% 6-year completion rate for four-year institutions

40% for Black students

49% for Hispanic Students

<45% 25-to-34 Year-Olds with an Associate Degree or Higher

(US ranked 14th among 36 developed nations)

Sources: U.S. Dept. of Education, Postsecondary Education Data System (2009)CollegeBoard, Advocacy & Policy Center, The Completion Agenda 2011 /2012 Progress Report

Enterprise Computing Conference (ECC2016) June 12-14, 2016

Page 3: Learning Analytics at Marist College: From a single node ...

Open Academic Analytics Initiative @ Marist

EDUCAUSE Next Generation Learning Challenges (NGLC) grantFunded by Bill and Melinda Gates Foundation

Create “early alert” framework:• Use machine learning on large datasets to predict academically

at-risk students in initial weeks of a course• Deploy intervention to improve chances of success

Based on Open ecosystem for academic analytics• Sakai Collaboration and Learning Environment• Weka + Kettle (Pentaho BI)

Collaboration with IBM (SPSS Modeler for prototyping)

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 4: Learning Analytics at Marist College: From a single node ...

Learning Analytics Processor @ Marist: Early AlertHow does it actually work?(binary classification problem)

Hardware Platform: IBM zEnterprise 114 with BladeCenter Extension (zBX)Virtualized Servers: 64 bit, 16/32 GB RAMLinux Red Hat

Extraction, Transformation

& Loading

Scoring(predictions on

new student data using library of persisted learnt

classifiers)

Predictive Model Building (classifiers learnt

from data)

New StudentData

(early in the Semester)

Prediction of At-risk studentsSingle node architecture

Relational Storage

Intervention

Student Academic

Data

Student Demographic

Data

LMS Event Log Data

LMS Gradebook Data

June 12-14, 2016Enterprise Computing Conference (ECC2016)

SATs , GPA,HS ranking, Course size,Course grade(target feature)

age, gender,ethnicity,income level

SessionsResourcesLessonsAssignmentsForumsTests

Partialcontributionsto final grade

Logistic RegressionSVMsNaïve BayesJ48 Decision Trees

Page 5: Learning Analytics at Marist College: From a single node ...

Promising OutcomesPhase I: Single Node (OAAI) Accuracy Recall FP RateMarist

- 3 semesters, 25K records each 86% 87% 13%

Pilots (only first Year Courses , 2 semesters, avg)Results followed quality of input data

- Savannah State 71% 76% 25%

- College of the Redwoods 80% 81% 16%

- Cerritos CC 70% 72% 25%

- NCAT 68% 50% 30%

The project was well received:

• Computerworld Honors Laureate and Finalist in the Emerging Technology category (over 700 nominations)

• Campus Technology Innovator Award (one of only 9 recipients, over 230 applied)

• The OAAI became a de facto open source reference architecture for learning analytics

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 6: Learning Analytics at Marist College: From a single node ...

Learning Analytics Processor @ Marist 2.0: Early AlertCluster Computing Architecture

New StudentData

(early in the Semester)

Prediction of At-risk students

Intervention

Scoring(predictions on

new student data using library of persisted learnt

classifiers)

Hardware Platform (Dev)Linux VMs (32GB RAM) running onIBM PureFlex System

Distributed Storage (HDFS)& Processing

Extraction, Transformation

& Loading

Predictive Model Building

(classifiers learnt from data)

Job

Sch

edul

ing

Student AcademicData

Student DemographicData

LMS Event Log Data

LMS Gradebook Data

Library Data

Student EngagementData

Social network Data

and more …

CURRENT

FUTURE

Scales well for Big Data use cases(more volume & variety)

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Logistic RegressionRandom ForestsNaïve Bayes

Page 7: Learning Analytics at Marist College: From a single node ...

ETL Logical Flow

June 12-14, 2016Enterprise Computing Conference (ECC2016)

MySqlFlattened Tables

LMSMoodle/Sakai

Pre-ETL Store in HDFS

Files Moved into Hive(External linked files were also considered)

HQLFinal Output

Multiple HQL Files execute in order (some in parallel)

Table with Predictors for consumption by training, testing and scoring flows

ETL Process expects 5 source tables:– Activity, Course, Enrollment, Grade, Personal– LMS Extract - Initial extracts from LMS were stored in a MySql database– Exposed Views – Views were provided to “hide” database complexity facilitating ease of

import operation: vw_activity, course_vw, enrollment_vw, grade_vw, personal_vw

Page 8: Learning Analytics at Marist College: From a single node ...

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Clear Transient Directory

fork

Load Course into

HDFS

Load Activity into

HDFS

Load Enrollment into HDFS

fork

Load grade into HDFS

Load Personal

into HDFS

Oozie FlowCreate DB and lookup

Table

Copy File into all Tables

Create Final Output Table

Populate Final Output

table

Change transient

permissions

* Five Sqoop load steps could be in parallel, cluster resources dictate capacity of simultaneous actions** Configuration issues resulted in separating Sqoop load and Hive store separation

Page 9: Learning Analytics at Marist College: From a single node ...

ETL Lessons Learned HQL is not SQL (you are in a file system not a database)

• Implementation techniques like the creation of views and in particular cascading views caused significant performance issues when processing data

• Transient data was resolved with temporary tables for cascading data

o Also allowed for debugging ETL stages

Inbound data from MySql was sourced from views, keys and indexes were unavailable for Sqoop optimization

Linux tmp space for logs and transient files was undersized and caused cluster failures that presented as “waiting on resources” – heart beats on Yarn jobs

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Data Volumes (NCSU one semester) Distinct Students ~32k Course Count ~7k Enrollment ~157k Events ~30m

Data Size (NCSU one semester) Activty ~ 4gb Course ~ 506kb Enrollment ~ 14mb Grade ~ 216mb Personal ~ 4mb

Page 10: Learning Analytics at Marist College: From a single node ...

Predictive Modeling (overview)• Software

– PySpark (Spark + Python API)– ML– ML Lib

• Machine Learning Algorithms– Logistic Regression with LBFGS– Decision Tree Ensembles (Random Forest)– Naïve Bayes

• Architecture– 2 flows

• Training/Testing• Prediction (scoring)

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 11: Learning Analytics at Marist College: From a single node ...

Predictive Modeling (process)• Steps:

– Import from HDFS– Impute missing values

• Categorical variables are assigned to the mode• Continuous variables are assigned to the mean

– Stratified Sampling (Training flow only)• Even distribution of positive and negative outcomes

– ML pipeline (Transformations, detailed on the next slide)– Load saved ML Lib model and make predictions (Prediction flow only)– Save output to HDFS

• Training flow produces a model as output with prediction on data with known results for validation purposes.

• Testing flow produces predictions and labels as output• Output must be used to confirm predictive performance.

• Recall (TP Rate)• FP Rate• Accuracy (not good for unbalanced datasets)

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 12: Learning Analytics at Marist College: From a single node ...

Predictive Modeling (ML pipeline)

• Takes the preprocessed data and applies transformations and machine learning algorithms

• Our Process:– Apply the String Indexer to categorical data

The numerical value assigned to a categorical data point is a function of its relative frequency. Most frequent category is assigned a value of zero.

– Indicate the target variable and predictors using the Vector Assembler

– Convert to ML Lib apply algorithm of choice (detailed on the next slide)Logistic regression was chosen for production since it had the best results

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 13: Learning Analytics at Marist College: From a single node ...

Predictive Modeling (model persistence)• Spark ML does not support model persistence in Python

– This library was less than a month old when we began using it

• The solution was to use Spark ML Lib which supports saving models– We converted the output of the ML Pipeline into an RDD, a

datatype that ML Lib is compatible with. – Steps:

• Convert the pipeline into a Pandas DataFrame• Turn the Pandas DataFrame into a matrix• Create a Pyspark RDD from the matrix• Construct a LabeledPoint object from the RDD• Pass the LabeledPoint to the ML Lib train function to generate

a model– At this point we were able to call the save function offered by ML

Lib to save to HDFS

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 14: Learning Analytics at Marist College: From a single node ...

Promising Outcomes (II)

Phase II: Cluster Computing Accuracy Recall FP Rate

Marist

- 3 semesters, 25K records each 86% 87% 14%

North Carolina State University (first set of results, May 2016)

- 3 semesters, 160K recs each 81% 77% 18%

- 3 semesters, online, 85K recs each 80% 82% 19%

• NCSU is currently implementing Marist LAP framework

• Marist LAP chosen as a key component of the UK’s national analytics infrastructure provided by Jisc

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 15: Learning Analytics at Marist College: From a single node ...

Questions ?

June 12-14, 2016Enterprise Computing Conference (ECC2016)

Page 16: Learning Analytics at Marist College: From a single node ...

Thank You !!

June 12-14, 2016Enterprise Computing Conference (ECC2016)