Threshold determination method and threshold determination program

The threshold determination method simplifies the setting of machine learning thresholds by differentiating information gains to reduce local maxima, enhancing the accuracy and efficiency of logic and decision-making processes.

JP2026079497APending Publication Date: 2026-05-15FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJITSU LTD
Filing Date
2024-10-30
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing methods face difficulties in setting appropriate thresholds for variables in machine learning, leading to complex and cumbersome processes due to the presence of numerous candidate values, which complicates logic and business decision-making.

Method used

A threshold determination method that identifies the sum of information gains for each threshold value, calculates the maximum value by differentiating a function representing these gains, and repeatedly performs differentiation until a predetermined condition is met to determine the threshold, reducing the number of local maxima without altering the learned threshold value.

Benefits of technology

This approach simplifies the process of setting thresholds, improving the accuracy of logic and business decisions by reducing the number of local maxima and maintaining the significance of learned threshold values.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026079497000001_ABST
    Figure 2026079497000001_ABST
Patent Text Reader

Abstract

To make it easier to set variable thresholds. [Solution] The threshold determination device sorts candidate threshold values ​​for the explanatory variable "BMI" in ascending order, and calculates the maximum value of the total information gain by differentiation based on the total information gain corresponding to each sorted threshold value. The threshold determination device removes noise by finding the maximum value using differentiation. In the first noise reduction, the total information gain corresponding to points 1411 to 1418 on graph 1410 is calculated as the maximum value. If the number of maximum values ​​is large and the predetermined conditions are not met, the threshold determination device calculates the maximum value of the total information gain by differentiation based on the maximum value calculated immediately before (points 1411 to 1418) and the threshold value corresponding to that maximum value. In the second noise reduction, the total information gain corresponding to points 1421 to 1423 on graph 1420 is calculated as the maximum value, and the number of maximum values ​​is smaller than in the first noise reduction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a threshold determination method and a threshold determination program.

Background Art

[0002] Conventionally, in machine learning, when creating logic or making business decisions, a threshold of a variable (data variable) for classifying data may be set. Also, in order to improve the accuracy of logic or judgment, there are cases where multiple thresholds are set for one variable or thresholds are set in consideration of the relationship between multiple variables.

[0003] As a prior art, input data and correct answer data corresponding to the input data are obtained, and inference output data is generated by inputting the input data into an ensemble learning type inference device that performs inference based on the inference results of a plurality of inference devices. Then, additional learning processing is performed on some or all of the inference devices constituting the ensemble learning type inference device using the update amount based on the inference output data and the correct answer data.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the prior art, it may be difficult to set a threshold of a variable for classifying data in machine learning. For example, if there are too many candidate values for the threshold, the work becomes complicated and thus narrowing down is performed. However, in the prior art, it is impossible to appropriately narrow down the value of the threshold.

[0006] In one aspect, an object of the present invention is to make it easier to set a threshold of a variable. [Means for solving the problem]

[0007] In one embodiment, a threshold determination method is provided for determining a threshold for a variable included in data in machine learning, wherein for each of a plurality of threshold values, the sum of information gains obtained when the data or the data after partitioning is divided by that value is identified; based on the sum of information gains for each identified value, a maximum value of the sum of information gains is calculated by differentiating a function that represents the sum of information gains which changes according to the threshold value; the maximum value is calculated by differentiating the function based on the maximum value calculated immediately before and the threshold value corresponding to that maximum value, and this process is repeated until a predetermined condition is met, and when the predetermined condition is met, the threshold value corresponding to the maximum value calculated immediately before is determined as the threshold. [Effects of the Invention]

[0008] According to one aspect of the present invention, it has the effect of making it easier to set threshold values ​​for variables. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the threshold determination method according to the embodiment. [Figure 2] Figure 2 is an explanatory diagram showing an example of the system configuration of the information processing system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the threshold determination device 201. [Figure 4] Figure 4 is an explanatory diagram showing a specific example of training data. [Figure 5] Figure 5 is a block diagram showing an example of the functional configuration of the threshold determination device 201. [Figure 6] Figure 6 is an explanatory diagram showing an example of how to create sampled data. [Figure 7] Figure 7 is an explanatory diagram showing an example of data to be divided. [Figure 8]FIG. 8 is an explanatory diagram showing an example of calculation of information gain. [Figure 9] FIG. 9 is an explanatory diagram showing a data division image of multiple layers. [Figure 10] FIG. 10 is an explanatory diagram showing an example of a procedure for each sampling data. [Figure 11] FIG. 11 is an explanatory diagram showing an example of the stored content of an information gain record table. [Figure 12] FIG. 12 is an explanatory diagram showing an example of calculation of the total information gain. [Figure 13] FIG. 13 is an explanatory diagram showing an example of extraction of records with the same variable name. [Figure 14] FIG. 14 is an explanatory diagram showing an example of the maximum value of the total information gain. [Figure 15] FIG. 15 is an explanatory diagram showing an example of the stored content of a threshold adoption table. [Figure 16] FIG. 16 is a flowchart showing an example of a threshold determination processing procedure of the threshold determination device 201. [Figure 17] FIG. 17 is a flowchart showing an example of a specific processing procedure of information gain calculation processing. [Figure 18] FIG. 18 is a flowchart showing an example of a specific processing procedure of total information gain calculation processing. [Figure 19] FIG. 19 is a flowchart showing an example of a specific processing procedure of maximum value calculation processing. [Figure 20] FIG. 20 is an explanatory diagram showing an example of service application.

MODE FOR CARRYING OUT THE INVENTION

[0010] Hereinafter, embodiments of a threshold determination method and a threshold determination program according to the present invention will be described in detail with reference to the drawings.

[0011] (Embodiment) FIG. 1 is an explanatory diagram showing an example of a threshold determination method according to an embodiment. In FIG. 1, an information processing apparatus 101 is a computer that determines a threshold of a variable included in data in machine learning. The variable holds information indicating a feature of the data. The threshold of the variable is used to classify data including the variable.

[0012] For example, the data includes a plurality of records each including a target variable and explanatory variables. The explanatory variables are variables that explain the target variable and indicate the cause of the causal relationship. The target variable is a variable explained by the explanatory variables and indicates the result of the causal relationship caused by the explanatory variables (causes). The data may include two or more explanatory variables that explain the target variable. The threshold is, for example, a threshold of the explanatory variables included in the data. The threshold of the explanatory variables is required to be set, for example, so as to appropriately classify the value of the target variable.

[0013] Here, in a consulting service for policy recommendations, there is a task such as reporting the content of the policy recommendations to customers. In order to enhance the reliability of the reporting, it may be based on the results of analyzing various data by statistics and AI (Artificial Intelligence).

[0014] For example, by creating a network model that describes the causal relationship by probability from the held data, the occurrence probability of an event (for example, diabetes) can be determined for each state of factors (for example, age, blood pressure, etc.), so that the target layer to prioritize countermeasures can be classified. However, in order to classify the state of the factor into classification categories, a threshold needs to be set in advance. Therefore, setting an appropriate threshold leads to the reliability of the analysis and the final output, which is the policy recommendation.

[0015] For example, it is conceivable to determine a variable (explanatory variable) used for dividing the data and candidates for the threshold according to the information gain when the data is divided. The information gain is an index for evaluating how well the data can be divided. It can be said that the larger the value of the information gain, the better the division.

[0016] By performing this process on the partitioned data and other data, multiple candidate variables and thresholds can be determined, and by recording the total information gain for each candidate variable and threshold, it becomes possible to evaluate how well each candidate can partition the data. On the other hand, thresholds with similar values ​​are expected to have similar information gains, and simply adopting thresholds in order of highest total information gain carries the risk of picking up noise.

[0017] Therefore, one approach is to sort the recorded thresholds for each variable in ascending order, use the variable threshold as the x-coordinate and the sum of the information gains as the y-coordinate, and then use differentiation to find the local maximum to remove noise. In this case, the threshold corresponding to the local maximum is adopted as the threshold for splitting the data.

[0018] However, if there are too many local maximums, the number of values ​​used as thresholds increases, which can complicate processes such as creating logic or making business decisions, potentially making operations cumbersome. Therefore, when there are too many local maximums, it is necessary to reduce their number.

