As far as I understand your post, I'd approach and try it in the CreateML in the following way:
CGPoint is a struct and can be initialized with doubles or ints or cgfloats. Assuming double, I would suggest that you create a column for touch locations as X1 ,Y1, X2, Y2, Y3, Y4 in series, and last column as your target (ellipse, triangle, rectangle). Each row will be your series of touches and the number of columns will be equal to the longest of your series. The shorter series can have 0 in unused columns.
Topic:
Machine Learning & AI
SubTopic:
Core ML
Tags: