IP Library Granted Patent US 7,299,215
Granted Patent B2
US 7,299,215 · App. 10/419,761 · Granted Nov 20, 2007

Cross-validation for naive bayes data mining model

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,299,215
App. No.
10/419,761
Granted
Nov 20, 2007
Kind
B2
Abstract

A system, method, and computer program product provides a useful measure of the accuracy of a Naïve Bayes predictive model and reduced computational expense relative to conventional techniques. A method for measuring accuracy of a Naïve Bayes predictive model comprises the steps of receiving a training dataset comprising a plurality of rows of data, building a Naïve Bayes predictive model using the training dataset, for each of at least a portion of the plurality of rows of data in the training dataset incrementally untraining the Naïve Bayes predictive model using the row of data and determining an accuracy of the incrementally untrained Naïve Bayes predictive model, and determining an aggregate accuracy of the Naïve Bayes predictive model.

Claims (130)

1. A method for measuring accuracy of a Naïve Bayes predictive model for creating a recommendation or prediction of a tangible result comprising the steps of:

defining code executable by a database management system for performing cross-validation by incremental untraining of the Naïve Bayes predictive model;

executing the defined code so as to perform cross-validation of the Naïve Bayes predictive model;

outputting an indication of the accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

2. The method of claim 1 , wherein the executing step comprises the steps of:

receiving a training dataset comprising a plurality of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of rows of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using the row of data, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model; and

determining an aggregate accuracy of the Naïve Bayes predictive model.

3. The method of claim 2 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

4. The method of claim 3 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of the row of data equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

5. The method of claim 4 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

6. The method of claim 5 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

7. A system for measuring accuracy of a Naïve Bayes predictive model for creating a recommendation or prediction of a tangible result comprising:

a processor operable to execute computer program instructions;

a memory operable to store computer program instructions executable by the processor; and

computer program instructions stored in the memory and executable to perform the steps of:

defining code executable by a database management system for performing cross-validation by incremental untraining of the Naïve Bayes predictive model;

executing the defined code so as to perform cross-validation of the Naïve Bayes predictive model;

outputting an indication of the accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

8. The system of claim 7 , wherein the executing step comprises the steps of:

receiving a training dataset comprising a plurality of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of rows of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using the row of data, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model; and

determining an aggregate accuracy of the Naïve Bayes predictive model.

9. The system of claim 8 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

10. The system of claim 9 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of the row of data equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

11. The system of claim 10 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

12. The system of claim 11 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

13. A computer program product for measuring accuracy of a Naïve Bayes predictive model for creating a recommendation or prediction of a tangible result comprising:

a computer readable medium;

computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of:

defining code executable by a database management system for performing cross-validation by incremental untraining of the Naïve Bayes predictive model;

executing the defined code so as to perform cross-validation of the Naïve Bayes predictive model;

outputting an indication of the accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

14. The computer program product of claim 13 , wherein the executing step comprises the steps of:

receiving a training dataset comprising a plurality of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of rows of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using the row of data, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model; and

determining an aggregate accuracy of the Naïve Bayes predictive model.

15. The computer program product of claim 14 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

16. The computer program product of claim 15 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of the row of data equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

17. The computer program product of claim 16 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

18. The computer program product of claim 17 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

19. A method for measuring accuracy of a Naïve Bayes predictive model for creating a recommendation or prediction of a tangible result comprising the steps of:

receiving a training dataset comprising a plurality of partitions of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of partitions of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using rows of data in the partition, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model;

determining an aggregate accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

20. The method of claim 19 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

21. The method of claim 20 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of a row of data in the partition equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data in the partition does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

22. The method of claim 21 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

23. The method of claim 22 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

24. A system for measuring accuracy of a Naïve Bayes predictive for creating a recommendation or prediction of a tangible result model comprising:

a processor operable to execute computer program instructions;

a memory operable to store computer program instructions executable by the processor; and

computer program instructions stored in the memory and executable to perform the steps of:

receiving a training dataset comprising a plurality of partitions of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of partitions of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using rows of data in the partition, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model;

determining an aggregate accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

25. The system of claim 24 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

26. The system of claim 25 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of a row of data in the partition equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data in the partition does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

27. The system of claim 26 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

28. The system of claim 27 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

29. A computer program product for measuring accuracy of a Naïve Bayes predictive model for creating a recommendation or prediction of a tangible result comprising:

a computer readable storage medium;

computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of:

receiving a training dataset comprising a plurality of partitions of rows of data;

building a Naïve Bayes predictive model using the training dataset;

for each of at least a portion of the plurality of partitions of data in the training dataset:

incrementally untraining the Naïve Bayes predictive model using rows of data in the partition, and

determining an accuracy of the incrementally untrained Naïve Bayes predictive model;

determining an aggregate accuracy of the Naïve Bayes predictive model; and

creating a recommendation or prediction of a tangible result using the Naïve Bayes predictive model.

30. The computer program product of claim 29 , wherein the step of building the Naïve Bayes predictive model using the training dataset comprises the step of:

computing probabilities of target values based on counts of occurrences of target values in training dataset.

31. The computer program product of claim 30 , wherein the step of incrementally untraining the Naïve Bayes predictive model comprises the steps of:

if a target value of a row of data in the partition equals a target value being computed, computing a probability of the target value based on a count of occurrence of the target value minus one; and

if the target value of the row of data in the partition does not equal the target value being computed, computing a probability of the target value based on the count of occurrence of the target value.

32. The computer program product of claim 31 , wherein the step of determining an accuracy of the incrementally untrained Naïve Bayes predictive model comprises the steps of:

applying the incrementally untrained Naïve Bayes predictive model to the row of data to generate an output; and

determining an error between the model output and the row of data.

33. The computer program product of claim 32 , wherein the step of determining an aggregate accuracy of the Naïve Bayes predictive model comprises the step of:

determining an average of the determined errors between the model output and the row of data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2003
From: DRESCHER, GARY L.; KUNTALA, PAVANI
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 013988/0743 →
Continuity (2)
Provisional Application 6037911000 · May 10, 2002
Related Publication 20030212851A1 · Nov 13, 2003