[0019] Traditionally, smoothing using a moving average has been used to reduce the number of local maxima. However, even if smoothing using a moving average reduces the number of local maxima, the threshold value corresponding to the local maxima will be different from the original value. The significance of the learned threshold value may be lost if that value changes.

[0020] Therefore, in this embodiment, we will describe a threshold determination method that can reduce the number of local maximums without changing the learned threshold value by repeatedly performing differentiation on the local maximums when multiple local maximums are found.

[0021] Here, we will explain an example of processing by the information processing device 101. Here, we will explain using the case of determining a threshold value for a variable v1 included in the data 110 in machine learning as an example.

[0022] (1) The information processing device 101 identifies the total information gain for each of the multiple threshold values ​​of the variable v1. Here, the multiple threshold values ​​correspond to candidate threshold values. The total information gain is the sum of the information gains when the data 110 or the divided data obtained by dividing the data 110 is divided at each threshold value.

[0023] Specifically, for example, the information processing device 101 may identify the total information gain for each threshold value of variable v1 by calculating the total information gain for each value. Alternatively, the information processing device 101 may identify the total information gain for each threshold value of variable v1 by obtaining it through user input.

[0024] In the example in Figure 1, we assume that multiple threshold values ​​for the variable v1 are designated as "values ​​x1 to x20," and that the total information gain y1 to y20 for each of these values ​​x1 to x20 is obtained.

[0025] (2) The information processing device 101 calculates the maximum value of the total information gain by differentiating the function f(x) based on the total information gain y1 to y20 for each of the identified values ​​x1 to x20. The function f(x) represents the total information gain which changes according to the threshold value of the variable v1. The maximum value is the value taken when the function f(x) is at its maximum, and corresponds to the point in the local range where the total information gain increases monotonically and decreases monotonically.

[0026] Specifically, for example, the information processing device 101 sorts the threshold values ​​x1 to x20 in ascending (or descending) order. Here, we assume that the values ​​x1 to x20 are in ascending order. The information processing device 101 then calculates the maximum value of the total information gain by differentiating the function f(x) obtained when each sorted value x1 to x20 is plotted as the x-coordinate and the total information gain y1 to y20 for each of these values ​​x1 to x20 is plotted as the y-coordinate. Here, since each value x1 to x20 of the variable v1 is a discrete value, "differentiating" refers to the process of finding the value of (f(x2)-f(x1)) / (x2-x1) for adjacent x1 and x2.

[0027] Graph 120 in Figure 1 represents the function f(x) when plotted sequentially in a coordinate system consisting of an x-axis representing the threshold of the variable v and a y-axis representing the total information gain, with sorted values ​​x1 to x20 as the x-coordinates and the total information gains y1 to y20 for each of those values ​​x1 to x20 as the y-coordinates.

[0028] Here, we assume that the total information gains y2, y6, y9, y11, y14, and y17 corresponding to the ● points in Graph 120 are calculated as the local maximums of the total information gain. The threshold values ​​corresponding to each local maximum y2, y6, y9, y11, y14, and y17 are x2, x6, x9, x11, x14, and x17, respectively.

[0029] (3) The information processing device 101 repeatedly performs the process of calculating the maximum value of the total information gain by differentiating the function f(x) based on the maximum value calculated immediately before and the threshold value corresponding to that maximum value, until a predetermined condition is met. Here, the predetermined condition can be set arbitrarily. For example, the predetermined condition may be that the number of calculated maximum values ​​is less than or equal to a predetermined number. Alternatively, the predetermined condition may be that the number of calculated maximum values ​​is 0.

[0030] Graph 130 in Figure 1 shows the function f(x) when the values ​​x2, x6, x9, x11, x14, and x17 corresponding to the previously calculated local maximums y2, y6, y9, y11, y14, and y17 are plotted as x-coordinates, and the local maximums y2, y6, y9, y11, y14, and y17 are plotted as y-coordinates in order.

[0031] Here, we assume that the total information gain y9 corresponding to the ● point in graph 130 is calculated as the maximum value of the total information gain. The threshold value corresponding to the maximum value y9 is the value x9. Furthermore, we assume that the predetermined condition is that the number of maximum values ​​is 2 or less. In this case, the information processing device 101 determines that the predetermined condition is met because the number of maximum values ​​y9 calculated immediately before is 2 or less.

[0032] (4) If the predetermined conditions are met, the information processing device 101 determines the value x9 corresponding to the maximum value y9 calculated immediately before as the threshold value for the variable v1.

[0033] Thus, according to the information processing device 101, when determining the threshold value of a variable (for example, variable v1) included in the data 110, if multiple local maximums are found, the number of local maximums can be reduced without changing the threshold value. This makes it easier for the information processing device 101 to set variable thresholds to improve the accuracy of logic and business decisions.

[0034] In the example shown in Figure 1, when determining the threshold for variable v1, the information processing device 101 can narrow it down to a single local maximum value y9 even if multiple local maximum values ​​(y2, y6, y9, y11, y14, y17) are found, without changing the threshold value. The value x9 corresponding to the local maximum value y9 can then be determined as the threshold for variable v1. This makes it easier for the information processing device 101 to set a threshold for classifying data containing variable v1.

[0035] Furthermore, if the number of local maximums calculated by the information processing device 101 is less than or equal to a predetermined number after the processing in (2) above has been completed, the information processing device 101 may determine the threshold value corresponding to the calculated local maximums as the threshold value for variable v1. Also, if the data 110 contains multiple variables (explanatory variables), the information processing device 101 may perform the processing in (1) to (4) above for each of the multiple variables.

[0036] (Example of system configuration for information processing system 200) Next, we will describe an example of the system configuration of the information processing system 200, which includes the information processing device 101 shown in Figure 1. Here, we will explain using the example of applying the information processing device 101 shown in Figure 1 to the threshold determination device 201 within the information processing system 200.

[0037] Figure 2 is an explanatory diagram showing an example of the system configuration of the information processing system 200. In Figure 2, the information processing system 200 includes a threshold determination device 201 and a client terminal 202. In the information processing system 200, the threshold determination device 201 and the client terminal 202 are connected via a wired or wireless network 210. The network 210 is, for example, the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).

[0038] Here, the threshold determination device 201 is a computer that determines the threshold values ​​of variables (explanatory variables) included in the training data in machine learning. The training data includes multiple records containing the target variable and explanatory variables. The threshold determination device 201 is, for example, a server. A specific example of the training data will be described later using Figure 4.

[0039] Client terminal 202 is a computer used by users of the information processing system 200. Client terminal 202 can be, for example, a PC (Personal Computer), a tablet PC, or a smartphone.

[0040] In the information processing system 200, for example, a client terminal 202 specifies training data to the threshold determination device 201. In this case, the client terminal 202 may specify the item that will be the target variable and the item that will be the explanatory variable from among the items included in the training data.

[0041] The threshold determination device 201 determines the threshold values ​​for the variables (explanatory variables) included in the specified training data and transmits information identifying the threshold values ​​of the determined variables (explanatory variables) to the client terminal 202. This allows the user to obtain effective threshold values ​​that, for example, successfully classify the values ​​of the target variable.

[0042] In this example, the threshold determination device 201 is provided separately from the client terminal 202, but this is not the only option. For example, the threshold determination device 201 may be implemented by the client terminal 202. Furthermore, the information processing system 200 may include multiple client terminals 202.

[0043] (Example hardware configuration of threshold determination device 201) Next, we will describe an example of the hardware configuration of the threshold determination device 201.

[0044] Figure 3 is a block diagram showing an example of the hardware configuration of the threshold determination device 201. In Figure 3, the threshold determination device 201 includes a CPU (Central Processing Unit) 301, memory 302, disk drive 303, disk 304, communication interface 305, portable recording medium interface 306, and portable recording medium 307. Each component is connected by a bus 300.

[0045] Here, the CPU 301 is responsible for the overall control of the threshold determination device 201. The CPU 301 may have multiple cores. The memory 302 includes, for example, ROM (Read Only Memory) or RAM (Random Access Memory). The program stored in the memory 302 is loaded into the CPU 301, causing the CPU 301 to execute the coded process.

[0046] The disk drive 303 controls the reading and writing of data to the disk 304 according to the control of the CPU 301. The disk 304 stores the data written under the control of the disk drive 303. The disk 304 is, for example, a magnetic disk, an optical disk, etc.

