# US 11,442,915 B2 · Methods and systems for extracting and visualizing patterns in large-scale data sets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,915 B2
- Document ID: US11442915B2
- Status: Granted
- Kind: B2
- Application number: 15/906,729
- Filed: 2018-02-27
- Published: 2018-08-30
- Granted: 2022-09-13
- Earliest claimed: 2017-02-27
- Assignees: Qliktech International AB
- Applicants: QlikTech International AB
- Inventors: Khoa Tan Nguyen
- Web page: https://patentgrep.com/patent/US11442915B2

## CPC

- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/287: {Visualization; Browsing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed are systems and methods for extracting and visualizing patterns in large-scale data sets. A data set comprising a plurality of data points is received. A plurality of connections between the plurality of data points is generated. Based on the plurality of connections, a plurality of groups from the plurality of data points is generated. A visual analytic comprising a plurality of geometrical shapes corresponding to the plurality of groups is generated.

## Claims

### Claim 1

A method comprising:
receiving a data set comprising a plurality of data points;
determining a plurality of connections between the plurality of data points;
generating, based on the plurality of connections, a plurality of groups from the plurality of data points;
generating, based on an inter-group similarity measurement and an intra-group similarity measurement for each group of the plurality of groups, a plurality of merged groups;
determining, for each merged group of the plurality of merged groups, a convex hull, wherein each convex hull comprises a plurality of edges;
determining, for each convex hull of each of the plurality of merged groups, a subset of the plurality of edges to be split; and
generating, at a user interface, based on the subset of the plurality of edges to be split for each convex hull of each of the plurality of merged groups, a visual analytic comprising a plurality of geometrical shapes, wherein each geometrical shape of the plurality of geometrical shapes corresponds to a merged group of the plurality of merged groups, and wherein each geometrical shape of the plurality of geometrical shapes is based on a result of splitting the subset of the plurality of edges for the convex hull of the corresponding merged group.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the plurality of connections between the plurality of data points comprises determining a Delaunay triangulation from the plurality of data points.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the plurality of connections between the plurality of data points comprises generating a minimum spanning tree (MST) from the Delaunay triangulation, the MST comprising the plurality of connections.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating the plurality of groups comprises generating a predefined number of groups.

### Claim 5 (depends on 4)

The method of claim 4, wherein generating the predefined number of groups comprises generating a predefined number of longest connections from the plurality of connections.

### Claim 6 (depends on 4)

The method of claim 4, wherein generating the predefined number of groups comprises:
identifying a subset of the plurality of connections having a length meeting a predefined threshold; and
removing the subset of the plurality of connections from the plurality of connections.

### Claim 7 (depends on 6)

The method of claim 6, wherein the predefined threshold is based on an average length of the plurality of connections.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the plurality of groups comprises:
determining a number of groups based on a distance metric defining a closeness between data points in a respective one of the plurality of groups; and
generating the plurality of groups according to the number of groups.

### Claim 9 (depends on 1)

The method of claim 1, wherein generating the plurality of merged groups comprises:
determining, based on the plurality of groups, at least one criterion associated with the plurality of groups that reduces the intra-group similarity measurement and increases the inter-group similarity measurement for each group of the plurality of groups; and
generating, based on the at least one criterion, the plurality of merged groups.

### Claim 10 (depends on 9)

The method of claim 9, wherein the at least one criterion comprises: a total number of groups, a number of data points within each group of the plurality of groups, or a centroid for each group of the plurality of groups.

### Claim 11

An apparatus comprising one or more processors and a memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:
receive a data set comprising a plurality of data points;
determine a plurality of connections between the plurality of data points;
generate, based on the plurality of connections, a plurality of groups from the plurality of data points;
generate, based on an inter-group similarity measurement and an intra-group similarity measurement for each group of the plurality of groups, a plurality of merged groups;
determine, for each merged group of the plurality of merged groups, a convex hull, wherein each convex hull comprises a plurality of edges;
determine, for each convex hull of each of the plurality of merged groups, a subset of the plurality of edges to be split; and
generate, at a user interface, based on the subset of the plurality of edges to be split for each convex hull of each of the plurality of merged groups, a visual analytic comprising a plurality of geometrical shapes, wherein each geometrical shape of the plurality of geometrical shapes corresponds to a merged group of the plurality of merged groups, and wherein each geometrical shape of the plurality of geometrical shapes is based on a result of splitting the subset of the plurality of edges for the convex hull of the corresponding merged group.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the processor executable instructions that cause the apparatus to determine the plurality of connections between the plurality of data points further cause the apparatus to determine a Delaunay triangulation from the plurality of data points.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the processor executable instructions that cause the apparatus to determine the plurality of connections between the plurality of data points further cause the apparatus to generate a minimum spanning tree (MST) from the Delaunay triangulation, the MST comprising the plurality of connections.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the processor executable instructions that cause the apparatus to generate the plurality of groups further cause the apparatus to generate a predefined number of groups.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the processor executable instructions that cause the apparatus to generate the predefined number of groups further cause the apparatus to generate a predefined number of longest connections from the plurality of connections.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the processor executable instructions that cause the apparatus to generate the predefined number of groups further cause the apparatus to:
identify a subset of the plurality of connections having a length meeting a predefined threshold; and
remove the subset of the plurality of connections from the plurality of connections.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the predefined threshold is based on an average length of the plurality of connections.

### Claim 18 (depends on 11)

The apparatus of claim 11, wherein the processor executable instructions that cause the apparatus to generate the plurality of groups further cause the apparatus to:
determine a number of groups based on a distance metric defining a closeness between data points in a respective one of the plurality of groups; and
generate the plurality of groups according to the number of groups.

### Claim 19 (depends on 11)

The apparatus of claim 11, wherein the processor executable instructions that cause the apparatus to generate the plurality of merged groups further cause the apparatus to:
determine, based on the plurality of groups, at least one criterion associated with the plurality of groups that reduces the intra-group similarity measurement and increases the inter-group similarity measurement for each group of the plurality of groups; and
generate, based on the at least one criterion, the plurality of merged groups.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the at least one criterion comprises: a total number of groups, a number of data points within each group of the plurality of groups, or a centroid for each group of the plurality of groups.
