See more information at https://www.codeforcville.org/lajc-expungement

The Purpose of the Auto-Encoder

This program takes as input all of the records for one person from the Virginia General District and Circuit Court Online Case Information System, as compiled by Ben Schoenfled at https://virginiacourtdata.org, and automatically codes each record as either eligable for criminal record expungment automatically or by petition at the present moment or pending a 7 or 10 year wait period, or not eligable for expungement, under Virginia’s new expungement law. The program also automatically generates the primary reason for a record’s expungability status.

Currently the program ignores infractions.

Loading the program and associated libraries

The source code is available and we can dig into it, but for the purposes of this demonstration we load the code into memory:

library(tidyverse)
library(randomForest)
library(DT)
source("codeexpunge.R")

Demonstration 1

We load one person’s data into R:

data <- read_csv("11000/1100000000800.csv", col_names = FALSE)
datatable(data)

Applying the auto-encoder:

data2 <- exp_coder(data)
## Warning: Unknown levels in `f`: Nolle Prosequi, Guilty In Absentia
datatable(data2)

Demonstration 2

We load the next person’s data into R:

data <- read_csv("11000/1100000000803.csv", col_names = FALSE)
datatable(data)

Applying the auto-encoder:

data2 <- exp_coder(data)
data2
## [1] "No records remaining after removing infractions"

Demonstration 3

We load the next person’s data into R:

data <- read_csv("11000/1100000000807.csv", col_names = FALSE)
datatable(data)

Applying the auto-encoder:

data2 <- exp_coder(data)
## Warning: Unknown levels in `f`: Nolle Prosequi, Guilty In Absentia
datatable(data2)

Demonstration 4

We load the next person’s data into R:

data <- read_csv("11000/1100000000811.csv", col_names = FALSE)
datatable(data)

Applying the auto-encoder:

data2 <- exp_coder(data)
datatable(data2)