[0047] The communication interface 305 is connected to the network 210 via a communication line, and through the network 210, it is connected to an external computer (for example, the client terminal 202 shown in Figure 2). The communication interface 305 manages the interface between the network 210 and the inside of the device, and controls the input and output of data from the external computer. The communication interface 305 is, for example, a modem or a LAN adapter.

[0048] The portable recording medium interface 306 controls the reading and writing of data to the portable recording medium 307 according to the control of the CPU 301. The portable recording medium 307 stores the data written under the control of the portable recording medium interface 306. The portable recording medium 307 is, for example, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), or a USB (Universal Serial Bus) memory.

[0049] The threshold determination device 201 may also include, in addition to the components described above, a GPU (Graphics Processing Unit), an input device, a display, etc. Furthermore, the threshold determination device 201 does not necessarily have to include, for example, the portable recording medium I / F 306 and the portable recording medium 307 among the components described above. The client terminal 202 shown in Figure 2 can also be implemented with a hardware configuration similar to that of the threshold determination device 201. However, the client terminal 202 may also include, for example, an input device, a display, etc., in addition to the components described above.

[0050] (Specific examples of training data) Next, we will explain a specific example of training data using Figure 4.

[0051] Figure 4 is an explanatory diagram showing a specific example of training data. In Figure 4, the training data 400 has fields for personID, BMI, blood pressure, and diabetes, and by setting information in each field, patient information (for example, patient information 401-404) is stored as records.

[0052] Here, personID represents identification information that uniquely identifies the patient. BMI represents the patient's BMI (Body Mass Index). Blood pressure represents the patient's blood pressure. Diabetes disease indicates whether or not the patient has diabetes. Diabetes disease "1" indicates that the patient has diabetes. Diabetes disease "2" indicates that the patient does not have diabetes.

[0053] Here, BMI and blood pressure included in training data 400 are designated as explanatory variables. Diabetes disease included in training data 400 is designated as the dependent variable. For example, patient information 401 shows personID "0", BMI "36", blood pressure "144", and diabetes disease "1".

[0054] (Example of functional configuration of threshold determination device 201) Next, we will describe an example of the functional configuration of the threshold determination device 201.

[0055] Figure 5 is a block diagram showing an example of the functional configuration of the threshold determination device 201. In Figure 5, the threshold determination device 201 includes an acquisition unit 501, a first calculation unit 502, a second calculation unit 503, a third calculation unit 504, a determination unit 505, an output unit 506, and a storage unit 510. The acquisition unit 501 to the output unit 506 function as the control unit 500, and specifically, this function is realized by having the CPU 301 execute a program stored in a storage device such as the memory 302, disk 304, or portable recording medium 307 shown in Figure 3, or by using a communication I / F 305. The processing results of each functional unit are stored in a storage device such as the memory 302 or disk 304. The storage unit 510 is realized by a storage device such as the memory 302 or disk 304. Specifically, for example, the memory unit 510 stores the information gain recording table 1100 shown in Figure 11 (described later), the total information gain table 1210 shown in Figure 12, the threshold selection table 1500 shown in Figure 15, and so on.

[0056] The acquisition unit 501 acquires training data. Here, the training data includes, for example, multiple records containing the target variable and two or more explanatory variables that explain the target variable. Specifically, for example, the acquisition unit 501 acquires the training data 400 shown in Figure 4 by receiving it from the client terminal 202 shown in Figure 2. Alternatively, the acquisition unit 501 may acquire the training data 400 through user input using an input device (not shown) of its own device.

[0057] The first calculation unit 502 calculates the information gain when the data to be divided is divided according to the values ​​of the explanatory variables, based on the acquired training data. Here, the information gain is an index used to evaluate, for example, how well the divided data can be classified compared to the data before division (the data to be divided).

[0058] Specifically, for example, the first calculation unit 502 creates sampled data by sampling N records from the acquired training data. N can be set arbitrarily. However, the training data is assumed to contain M records (M>N). In the example of training data 400 shown in Figure 4, M is "M=10001".

[0059] The first calculation unit 502 can create multiple sample data sets by performing sampling from the training data multiple times (for example, random sampling). The sample data corresponds to, for example, the data 110 shown in Figure 1. A specific example of the sample data will be described later using Figure 6.

[0060] The first calculation unit 502 uses the created sampling data or the data after division obtained by dividing the sampling data as the data to be divided. For each of the two or more explanatory variables, the first calculation unit 502 calculates the information gain when the data to be divided is divided by the value of the explanatory variable indicated by the record included in the data to be divided.

[0061] Furthermore, examples of calculating the information gain when the data to be split is divided based on the values ​​of the explanatory variables will be described later using Figures 7 and 8.

[0062] The first calculation unit 502 then records the value of the explanatory variable corresponding to the largest information gain among the calculated information gains in the storage unit 510 (for example, the information gain recording table 1100 shown in Figure 11, described later) in association with that largest information gain. For example, the first calculation unit 502 performs data partitioning for each of the values ​​of all explanatory variables for a given data to be partitioned, and then records the value of the explanatory variable that yields the largest information gain in association with that information gain.

[0063] The first calculation unit 502 performs the information gain calculation process a predetermined number of times while switching the data to be divided. Here, the information gain calculation process calculates the information gain when the data to be divided is divided by each value of the explanatory variable for each explanatory variable, and records the value of the explanatory variable corresponding to the maximum information gain. The predetermined number of times can be set arbitrarily. The predetermined number of times may be specified, for example, by how many levels of data division are performed.

[0064] The second calculation unit 503 refers to the storage unit 510 and calculates the total information gain for each of the multiple threshold values ​​of the explanatory variable. The multiple threshold values ​​correspond to candidate values ​​for the threshold of the explanatory variable. The total information gain is the sum of the information gains when the data to be divided is divided by each of the threshold values ​​of the explanatory variable.

[0065] Specifically, for example, the second calculation unit 503 calculates the total information gain for each explanatory variable by summing the information gains of the same explanatory variable values ​​recorded in the storage unit 510. Then, the second calculation unit 503 takes the recorded explanatory variable values ​​as the threshold values ​​(candidate values) for those explanatory variables, and takes the calculated total information gain as the total information gain for those threshold values.

[0066] An example of calculating the total information gain for each threshold value of the explanatory variable will be described later using Figure 12. Furthermore, the second calculation unit 503 may obtain the total information gain for each threshold value of each explanatory variable, for example, by user input using an input device (not shown) or by receiving data from an external computer (e.g., client terminal 202).

[0067] The third calculation unit 504 calculates the maximum value of the total information gain by differentiating the function f(x) based on the sum of information gains for each of the multiple threshold values ​​of the calculated explanatory variables. Here, the function f(x) represents the sum of information gains that changes depending on the threshold value of the explanatory variable. The calculation of the maximum value of the total information gain is performed, for example, for each of the two or more explanatory variables included in the training data.

[0068] Specifically, for example, the third calculation unit 504 sorts multiple threshold values ​​for each explanatory variable in ascending (or descending) order. Next, the third calculation unit 504 calculates the maximum value of the total information gain by differentiating the function f(x) obtained when plotting each sorted threshold value as the x-coordinate and the total information gain for each value as the y-coordinate in a coordinate system consisting of an x-axis showing the threshold values ​​and a y-axis showing the total information gain.

[0069] For example, the third calculation unit 504 searches for a point (node) in the local range of the function f(x) where the total information gain increases monotonically and decreases monotonically, and calculates the total information gain at that point (node) as a local maximum.

[0070] Furthermore, the third calculation unit 504 repeatedly calculates the maximum value of the total information gain by differentiating the function f(x) based on the maximum value of the total information gain calculated immediately beforehand and the threshold value corresponding to that maximum value, until a predetermined condition is met. The predetermined condition can be set arbitrarily. For example, the predetermined condition may be that the number of calculated maximum values ​​of the total information gain is less than or equal to a predetermined number. Alternatively, the predetermined condition may be that the number of calculated maximum values ​​of the total information gain is zero.

[0071] Specifically, for example, the third calculation unit 504 repeatedly performs the process of calculating the maximum value of the total information gain by differentiating the function f(x) obtained when the threshold value corresponding to the previously calculated maximum value is plotted as the x-coordinate and the said maximum value as the y-coordinate, until a predetermined condition is met.

