Methods, systems, and computer program products for category oversampling for imbalanced machine learning are provided herein. A method includes identifying an anchor data point in a given class of data points underrepresented among multiple classes in a data set of multiple data points, wherein each data point represent a vector; determining a number of data points in the given class that neighbor the anchor data point, wherein the number comprises two or more; applying a weight to (i) each of the number of data points to create a number of weighted neighboring data points, and (ii) the anchor data point to create a weighted anchor data point, wherein the sum of all weights is equal to one; performing a vector summation by summing the number of weighted neighboring data points and the weighted anchor data point; and generating a synthetic data point based on said vector summation.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising the following steps: identifying an anchor data point in a given class of data points, wherein the given class of data points is underrepresented among multiple classes in a data set of multiple data points, wherein each of the multiple data points represents a vector; determining a given number of data points in the given class that neighbor the anchor data point, wherein the given number comprises two or more; applying a weight to (i) each of the given number of data points in the given class that neighbor the anchor data point to create a given number of weighted neighboring data points, and (ii) the anchor data point to create a weighted anchor data point, wherein the sum of all applied weights is equal to one; performing a vector summation by summing the given number of weighted neighboring data points and the weighted anchor data point; and generating a synthetic data point to be associated with the given class of data points, wherein the synthetic data point represents the result of said vector summation; wherein at least one of the steps is carried out by a computing device. 2. The method of claim 1, comprising: repeating all of said steps for a given number of iterations. 3. The method of claim 2, wherein the given number of iterations is identified by a user. 4. The method of claim 2, wherein the given number of iterations comprises the number of iterations required to establish a representation balance among the multiple classes in the data set. 5. The method of claim 1, wherein the given class of data points comprises a set of data points represented as n-dimensional feature vectors in an n-dimensional feature space. 6. The method of claim 5, wherein the generated synthetic data point subsists within the n-dimensional feature space. 7. The method of claim 1, wherein said determining comprises implementation of a k-nearest neighbors algorithm. 8. The method of claim 1, wherein said identifying the anchor data point comprises randomly selecting the anchor data point. 9. The method of claim 1, wherein said weight applied to each of the neighboring data points is based on proximity to the anchor point. 10. The method of claim 1, wherein said weight applied to each of the neighboring data points is randomly selected. 11. The method of claim 1, wherein said weight applied to the anchor data point is equal to the number of data points in the given class that neighbor the anchor data point. 12. The method of claim 11, wherein said weight applied to the anchor data point is equal to the k-nearest neighbors of the anchor data point. 13. The method of claim 1, wherein said identifying the anchor data point is executed by an anchor data point determination engine of a synthetic data point generation computing device. 14. The method of claim 1, wherein said determining the given number of data points in the given class that neighbor the anchor data point is executed by a neighboring data points determination engine of a synthetic data point generation computing device. 15. The method of claim 1, wherein said applying a weight to each of the given number of data points in the given class that neighbor the anchor data point is executed by a weight application engine of a synthetic data point generation computing device. 16. The method of claim 1, wherein said applying a weight to the anchor data point is executed by a weight application engine of a synthetic data point generation computing device. 17. The method of claim 1, wherein said performing the vector summation is executed by a synthetic data point generator engine of a synthetic data point generation computing device. 18. The method of claim 1, wherein said generating the synthetic data point is executed by a synthetic data point generator engine of a synthetic data point generation computing device. 19. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to: identify an anchor data point in a given class of data points, wherein the given class of data points is underrepresented among multiple classes in a data set of multiple data points, wherein each of the multiple data points represents a vector; determine a given number of data points in the given class that neighbor the anchor data point, wherein the given number comprises two or more; apply a weight to (i) each of the given number of data points in the given class that neighbor the anchor data point to create a given number of weighted neighboring data points, and (ii) the anchor data point to create a weighted anchor data point, wherein the sum of all applied weights is equal to one; perform a vector summation by summing the given number of weighted neighboring data points and the weighted anchor data point; and generate a synthetic data point to be associated with the given class of data points, wherein the synthetic data point represents the result of said vector summation. 20. A system comprising: a memory; and at least one processor coupled to the memory and configured for: identifying an anchor data point in a given class of data points, wherein the given class of data points is underrepresented among multiple classes in a data set of multiple data points, wherein each of the multiple data points represents a vector; determining a given number of data points in the given class that neighbor the anchor data point, wherein the given number comprises two or more; applying a weight to (i) each of the given number of data points in the given class that neighbor the anchor data point to create a given number of weighted neighboring data points, and (ii) the anchor data point to create a weighted anchor data point, wherein the sum of all applied weights is equal to one; performing a vector summation by summing the given number of weighted neighboring data points and the weighted anchor data point; and generating a synthetic data point to be associated with the given class of data points, wherein the synthetic data point represents the result of said vector summation.