[0072] The determination unit 505, if a predetermined condition is met, determines the threshold value of the explanatory variable to be the value of the threshold corresponding to the maximum value of the sum of information gain calculated immediately beforehand. The threshold determination is performed, for example, for each explanatory variable of two or more explanatory variables included in the training data.

[0073] An example of determining the threshold for explanatory variables will be discussed later using Figure 14.

[0074] The output unit 506 outputs the threshold values ​​of the determined explanatory variables, associating them with the respective explanatory variables. The output format of the output unit 506 may include, for example, storage in a storage device such as memory 302 or disk 304, transmission to another computer (e.g., client terminal 202) via communication I / F 305, display on a display (not shown), or printing to a printer. Specifically, for example, the output unit 506 transmits information to the client terminal 202 that identifies the threshold values ​​determined for each of two or more explanatory variables.

[0075] (Example of operation of threshold determination device 201) Next, we will explain an example of how the threshold determination device 201 operates when determining the threshold of an explanatory variable (corresponding to steps 1 to 6 below). Here, we will use the training data 400 shown in Figure 4 as an example of training data.

[0076] (Step 1) First, the threshold determination device 201 creates sampled data by sampling N records from the training data 400. Step 1 is repeated, for example, until the number of samples reaches a predetermined number. The predetermined number can be set arbitrarily. For example, if the predetermined number is set to "3", Step 1 is repeated until 3 sampled data sets are created from the training data 400.

[0077] Here, we will explain an example of creating sampling data using Figure 6.

[0078] Figure 6 is an explanatory diagram showing an example of how to create sampled data. In Figure 6, 1000 records are extracted from the training data 400 to create sampled data 601 (N=1000).

[0079] (Step 2) Next, the threshold determination device 201 divides the sampled data by the values ​​shown in the sampled data for all explanatory variables (e.g., BMI, blood pressure) included in the sampled data, and records the value that maximizes the information gain.

[0080] Here, we will explain the specific processing steps in (Step 2) using sample data 601 as an example.

[0081] The threshold determination device 201 creates a threshold search list for each explanatory variable included in the sampled data 601. Specifically, for example, the threshold determination device 201 creates a threshold search list for each explanatory variable by listing the values ​​of that explanatory variable indicated by the records included in the sampled data 601 in a non-repeating manner.

[0082] For example, if the explanatory variable is "BMI", the threshold determination device 201 extracts unique values ​​from the BMI column of the sampled data 601 and stores them in the threshold search list. The threshold search list stores {14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, ..., 47, 48, 49, 50, 51, 52, 55, 56, 58, 59, 61, 65}. However, only a portion of the values ​​from the BMI column are shown. The values ​​in the threshold search list become candidate thresholds for the explanatory variable.

[0083] Next, the threshold determination device 201 selects a value from the threshold search list and divides the sampled data 601 using the selected value. Then, the threshold determination device 201 calculates the information gain when the sampled data 601 is divided using the selected value.

[0084] Here, using Figures 7 and 8, we will explain an example of calculating the information gain when the sampled data 601 is divided, taking the case where the value "33" is selected from the threshold search list for the explanatory variable "BMI" as an example.

[0085] Figure 7 is an explanatory diagram showing an example of data to be divided. In Figure 7, the sampled data 601 is shown as the data to be divided. The threshold determination device 201 divides the sampled data 601 by the selected value "33". Specifically, for example, the threshold determination device 201 divides the sampled data 601 into records where the BMI is less than 33 and records where the BMI is 33 or greater.

[0086] Here, the sample data 601 is split into two parts: left data 701, which contains records with a BMI of less than 33, and right data 702, which contains records with a BMI of 33 or more. Left data 701 contains 766 records. Right data 702 contains 234 records.

[0087] Figure 8 is an explanatory diagram illustrating an example of information gain calculation. In Figure 8, the threshold determination device 201 calculates the entropy of the target variable (diabetes) for the left 701 of the divided data. Entropy (average information) is an index value that represents complexity. Entropy (average information) is expressed by multiplying the probability by the amount of information. The amount of information is obtained by -log2p for the occurrence rate p. The occurrence rate p corresponds to the probability of the event (presence or absence of diabetes) occurring.

[0088] The entropy calculation formula for the leftmost 701 units of the divided data is as follows:

[0089] Entropy = -{(157 / 766) × log2(157 / 766) + (609 / 766) × log2(609 / 766)} ≈ 0.73

[0090] The threshold determination device 201 then calculates impurity for the left divided data 701 by dividing the number of data points after division (766) by the number of data points before division (1000), using this value as a weight and multiplying it by the entropy. Similarly, the threshold determination device 201 also calculates impurity for the right divided data 702 by calculating the entropy of the target variable (diabetic disease).

[0091] Here, the impurity of the left split data 701 is "0.73 × 766 / 1000 = 0.559". Also, the impurity of the right split data 702 is "0.27 × 234 / 1000 = 0.063".

[0092] Next, the threshold determination device 201 calculates the impurity of the divided data by adding the impurity of the left divided data 701 and the impurity of the right divided data 702. In this case, the impurity of the divided data is "0.559 + 0.063 = 0.622".

[0093] Furthermore, the threshold determination device 201 calculates the entropy of the data to be divided 601 (data before division). In this case, the entropy of the data to be divided 601 (data before division) is "0.81".

[0094] The threshold determination device 201 then calculates the information gain when the data to be divided 601 (data before division) is divided by a value of "33" for the explanatory variable "BMI" by subtracting the impurity of the data after division from the entropy of the data to be divided 601 (data before division). In this case, the information gain for a value of "33" for the explanatory variable "BMI" is "0.81 - 0.622 = 0.188".

[0095] This information gain of "0.188" indicates how well the split data (left data 701, right data 702) classified the data (values ​​of the target variable "diabetes disease") compared to the pre-split data (sampling target data 601).

[0096] The threshold determination device 201 repeatedly calculates the information gain when the data to be divided 601 is divided, until there are no unselected values ​​left in the threshold search list. Similarly, the threshold determination device 201 also calculates the information gain when the data to be divided 601 is divided for each value in the threshold search list for the other explanatory variable "blood pressure".

[0097] Here, values ​​within the threshold search list were used as candidate thresholds for the explanatory variable, but this is not the only option. For example, the threshold determination device 201 may use the median of consecutive values ​​within the threshold search list as a candidate threshold for the explanatory variable. If the consecutive values ​​within the threshold search list are "14" and "15", the threshold determination device 201 may use the median of the consecutive values ​​"14,15", "14.5", as a candidate threshold.

[0098] In this way, the threshold determination device 201 calculates the information gain for each value in the threshold search list for each explanatory variable "BMI, blood pressure" when the data to be divided 601 is divided by that value. The threshold determination device 201 identifies the value of the explanatory variable corresponding to the largest information gain among the calculated information gains. The threshold determination device 201 then records the identified value of the explanatory variable in association with the largest information gain in the information gain recording table 1100, as shown in Figure 11 below.

[0099] (Step 3) The threshold determination device 201 repeats the process described in (step 2) above a predetermined number of times, switching the data to be divided to the divided data, which is divided at the value of the explanatory variable that maximizes the information gain. In this way, the threshold determination device 201 records the values ​​of the explanatory variables while taking into account combinations of explanatory variables that are effective for data division.

[0100] Here, we will explain the image of data partitioning with multiple levels using Figure 9. Here, we will explain using the example of partitioning data up to level 1.

[0101] Figure 9 is an explanatory diagram illustrating a multi-level data partitioning image. In Figure 9, sampled data 601 is shown as the first data to be partitioned. Here, the level to which sampled data 601 belongs is referred to as "Level 0". The "#" in Level # is incremented each time data is partitioned.

[0102] For example, when sample data 601 is split using the explanatory variable "BMI" value of "28", split data left 911 and split data right 912 are created. The explanatory variable "BMI" value of "28" corresponds to the explanatory variable value that maximizes the information gain when sample data 601 is split. Split data left 911 and split data right 912 belong to hierarchy 1.

[0103] The threshold determination device 201 treats the left split data 911 as the data to be split and executes (step 2). As a result, the left split data 911 is split at the value of the explanatory variable "blood pressure" of "120", creating the left split data 921 and the right split data 922. The value of the explanatory variable "blood pressure" of "120" corresponds to the explanatory variable value that maximizes the information gain when the left split data 911 is split.

[0104] Furthermore, the threshold determination device 201 treats the right split data 912 as the data to be split and executes (step 2). As a result, the right split data 912 is split at the value of the explanatory variable "blood pressure" of "140", creating the left split data 923 and the right split data 924. The value of the explanatory variable "blood pressure" of "140" corresponds to the explanatory variable value that maximizes the information gain when the right split data 912 is split.

[0105] Once all the data in hierarchical level 1 (divided data left 911, divided data right 912) has been divided, step 2 has been repeated a predetermined number of times. As a result, the value of the explanatory variable that maximizes the information gain when the data to be divided in each hierarchical level is divided up to hierarchical level 1 is recorded in the information gain recording table 1100 (see Figure 11). At this time, the hierarchical number of the hierarchical level to which the data to be divided belongs may also be recorded.

[0106] (Step 4) The threshold determination device 201 performs steps (2) and (3) for each sample data created in step (1).

[0107] Here, we will explain an example of the procedure for each sample data using Figure 10. Here, we will explain using the example where three sample data sets 601 to 603, including sample data 601, are created in (Procedure 1).

[0108] Figure 10 is an explanatory diagram showing an example procedure for each sampled data. In Figure 10, sampled data 601 to 603 created from training data 400 are shown. The threshold determination device 201 performs (step 2) and (step 3) on sampled data 601 in the first (number of samples) run.

[0109] Furthermore, the threshold determination device 201 performs (steps 2) and (step 3) on the sampled data 602 during the second (number of samples). Also, the threshold determination device 201 performs (steps 2) and (step 3) on the sampled data 603 during the third (number of samples).

[0110] As a result, the value of the explanatory variable that maximizes the information gain when the data to be divided, derived from each of the sampling data 601 to 603, is divided, is recorded in the information gain recording table 1100 (see Figure 11). In this case, the sampling count of each of the sampling data 601 to 603 may also be recorded.

[0111] This allows the threshold determination device 201 to record the value of the explanatory variable that maximizes the information gain during partitioning using data of various features, thereby improving its robustness.

[0112] Here, we will explain the contents of the information gain recording table 1100.

[0113] Figure 11 is an explanatory diagram showing an example of the contents of the information gain record table. In Figure 11, the information gain record table 1100 has fields for variable name, threshold, information gain, hierarchy, and number of times, and by setting information in each field, information gain information (for example, information gain information 1100-1 to 1100-9) is stored as a record.

[0114] Here, the variable name indicates the name of the explanatory variable. The threshold indicates a candidate value for the threshold of the explanatory variable. The information gain indicates the information gain (maximum information gain) when the data to be split is divided using the threshold value. The hierarchy indicates the hierarchy to which the data to be split belongs. The count indicates the number of samples.

[0115] For example, information gain information 1100-1 shows the variable name "BMI", threshold "28", information gain "0.080", hierarchy "0", and count "1".

[0116] (Step 5) Next, the threshold determination device 201 refers to the information gain recording table 1100 and calculates the total information gain for each candidate value for the threshold of each explanatory variable.

[0117] Here, using Figure 12, we will explain an example of calculating the total information gain for each candidate value for the threshold of the explanatory variable.

[0118] Figure 12 is an explanatory diagram showing an example of calculating the total information gain. In Figure 12, the threshold determination device 201 extracts records from the information gain recording table 1100 where the threshold values ​​overlap for each explanatory variable. The threshold determination device 201 then calculates the total information gain by adding up the information gains indicated by the extracted records.

[0119] Here, taking the threshold value "28" for the explanatory variable "BMI" as an example, the threshold determination device 201 extracts records from the information gain recording table 1100 that correspond to the variable name "BMI" and the threshold value "28". Here, let's assume that records 1201 to 1205 have been extracted from the information gain recording table 1100.

[0120] In this case, the threshold determination device 201 calculates the total information gain for the threshold value "28" of the explanatory variable "BMI" by summing up the information gains shown by the extracted records 1201 to 1205. Here, the total information gain is "0.025 + 0.057 + 0.080 + 0.068 + 0.097 ≈ 0.33".

[0121] The calculated total information gain is stored in the total information gain table 1210, for example, in association with the threshold values ​​of the explanatory variables.

[0122] The information gain total table 1210 has fields for variable name, threshold, and information gain total, and stores information gain total information (for example, information gain total information 1211) as a record by setting information in each field.

[0123] Here, the variable name indicates the name of the explanatory variable. The threshold indicates a candidate value for the threshold of the explanatory variable. The total information gain indicates the total information gain when the data to be split is divided by the threshold value. For example, the total information gain information 1211 indicates the variable name "BMI", the threshold "28", and the total information gain "0.33".

[0124] This allows the threshold determination device 201 to calculate the total information gain for each explanatory variable, which serves as a criterion for determining an effective threshold for data partitioning.

[0125] (Step 6) For a given explanatory variable, thresholds with similar values ​​are expected to have similar information gains. Simply selecting thresholds in descending order of total information gain carries the risk of picking up noise. Therefore, the threshold determination device 201 removes noise by, for example, finding local maximums using differentiation, and sets the value corresponding to the remaining local maximum as the threshold. By utilizing differentiation and local maximums, the threshold determination device 201 can remove noise while maintaining the relative magnitudes of the total information gains between threshold values.

[0126] Specifically, for example, the threshold determination device 201 extracts records with the same variable name from the information gain total table 1210 and sorts the thresholds indicated by the extracted records in ascending order. Next, the threshold determination device 201 plots each sorted threshold value as the x-coordinate and the corresponding information gain total as the y-coordinate in a coordinate system consisting of an x-axis representing the threshold of the explanatory variable and a y-axis representing the information gain total. Then, the threshold determination device 201 searches for points (nodes) in a local range where the information gain total increases monotonically and decreases monotonically, and calculates the information gain total at those points (nodes) as the maximum value.

[0127] Here, we will explain an example of extracting records with the same variable name using Figure 13. In this example, the variable name will be "BMI".

[0128] Figure 13 is an explanatory diagram showing an example of extracting records with the same variable name. In Figure 13, the threshold determination device 201 extracts records with the variable name "BMI" (for example, records 1301 to 1307) from the information gain total table 1210. Next, the threshold determination device 201 sorts the threshold values ​​indicated by the extracted records in ascending order. Then, the threshold determination device 201 plots each sorted threshold value as the x-coordinate and the corresponding information gain total as the y-coordinate. This identifies a graph 1410 as shown in Figure 14.

[0129] Here, we will explain an example graph showing the total information gain corresponding to each threshold value of the explanatory variable "BMI".

[0130] Figure 14 is an explanatory diagram showing an example of a maximum value of the total information gain. In Figure 14, Graph 1410 is a graph of the function f(x) that represents the total information gain which changes according to the threshold value of the explanatory variable "BMI". Specifically, Graph 1410 is plotted in a coordinate system consisting of the x-axis (horizontal axis) showing the threshold of the explanatory variable and the y-axis (vertical axis) showing the total information gain, with each sorted threshold value as the x-coordinate and the total information gain for each value as the y-coordinate.

[0131] The threshold determination device 201 calculates the maximum value of the total information gain by differentiating the function f(x) based on the total information gain corresponding to each sorted threshold value. Specifically, for example, the threshold determination device 201 calculates the maximum value of the total information gain by searching for points (nodes) in a local range of graph 1410 where the total information gain increases monotonically and decreases monotonically.

[0132] Here, the total information gain corresponding to points 1411 to 1418 on graph 1410 is calculated as a local maximum. Next, the threshold determination device 201 determines whether a predetermined condition is met. As a predetermined condition, for example, let's assume that the number of local maximums of the calculated total information gain is 0.

[0133] In this case, the threshold determination device 201 determines that the predetermined conditions are not met because eight local maximums have been calculated. Then, based on the local maximums of the total information gain calculated immediately before (points 1411 to 1418) and the threshold values ​​corresponding to those local maximums, it calculates the local maximum of the total information gain by differentiating the function f(x).

[0134] Here, graph 1420 plots the threshold values ​​corresponding to each of the previously calculated local maximums (points 1411-1418) as the x-coordinates, and each of the local maximums as the y-coordinates in sequence. The threshold determination device 201 calculates the local maximum of the total information gain by searching for points (nodes) in the local range of graph 1420 where the total information gain increases monotonically and decreases monotonically.

[0135] Here, the sum of information gain corresponding to points 1421 to 1423 in graph 1420 is calculated as a local maximum. Point 1421 corresponds to point 1412 in graph 1410. Point 1422 corresponds to point 1415 in graph 1410. Point 1423 corresponds to point 1417 in graph 1410. In graph 1420, the number of local maximums has decreased to three compared to graph 1410.

[0136] Next, the threshold determination device 201 determines whether or not the predetermined conditions are met. The threshold determination device 201 determines that the predetermined conditions are not met because three local maximums have been calculated. Then, based on the local maximums calculated immediately before (points 1421 to 1423) and the threshold values ​​corresponding to those local maximums, it calculates the local maximum of the total information gain by differentiating the function f(x).

[0137] Now, let's assume that no local maximums were calculated (the number of calculated local maximums is 0). In this case, the threshold determination device 201 determines that the predetermined conditions are met. The threshold determination device 201 then determines the threshold value corresponding to the most recently calculated local maximums (points 1421-1423) as the threshold for the explanatory variable "BMI".

[0138] The threshold value corresponding to the maximum value (point 1421) is "27". The threshold value corresponding to the maximum value (point 1422) is "42". The threshold value corresponding to the maximum value (point 1423) is "55". Therefore, the threshold determination device 201 determines the threshold values ​​"27, 42, 55" as the thresholds for the explanatory variable "BMI".

[0139] The determined thresholds are stored in a threshold adoption table 1500, as shown in Figure 15, in association with the explanatory variables, for example.

[0140] Figure 15 is an explanatory diagram showing an example of the contents stored in the threshold selection table. In Figure 15, the threshold selection table 1500 has fields for variable name and selection threshold, and by setting information in each field, threshold selection information (for example, threshold selection information 1500-1) is stored as a record.

[0141] Here, the variable name indicates the name of the explanatory variable. The adopted threshold indicates the threshold value for the determined explanatory variable. For example, threshold adoption information 1500-1 indicates the variable name "BMI" and the adopted threshold values ​​"27, 42, 55". The threshold determination device 201 can refer to the threshold adoption table 1500 and output information that identifies the determined threshold value for each explanatory variable.

[0142] (Threshold determination process procedure of threshold determination device 201) Next, the threshold determination process of the threshold determination device 201 will be explained. Here, the example of data division up to level 1 will be used.

[0143] Figure 16 is a flowchart illustrating an example of the threshold determination process of the threshold determination device 201. In the flowchart of Figure 16, first, the threshold determination device 201 acquires training data (step S1601). Next, the threshold determination device 201 creates sampled data by sampling N records from the acquired training data (step S1602). However, the training data contains M records (M>N).

[0144] Then, the threshold determination device 201 performs information gain calculation processing based on the created sampling data (step S1603). The specific processing procedure for information gain calculation processing will be described later with reference to Figure 17.

[0145] Next, the threshold determination device 201 performs information gain calculation processing on the left divided data (step S1604). The left divided data is one of the divided data when the sampled data is divided by the value of the explanatory variable corresponding to the maximum information gain recorded in step S1712, as shown in Figure 17 below.

[0146] The specific processing procedure for calculating the information gain for the left-hand portion of the divided data is the same as the information gain calculation process in step S1603, so the illustration and explanation are omitted.

[0147] Next, the threshold determination device 201 performs information gain calculation processing on the right-hand divided data (step S1605). The right-hand divided data is the other divided data obtained when the sampling data is divided using the value of the explanatory variable corresponding to the maximum information gain recorded in step S1712, as shown in Figure 17 below.

[0148] The specific processing procedure for calculating the information gain for the right-hand portion of the divided data is the same as the information gain calculation process in step S1603, so the illustration and explanation are omitted.

[0149] The threshold determination device 201 then determines whether the number of samples has reached a predetermined number (step S1606). If the number of samples has not reached a predetermined number (step S1606: No), the threshold determination device 201 returns to step S1602.

[0150] On the other hand, if the number of samples reaches a predetermined number (step S1606: Yes), the threshold determination device 201 refers to the information gain recording table 1100 and performs the information gain total calculation process (step S1607). The specific processing procedure for the information gain total calculation process will be described later with reference to Figure 18.

[0151] Next, the threshold determination device 201 refers to the information gain total table 1210 and selects any unselected explanatory variables (step S1608). Then, the threshold determination device 201 performs a local maximum calculation process for the selected explanatory variables (step S1609). The specific procedure for the local maximum calculation process will be described later with reference to Figure 19.

[0152] Next, the threshold determination device 201 refers to the information gain total table 1210 to determine whether or not there are any unselected explanatory variables (step S1610). If there are unselected explanatory variables (step S1610: Yes), the threshold determination device 201 returns to step S1608.

[0153] On the other hand, if there are no unselected explanatory variables (step S1610: No), the threshold determination device 201 refers to the threshold selection table 1500 and outputs information to identify the threshold for each explanatory variable (step S1611), and terminates the series of processes according to this flowchart.

[0154] This allows the threshold determination device 201 to determine a threshold for each explanatory variable included in the training data.

[0155] Next, using Figure 17, we will explain the specific processing procedure for the information gain calculation process in step S1603 shown in Figure 16.

[0156] Figure 17 is a flowchart showing an example of a specific processing procedure for calculating information gain. In the flowchart of Figure 17, first, the threshold determination device 201 selects unselected explanatory variables from among the explanatory variables included in the sampling data (step S1701).

[0157] Next, the threshold determination device 201 creates a threshold search list by listing the values ​​indicated by the records included in the sampling data for the selected explanatory variables, without duplication (step S1702). Then, the threshold determination device 201 selects an unselected value from the created threshold search list (step S1703).

[0158] Next, the threshold determination device 201 divides the data to be divided using the selected value (step S1704). The data to be divided is either the sampled data or the divided data obtained from the sampled data (divided data left, divided data right).

[0159] Then, the threshold determination device 201 calculates the impurity of the left portion of the divided data (step S1705). The impurity of the left portion of the divided data is calculated by multiplying the entropy of the target variable by a weight obtained by dividing the number of data after division by the number of data before division for the left portion of the divided data.

[0160] Next, the threshold determination device 201 calculates the impurity of the right side of the divided data (step S1706). The impurity of the right side of the divided data is calculated by multiplying the entropy of the target variable by a weight obtained by dividing the number of data after division by the number of data before division for the right side of the divided data.

[0161] Then, the threshold determination device 201 calculates the impurity of the divided data by adding the impurity of the left divided data and the impurity of the right divided data (step S1707). Next, the threshold determination device 201 calculates the entropy of the data to be divided (data before division) (step S1708).

[0162] Then, the threshold determination device 201 calculates the information gain of the selected explanatory variable when the data to be divided is divided by the selected value by subtracting the impurity of the divided data from the entropy of the data to be divided (step S1709). Next, the threshold determination device 201 determines whether or not there are any unselected values ​​that have not been selected from the threshold search list (step S1710).

[0163] If there are unselected values ​​(step S1710: Yes), the threshold determination device 201 returns to step S1703. On the other hand, if there are no unselected values ​​(step S1710: No), the threshold determination device 201 determines whether or not there are unselected explanatory variables among the explanatory variables included in the sampled data (step S1711).

[0164] If there are unselected explanatory variables (step S1711: Yes), the threshold determination device 201 returns to step S1701. On the other hand, if there are no unselected explanatory variables (step S1711: No), the threshold determination device 201 associates the maximum information gain among the calculated information gains with the value of the explanatory variable corresponding to that maximum information gain, records it in the information gain recording table 1100 (step S1712), and returns to the step that called the information gain calculation process.

[0165] This allows the threshold determination device 201 to record the explanatory variable that maximizes the information gain when the data to be divided is divided, the threshold value, and the information gain.

[0166] Next, using Figure 18, we will explain the specific processing steps for calculating the total information gain in step S1607 shown in Figure 16.

[0167] Figure 18 is a flowchart showing an example of a specific processing procedure for calculating the total information gain. In the flowchart of Figure 18, first, the threshold determination device 201 refers to the information gain recording table 1100 and selects an unselected combination of variable name and threshold from the combinations of variable name and threshold (step S1801).

[0168] Next, the threshold determination device 201 refers to the information gain recording table 1100 to identify the information gain corresponding to the combination of the selected variable name and threshold (step S1802). Then, the threshold determination device 201 calculates the total information gain by summing up the identified information gains (step S1803).

[0169] Next, the threshold determination device 201 stores the calculated total information gain in the total information gain table 1210, associating it with the selected variable name and threshold combination (step S1804). Then, the threshold determination device 201 refers to the information gain recording table 1100 to determine whether or not there are any unselected variable name and threshold combinations (step S1805).

[0170] If there is an unselected combination of variable name and threshold (step S1805: Yes), the threshold determination device 201 returns to step S1801. On the other hand, if there is no unselected combination of variable name and threshold (step S1805: No), the threshold determination device 201 returns to the step that called the information gain total calculation process.

[0171] This allows the threshold determination device 201 to calculate the total information gain for each explanatory variable, which serves as a criterion for determining an effective threshold for data partitioning.

[0172] Next, using Figure 19, we will explain the specific processing steps for calculating the local maximum value in step S1609 shown in Figure 16.

[0173] Figure 19 is a flowchart showing an example of a specific processing procedure for calculating the maximum value. In the flowchart of Figure 19, first, the threshold determination device 201 extracts records from the information gain sum table 1210 that correspond to the explanatory variables selected in step S1609 (step S1901).

[0174] Next, the threshold determination device 201 sorts the threshold values ​​indicated by the extracted records in ascending order (step S1902). Then, the threshold determination device 201 calculates the maximum value of the total information gain by differentiating the function f(x) obtained when each sorted threshold value is plotted as the x-coordinate and the total information gain corresponding to each value as the y-coordinate (step S1903). The function f(x) represents the total information gain which changes according to the threshold value of the explanatory variable.

[0175] Next, the threshold determination device 201 determines whether or not a predetermined condition is met (step S1904). For example, the threshold determination device 201 may determine that a predetermined condition is met if the number of calculated local maximum values ​​is less than or equal to a predetermined number. Alternatively, the threshold determination device 201 may determine that a predetermined condition is met if the number of calculated local maximum values ​​becomes zero.

[0176] If the predetermined conditions are not met (step S1904: No), the threshold determination device 201 calculates the maximum value of the total information gain by differentiating the function f(x) obtained when the threshold value corresponding to the previously calculated maximum value is plotted as the x-coordinate and the said maximum value as the y-coordinate (step S1905), and then returns to step S1904.

[0177] Furthermore, in step S1904, if the predetermined conditions are met (step S1904: Yes), the threshold determination device 201 determines the threshold value corresponding to the maximum value calculated immediately before as the threshold value of the explanatory variable (step S1906), and returns to the step that called the maximum value calculation process.

[0178] As a result, the threshold determination device 201 can remove noise by finding local maximums through differentiation, and by repeating the process of finding local maximums, it can determine the threshold of the explanatory variable in a way that prevents the number of threshold values ​​from becoming too large.

[0179] As described above, according to the threshold determination device 201 of the embodiment, when determining the threshold of a variable included in the data in machine learning, it is possible to identify the total information gain when the data (e.g., sampled data) or the divided data obtained by dividing the data is divided at each of the multiple threshold values. The data includes, for example, multiple records that include a target variable and two or more explanatory variables. The variables are, for example, the explanatory variables of each of the two or more explanatory variables.

[0180] This allows the threshold determination device 201 to calculate the total information gain for each candidate value of the variable (explanatory variable) threshold, which serves as a criterion for determining whether it is effective for data partitioning.

[0181] Furthermore, the threshold determination device 201 can calculate the maximum value of the total information gain by differentiating the function f(x) based on the total information gain for each identified value. The function f(x) represents the total information gain that changes according to the threshold value of the variable. Specifically, for example, the threshold determination device 201 sorts each of the multiple threshold values ​​in ascending or descending order, plots each sorted value as the x-coordinate, and the total information gain for each value as the y-coordinate, and calculates the maximum value of the total information gain by differentiating the function f(x) in this plotted sequence. Furthermore, the threshold determination device 201 can repeatedly perform the process of calculating the maximum value of the total information gain by differentiating the function f(x) based on the previously calculated maximum value and the threshold value corresponding to that maximum value, until a predetermined condition is met. Specifically, for example, the threshold determination device 201 repeatedly performs the process of calculating the maximum value of the total information gain by differentiating the function f(x) obtained when the threshold value corresponding to the most recently calculated maximum value is plotted sequentially with the maximum value as the x-coordinate and the maximum value as the y-coordinate, until a predetermined condition is met. Then, according to the threshold determination device 201, when the predetermined condition is met, the threshold value corresponding to the most recently calculated maximum value can be determined as the threshold value of the variable.

[0182] This makes it easier for the threshold determination device 201 to set thresholds for variables (explanatory variables) used to classify data. For example, the threshold determination device 201 can determine thresholds for each explanatory variable to partition the data in a way that effectively classifies the values ​​of the target variable. Furthermore, when determining the thresholds for explanatory variables, if multiple local maximums are found, the threshold determination device 201 can reduce the number of local maximums without changing the candidate values ​​for the threshold, thus preventing the loss of significance of the learned values. For this reason, the threshold determination device 201 makes it easier to set thresholds for explanatory variables to improve the accuracy of logic and business decisions. For example, the threshold determination device 201 can enable setting multiple thresholds for a single explanatory variable to prevent the threshold values ​​from becoming too numerous, or it can enable setting thresholds that consider the relationships between multiple variables by combining the threshold values ​​of different explanatory variables.

[0183] Furthermore, the threshold determination device 201 can calculate the information gain when the data (e.g., sampled data) or the data after division is divided from the data, for each of the two or more explanatory variables, for each of the values ​​of the explanatory variable indicated by the records included in the data to be divided, if the data to be divided is divided by that value. Furthermore, the threshold determination device 201 can record the value of the explanatory variable corresponding to the largest information gain among the calculated information gains in the storage unit 510 in association with that largest information gain. The threshold determination device 201 can repeat the information gain calculation process a predetermined number of times while switching the data to be divided. The information gain calculation process is a process that calculates the information gain when the data to be divided is divided by each value of the explanatory variable for each explanatory variable, and records the value of the explanatory variable corresponding to the largest information gain. Then, the threshold determination device 201 can calculate the total information gain for each explanatory variable by adding up the recorded information gains of the same explanatory variable, set the recorded explanatory variable value as the threshold value (candidate value), and identify the calculated total information gain as the total information gain for that threshold value.

[0184] As a result, the threshold determination device 201 can learn values that are candidates for the thresholds of the explanatory variables, and can calculate the total information gain that serves as a criterion for determining a threshold effective for data division.

[0185] Further, according to the threshold determination device 201, sampling data can be created by sampling (for example, randomly extracting) N records (where N < M) from the learning data. The learning data includes M records including a target variable and two or more explanatory variables. Creation of the sampling data is repeated, for example, until the number of samplings reaches a specified number. Then, according to the threshold determination device 201, for each created sampling data, the information gain calculation process can be repeatedly performed a predetermined number of times while switching the data to be divided, using the sampling data or the divided data divided from the sampling data as the data to be divided.

[0186] As a result, the threshold determination device 201 can record the value of the explanatory variable that maximizes the information gain at the time of division using data of various characteristics sampled from the learning data, and can enhance robustness.

[0187] Further, according to the threshold determination device 201, the divided data to be switched can be the data divided by the value of the explanatory variable that maximizes the calculated information gain.

[0188] As a result, the threshold determination device 201 can easily set a threshold considering the relationship between a plurality of explanatory variables by combining thresholds of explanatory variables effective for data division.

[0189] Further, according to the threshold determination device 201, the determined threshold can be output in association with a variable (explanatory variable).

[0190] As a result, the threshold determination device 201 can output a threshold of an explanatory variable effective for data division.

[0191] Based on these considerations, the threshold determination device 201 makes it easier to set multiple thresholds for a single variable or to set thresholds while considering the relationships between multiple variables, thereby preventing the work from becoming complicated and improving the accuracy of logic and business decisions.

[0192] Here, we will explain an example of how this threshold determination method can be applied to services.

[0193] Figure 20 is an explanatory diagram illustrating an example of service application. In Figure 20, a service is envisioned that determines the probability of occurrence of an event (risk of developing diabetes) for each factor state by creating a network model 2002 that describes causal relationships probabilistically from the possessed data 2001 (survey data, log data).

[0194] Network Model 2002 is created, for example, by cross-tabulating the number of patients in each category of each factor. In this case, as a preliminary step to creating the categories of each factor, thresholds are set for each factor in order to classify the probability of occurrence of an event (risk of developing diabetes).

[0195] This threshold determination method makes it possible to set thresholds for each factor in order to appropriately classify the probability of occurrence of an event (risk of developing diabetes). As a result, this threshold determination method allows for the accurate classification of target groups that should be prioritized for countermeasures, enabling the provision of Report 2003, which includes accurate policy recommendations.

[0196] The threshold determination method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a personal computer or workstation. This threshold determination program is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, DVD, or USB memory, and is executed when read from the recording medium by a computer. This threshold determination program may also be distributed via a network such as the Internet.

[0197] Furthermore, the information processing device 101 (threshold determination device 201) described in this embodiment can also be implemented using application-specific ICs such as standard cells and structured ASICs (Application Specific Integrated Circuits), or PLDs (Programmable Logic Devices) such as FPGAs.

[0198] With regard to the embodiments described above, the following additional information is disclosed.

[0199] (Note 1) When determining the threshold for variables included in the data in machine learning, For each of the multiple threshold values, the total information gain is identified when the data or the data obtained by splitting the data is divided by that value. Based on the sum of the information gains for each of the identified values, the maximum value of the sum of the information gains is calculated by differentiating a function that represents the sum of the information gains that changes according to the threshold value. The process of calculating the local maximum value by differentiating the function based on the local maximum value calculated immediately beforehand and the threshold value corresponding to that local maximum value is repeated until the predetermined conditions are met. If the predetermined conditions are met, the threshold value corresponding to the maximum value calculated immediately beforehand is determined as the threshold. A threshold determination method characterized by the processing being performed by a computer.

[0200] (Note 2) The above data includes multiple records containing the dependent variable and two or more independent variables. The aforementioned variable is an explanatory variable for each of the two or more explanatory variables. The threshold determination method described in Appendix 1, characterized by the features described herein.

[0201] (Appendix 3) Using the data or the split data obtained by splitting the data as the data to be split, for each explanatory variable among the two or more explanatory variables, for each value of the explanatory variable indicated by the records included in the data to be split, calculate the information gain when splitting the data to be split by that value, and record the value of the explanatory variable corresponding to the maximum information gain among the calculated information gains in association with the maximum information gain. Repeat this process a predetermined number of times while switching the data to be split. The process of identifying is For each explanatory variable, calculate the total information gain for the value of the explanatory variable by adding up the information gains for the same value of the recorded explanatory variable. Use the value of the recorded explanatory variable as the value of the threshold, and identify the total calculated information gain as the total information gain for the value of the threshold. The method for determining a threshold according to Appendix 2, characterized by the above.

[0202] (Appendix 4) The computer repeatedly executes a process of creating the data by sampling N records (where N < M) from the learning data including M records containing the target variable and the two or more explanatory variables. For each created data, using the data or the split data obtained by splitting the data as the data to be split, repeat the above recording process a predetermined number of times while switching the data to be split. The method for determining a threshold according to Appendix 3, characterized by the above.

[0203] (Appendix 5) The split data is the split data obtained by splitting with the value of the explanatory variable that maximizes the calculated information gain. The method for determining a threshold according to Appendix 3 or 4, characterized by the above.

[0204] (Appendix 6) Sort each value of the plurality of values in ascending or descending order, use the sorted each value as the x - coordinate, and calculate the maximum value of the total information gain by differentiating the function when plotting the total information gain for each value as the y - coordinate in order. The process of calculating the local maximum value by differentiating the function when the threshold value corresponding to the previously calculated local maximum value is plotted sequentially as the x-coordinate and the local maximum value as the y-coordinate is repeated until the predetermined conditions are met. A threshold determination method as described in any one of the appendices 1 to 5, characterized by the above.

[0205] (Note 7) The determined threshold value is output in association with the variable. A threshold determination method according to any one of the appendices 1 to 6, characterized in that the processing is performed by the computer.

[0206] (Note 8) When determining the threshold for variables included in the data in machine learning, For each of the multiple threshold values, the total information gain is identified when the data or the data obtained by splitting the data is divided by that value. Based on the sum of the information gains for each of the identified values, the maximum value of the sum of the information gains is calculated by differentiating a function that represents the sum of the information gains that changes according to the threshold value. The process of calculating the local maximum value by differentiating the function based on the local maximum value calculated immediately beforehand and the threshold value corresponding to that local maximum value is repeated until the predetermined conditions are met. If the predetermined conditions are met, the threshold value corresponding to the maximum value calculated immediately beforehand is determined as the threshold. A threshold determination program characterized by having a computer perform the processing. [Explanation of Symbols]

[0207] 101 Information Processing Device 110 Data 120, 130, 1410, 1420 graph 200 Information Processing Systems 201 Threshold Determination Device 202 Client Terminals 210 Network 300 bus 301 CPU 302 memory 303 Disk Drive 304 disks 305 Communication I / F 306 Portable recording medium interface 307 Portable recording media 400 training data 500 Control Unit 501 Acquisition Department 502 First calculation unit 503 Second calculation unit 504 Third Calculation Unit 505 Decision Section 506 Output section 510 Storage section 601, 602, 603 Sampled data 701,911,921,923 Split data left 702,912,922,924 Split data right 1100 Information Gain Recording Table 1210 Information Gain Total Table 1211 Total Information Gain 1500 threshold adoption table 2001 Data held 2002 Network Model 2003 Report

Claims

1. In machine learning, when determining the threshold for variables included in the data, For each of the multiple threshold values, the total information gain is identified when the data or the data obtained by splitting the data is divided by that value. Based on the sum of the information gains for each of the identified values, the maximum value of the sum of the information gains is calculated by differentiating a function that represents the sum of the information gains that changes according to the threshold value. The process of calculating the local maximum value by differentiating the function based on the local maximum value calculated immediately beforehand and the threshold value corresponding to that local maximum value is repeated until the predetermined conditions are met. If the predetermined conditions are met, the threshold value corresponding to the maximum value calculated immediately beforehand is determined as the threshold. A threshold determination method characterized by the processing being performed by a computer.

2. The aforementioned data includes multiple records containing a dependent variable and two or more independent variables. The aforementioned variable is an explanatory variable for each of the two or more explanatory variables. The threshold determination method according to feature 1.

3. The process of dividing the data into data to be divided is repeated a predetermined number of times while switching between the data to be divided, for each of the two or more explanatory variables, for each of the values ​​of the explanatory variables indicated by the records included in the data to be divided, the information gain when the data to be divided is divided by that value, and the value of the explanatory variable corresponding to the largest information gain among the calculated information gains is recorded in association with that largest information gain. The process to be identified is, For each of the aforementioned explanatory variables, the total information gain for the value of that explanatory variable is calculated by summing the information gains of the same recorded values ​​of the explanatory variable. The recorded value of the explanatory variable is defined as the threshold value, and the calculated sum of the information gains is defined as the sum of the information gains with respect to the threshold value. The threshold determination method according to feature 2.

4. The computer performs the process of creating the data by sampling N records (where N < M) from training data containing M records that include the objective variable and the two or more explanatory variables, multiple times. The threshold determination method according to claim 3, characterized in that for each of the created data, the process of recording the data or the divided data obtained by dividing the data as the data to be divided is repeated a predetermined number of times while switching the data to be divided.

5. The determined threshold value is output in association with the variable. A threshold determination method according to any one of claims 1 to 4, characterized in that the processing is performed by the computer.

6. In machine learning, when determining the threshold for variables included in the data, For each of the multiple threshold values, the total information gain is identified when the data or the data obtained by splitting the data is divided by that value. Based on the sum of the information gains for each of the identified values, the maximum value of the sum of the information gains is calculated by differentiating a function that represents the sum of the information gains that changes according to the threshold value. The process of calculating the local maximum value by differentiating the function based on the local maximum value calculated immediately beforehand and the threshold value corresponding to that local maximum value is repeated until the predetermined conditions are met. If the predetermined conditions are met, the threshold value corresponding to the maximum value calculated immediately beforehand is determined as the threshold. A threshold determination program characterized by having a computer perform the processing.