WO2020246325A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- WO2020246325A1 WO2020246325A1 PCT/JP2020/020851 JP2020020851W WO2020246325A1 WO 2020246325 A1 WO2020246325 A1 WO 2020246325A1 JP 2020020851 W JP2020020851 W JP 2020020851W WO 2020246325 A1 WO2020246325 A1 WO 2020246325A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data set
- data
- item
- evaluation
- information processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- This technology relates to information processing devices, information processing methods, and programs that generate data sets for machine learning.
- Patent Document 1 describes a system for predicting the probability of closing a real estate transaction. This system learns the contract probability prediction model and predicts the contract probability in the predetermined sale period of the target property. For learning the model, for example, learning data including the number of days from the sale date of the property that has been concluded in the past to the contract date, the feature amount vector of the property, and the like is used. In addition, by modifying the feature vector of the learning data to the feature vector generated based on the information for the most recent fixed period from the sale date of the property, it is possible to improve the prediction accuracy of the contract probability. (Patent Document 1 specification paragraphs [0030] [0045] [0051] FIGS. 3, 5, etc.).
- the purpose of this technology is to provide an information processing device, an information processing method, and a program capable of supporting the creation of a data set.
- the information processing apparatus includes a data acquisition unit, a reception unit, and a data generation unit.
- the data acquisition unit acquires the original data set.
- the reception unit receives designated information specified by the user.
- the data generation unit generates a data set for constructing a learning model from the acquired original data set based on the designated information specified by the user.
- a data set for constructing a learning model is generated from the original data set.
- the generation of this data set is performed based on the specified information specified by the user. As a result, it becomes possible to generate a data set according to the user's designation, and it becomes possible to support the creation of the data set.
- the original dataset may be a plurality of data samples, each containing a plurality of data items.
- the designated information may include a target item which is a data item to be processed by the learning model.
- the learning model may perform prediction processing or estimation processing on the target item. This makes it possible to appropriately generate the data set required for the learning model that performs the prediction processing and the estimation processing.
- the data generation unit may evaluate the original data set based on a predetermined condition and generate evaluation information according to the evaluation result or at least one of a countermeasure plan for the evaluation result.
- the reception unit may present at least one of the evaluation information or the countermeasure plan.
- the reception unit may present the countermeasure plan for the evaluation result in a selectable manner and accept the selection result of the countermeasure plan by the user as the designated information.
- the data generation unit may generate the data set based on the selection result. As a result, it becomes possible to easily modify the data according to the countermeasure plan, and it is possible to easily create an appropriate data set.
- the data generation unit may generate a plurality of countermeasures for the evaluation result and select a recommended recommended proposal from the plurality of countermeasures.
- the reception unit may present the plurality of countermeasures so that the recommended proposal can be determined.
- the data generation unit may generate the data set based on the recommended proposal.
- the reception unit may selectively present another countermeasure plan different from the recommended plan among the plurality of countermeasure plans after the start of the data set generation process. This makes it possible to reduce the time required for selecting a countermeasure plan, for example.
- the reception unit may present the recommended proposal based on the past selection result. As a result, for example, it is possible to create a new data set under the same conditions as the previous time, and it is possible to realize highly reliable learning processing.
- the predetermined condition is a condition relating to at least one of the number of data samples, the number of data items, the degree of relevance between the data items, the loss rate of the item value of the data item, or the statistic of the target item. It may be included.
- the data generation unit may evaluate the entire original data set based on the predetermined conditions. As a result, it is possible to present problems of the entire original data set and countermeasures thereof, and for example, it is possible to easily create a well-balanced data set.
- the predetermined condition is at least one of the unique number of item values of the target data item, the distribution of the item values, the presence / absence of outliers in the item values, the loss rate of the item values, or the format of the item values. It may include a condition relating to one.
- the data generation unit may evaluate the original data set for each of the plurality of data items based on the predetermined conditions. This makes it possible to present problems for each data item and countermeasures. As a result, overfitting of the learning model is suppressed, and processing accuracy can be improved.
- the target item may be a data item associated with the time information of the target event.
- the learning model may be a model that predicts the probability that the target event will occur during the evaluation period.
- the data generation unit may generate the data set based on a period unit that serves as a reference for the length of the evaluation period. As a result, it is possible to generate an appropriate data set even when, for example, a data item accompanied by time information is to be processed.
- the data generation unit may set the period unit based on either the original data set or the designated information specified by the user. This makes it possible to appropriately set the period unit even when the number of data samples changes, for example.
- the data set may include a learning data set for training the learning model and an evaluation data set for evaluating the learning model.
- the data generation unit sets the evaluation period and a virtual period which is a period before the evaluation period based on the period unit, and generates the evaluation data set based on the evaluation period.
- the training data set may be generated based on the virtual period.
- the data generation unit has a label indicating whether or not the target event has occurred in the evaluation period with respect to the data sample in which the target event may occur during the evaluation period at the start of the evaluation period. May be added to generate the evaluation data set. This makes it possible to properly generate an evaluation data set.
- the data generation unit is a label indicating whether or not the target event occurs in the virtual period with respect to the data sample in which the target event may occur in the virtual period at the start of the virtual period. May be added to generate the training data set. This makes it possible to properly generate a training data set.
- the data generation unit may generate a plurality of partial learning data sets by shifting the virtual period with respect to the period unit, and may combine the plurality of partial learning data sets to generate the learning data set. .. As a result, it is possible to easily generate a required amount of training data set, and it is possible to sufficiently support the creation of the training data set.
- the data acquisition unit may acquire an additional data set having a data item representing time information of another event different from the target event.
- the data generation unit aggregates the data items of the other event in a predetermined period set before the evaluation period based on the time information of the other event, and the aggregated result is the data. You may add it to the set. This makes it possible to easily create a dataset containing data on other events associated with time information, for example.
- the reception unit may generate an input screen for inputting the designated information.
- the user can easily make various specifications, and it is possible to sufficiently support the creation of the data set.
- the information processing method is an information processing method executed by a computer system and includes acquiring an original data set.
- the specified information specified by the user is accepted.
- a data set for constructing a learning model is generated from the acquired original data set.
- a program causes a computer system to perform the following steps. Steps to get the original dataset. A step that accepts specified information specified by the user. A step of generating a data set for constructing a learning model from the acquired original data set based on the specified information specified by the user.
- FIG. 1 is a block diagram showing a configuration example of an information processing device according to an embodiment of the present technology.
- the information processing device 100 creates a data set for constructing a learning model using machine learning.
- a PC Personal Computer
- a server device is used as the information processing device 100.
- a mobile terminal such as a smartphone or a tablet terminal may be used as the information processing device 100.
- the information processing apparatus 100 includes an operation unit 10, a display unit 11, a communication unit 12, a database 13, and a control unit 14.
- the operation unit 10 includes an operation device for the user to input various information.
- a device capable of inputting information such as a mouse or a keyboard is used.
- the specific configuration of the operation unit 10 is not limited.
- a touch panel or the like may be used as the operation unit 10.
- a camera or the like for photographing the user may be used, and input by a line of sight or a gesture may be possible.
- the display unit 11 is a display for displaying each information, for example, displaying the above-mentioned UI screen or the like.
- a liquid crystal display LCD: Liquid Cristal Display
- an organic EL Electro-Luminescence
- the specific configuration of the display unit 11 is not limited, and for example, a display or the like equipped with a touch panel or the like that functions as the operation unit 10 may be used. Further, an HMD (Head Mount Display) may be used as the display unit 11.
- the communication unit 12 is a module that performs communication processing between another device and the information processing device 100.
- the communication unit 12 is composed of, for example, a wireless LAN (Local Area Network) module such as Wi-Fi or a wired LAN module.
- a communication module capable of short-range wireless communication such as Bluetooth (registered trademark) and optical communication may be used.
- the database 13 is a non-volatile storage device, and for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like is used.
- the database 13 stores the original data set 20 (see FIG. 2) for generating the data set for machine learning, the setting contents set when the information processing apparatus 100 is used, and the like. Further, the database 13 functions as a storage unit of the information processing device 100, and stores a program or the like executed by the control unit 14.
- the control unit 14 controls the operation of each block of the information processing device 100.
- the control unit 14 has a hardware configuration necessary for a computer such as a CPU and a memory (RAM, ROM). When the CPU loads the program stored in the database 13 (storage unit) into the RAM and executes it, various processes are executed.
- a device such as a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) may be used.
- the data acquisition unit 15, the UI generation unit 16, the data processing unit 17, and the machine learning unit 18 are used as functional blocks. Is realized. Then, the information processing method according to the present embodiment is executed by these functional blocks.
- dedicated hardware such as an IC (integrated circuit) may be appropriately used.
- the data acquisition unit 15 acquires the original data set 20.
- the original data set 20 is a data set that is the source of the data set for machine learning described later.
- the data acquisition unit 15 reads the original data set 20 specified by the user from the database 13.
- a data set is a collection of a plurality of data.
- a data set is a collection of a plurality of data samples, and each data sample is stored in association with data (item values) for each predetermined item. Therefore, it can be said that the original data set 20 is a plurality of data samples each including a plurality of data items.
- tabular data As the original data set 20, for example, a tabular data set (hereinafter referred to as tabular data) is used.
- tabular data each row corresponds to a data sample, and each column represents an attribute (data item) of the data sample.
- data item When tabular data is stored in a file, the name of each data item is often stored in the first line. For example, various items such as a data sample ID, creation date, and event name can be data items.
- data sets such as images and sounds may be used.
- a data sample in which image data and audio data are the main data is configured. Items representing the attributes (contents of images and sounds, etc.) are stored in each data sample.
- a data set such as time-series data such as stock prices and statistical data representing the distribution of numerical values may be used.
- the format of the data set is not limited, and the present technology can be applied to a data set of any format.
- the UI generation unit 16 generates a UI for exchanging information between the user and the information processing device 100.
- the UI generation unit 16 generates a GUI (Graphical User Interface) such as a UI screen (see FIG. 5 and the like) displayed on the display unit 11 when generating a data set for machine learning.
- GUI Graphic User Interface
- On the UI screen for example, information to be presented to the user, an input field for the user to input information, and the like are displayed.
- the user can operate the operation unit (keyboard, etc.) while looking at the UI screen to specify various settings, values, and the like.
- the UI generation unit 16 receives information specified by the user (hereinafter referred to as designated information) via the UI screen. That is, the UI generation unit 16 reads the input contents such as selections and values input via the UI screen.
- the user-specified information includes a target item that is a data item to be processed by the learning model. For example, information that specifies a target item (item name, item number, etc.) is input via the UI screen and read as specified information. Further, the designated information includes input items which are data items used for learning the learning model, parameters set before machine learning is executed (so-called hyperparameters), and the like. The designated information and the UI screen will be described in detail later.
- the UI generation unit 16 functions as a reception unit that receives designated information specified by the user.
- the UI screen corresponds to an input screen for inputting specified information.
- the data processing unit 17 generates a data set for constructing a learning model from the original data set 20 acquired by the data acquisition unit 15 based on the designated information specified by the user.
- the learning model is a model (learned model) constructed by using a machine learning algorithm.
- a learning model is constructed by learning various parameters according to an algorithm and evaluating the parameters.
- a data set used for learning and evaluation of such a learning model is generated from the original data set 20 according to the information specified by the user. For example, processing processing such as deleting a data item or a data sample of the original data set 20 or editing an item value is performed. Further, for example, a duplication process such as duplicating a data sample to generate a new data set is performed.
- the method of generating a data set from the original data set 20 is not limited.
- the data set generated by the data processing unit 17 will be referred to as an input data set 30.
- FIG. 1 schematically shows an input data set 30 generated by the data processing unit 17.
- the data processing unit 17 detects problems and the like of the original data set 20 by evaluating the original data set 20, and generates evaluation information indicating the evaluation result (problem) and a countermeasure plan for the evaluation result.
- the generated evaluation information and countermeasures are output to the UI generation unit 16 and displayed on the UI screen.
- the evaluation of the original data set 20 and the process of displaying the evaluation result and the like on the UI screen are performed before the input data set 30 is generated.
- the machine learning unit 18 functions as a learning device for performing machine learning.
- a learning model is implemented in the machine learning unit 18. More specifically, by inputting the input data set 30 into the machine learning unit 18 and performing machine learning, a learning model that performs a predetermined process is constructed.
- an evaluation learning model (hereinafter, referred to as an evaluation model) for evaluating the original data set 20 is implemented in the machine learning unit 18. This point will be described in detail later.
- the data processing unit 17 and the machine learning unit 18 work together to realize the data generation unit.
- the learning model is a model that performs prediction processing on the target item. This enables predictive analysis of the target item.
- Predictive analysis is a method of predicting future events based on past results by machine learning. Predictive analysis makes it possible to predict, for example, the purchase probability of a target product from customer attribute information.
- the item purchase date, etc.
- items related to other attributes can be input items for learning the learning model.
- the machine learning algorithm used for the learning model is not limited, and for example, an arbitrary algorithm according to the processing content may be appropriately set. This technology is applicable regardless of the type of algorithm.
- FIG. 2 is a table showing tabular data given as an example of the original data set 20.
- the original data set 20 shown in FIG. 2 is data related to a device failure, and is used, for example, when constructing a learning model (prediction model) for predicting a device failure.
- the name of the data item is recorded in the first line of the original data set 20.
- item values for each data sample are recorded in each line after the second line.
- the data items of the original data set 20 are "ID”, "operating months”, “failure”, “temperature”, “observation date”, “team”, and "person in charge”. Is provided.
- the item values of these data items are recorded in each data sample.
- ID is an item representing the ID of the data sample, and a character string is used for the item value.
- Numberer of operating months is an item indicating the number of operating months of the device, and a numerical value is used for the item value.
- Fanure is an item indicating whether the device is normal or malfunctioning, and a character string is used for the item value.
- Tempo is an item representing the measured temperature, and a numerical value is used as the item value.
- the “observation date” is an item indicating the observation date, and the date is used as the item value.
- Team” and “person in charge” are items representing the names of the team in charge and the person in charge, and a character string is used for the item value.
- the item of "failure” in the original data set 20 is the target item 21 to be processed by the learning model, and corresponds to the label of supervised learning (teacher label). Therefore, the item of "failure” is an item included in the input data set 30 as a teacher label. Items other than “failure” in the original data set 20 are candidates for input item 22 input to the learning model. That is, items other than "failure” may or may not be included in the input dataset 30. In FIG. 2, as an example, the items of "operating months” and "temperature” are coded as input items 22, but when these items are not input items 22, or other items are input items 22. In some cases.
- FIG. 3 is a flowchart showing an example of the basic operation of the information processing apparatus 100.
- the basic flow from the original data set 20 to the generation of the input data set 30 by using the information processing apparatus 100 will be described.
- the basic information for generating the input data set 30 is read (step 101).
- the basic information is the file name of the original data set 20, settings related to machine learning, and the like.
- the settings related to machine learning include information for designating machine learning tasks and information for designating target item 21 (teacher label) (item name, column number, etc.).
- the UI generation unit 16 generates a UI screen for inputting basic information and displays it on the display unit 11.
- the basic information is an example of the designated information specified by the user.
- the data processing unit 17 executes the check process of the original data set 20 based on the basic information (step 102).
- the original data set 20 is evaluated and a problem is detected.
- a UI screen (see FIG. 5, etc.) that presents evaluation information according to the evaluation result and a countermeasure plan for the evaluation result is generated.
- the generated UI screen is displayed on the display unit 11.
- the response information input by the user is acquired from the UI screen generated in step 102 (step 103).
- the response information includes, for example, a data item (input item 22) used as the input data set 30 and information for designating a countermeasure plan.
- the response information is an example of the designated information specified by the user.
- the input data set 30 is generated based on the acquired response information (step 104). For example, the original data set 20 is edited, processed, duplicated, etc. according to the countermeasure plan specified by the response information, and the input data set 30 is generated. This makes it possible to easily create a data set in which the problems of the original data set 20 are solved. As described above, in the present embodiment, a data set generation tool that automates and supports the creation of an appropriate data set used for predictive analysis and the like is realized. When the input data set 30 is generated, for example, the machine learning unit 18 executes learning and prediction processing on the input data set 30, and presents the processing result to the user.
- FIG. 4 is a flowchart showing an example of the check process of the original data set 20.
- FIG. 5 is a schematic diagram showing an example of the UI screen generated by the check process. The process shown in FIG. 4 is the internal process of step 102 shown in FIG.
- the UI screen 40 shown in FIG. 5 is a processing result of a check process for the original data set 20 shown in FIG.
- FIGS. 4 and 5 the basic flow of evaluating the original data set 20 and presenting the evaluation results and the like will be described with reference to FIGS. 4 and 5.
- the UI screen 40 shown in FIG. 5 will be briefly described.
- the UI screen 40 is a screen presented to the user after the check process.
- the upper table of the UI screen 40 shows the check result (overall check result 41a) of the entire original data set 20. Further, in the table on the lower side of the UI screen 40, the check result (item check result 41b) for each data item of the original data set 20 is shown. Further, an execution button 42 for executing the correction process is arranged at the lower right of the UI screen 40.
- the overall check result 41a and the item check result 41b each include a plurality of presentation items 43.
- the overall check result 41a includes an item of "problem” explaining each problem and an item of "correcting with a tool” explaining a countermeasure plan for each problem.
- the item check result 41b "target”, “input”, “item name”, “data type”, “check result”, and “correct with tool” are presented for each data item of the original data set 20. Item 43 is included.
- the “Target” and “Input” items are represented by check boxes. If the data item is the target item 21, "target” is checked, and if it is the input item 22, "input" is checked.
- the "item name” is an item indicating the name of the data item
- the "data type” is an item indicating the typical format of the data item.
- the "check result” is an item for explaining the problem of the data item
- the "correction with the tool” is an item for explaining the countermeasure plan for the problem of the data item.
- a check box is displayed in the "Modify with tool" item that explains the countermeasure plan.
- the countermeasure plan is selected.
- the check box is unchecked (white square in the figure)
- the countermeasure plan is not selected.
- two check boxes or the like indicating selection / non-selection of the countermeasure plan may be used.
- the layout of the UI screen 40 and the display method and selection method of each presentation item 43 are not limited. For example, an icon or the like may be used to explain the item, or a detailed explanation may be displayed using a pop-up window or the like.
- a problem in the original data set 20 is detected (step 201). Specifically, the data processing unit 17 evaluates the original data set 20 based on predetermined conditions.
- the predetermined conditions are, for example, set for each of a plurality of evaluation items, and are conditions for determining whether or not the evaluation result in each evaluation item causes a problem. That is, the data processing unit 17 detects the evaluation item that does not satisfy the predetermined condition among the plurality of evaluation items as a problem.
- an evaluation list consisting of multiple evaluation items is described as an evaluation list.
- an evaluation list an overall evaluation list for evaluating the entire original data set 20, an individual evaluation list for evaluating each data item of the original data set 20, and a relationship between the data items are evaluated.
- Related evaluation list etc. for According to these evaluation lists the original data set 20 is evaluated, and problems in the original data set 20 are detected. This enables a detailed evaluation of the original data set 20.
- Each evaluation item and the conditions set for each item will be described in detail later.
- the data processing unit 17 generates evaluation information 44 according to the evaluation result of the original data set 20.
- the evaluation information 44 is, for example, information indicating an evaluation result of an evaluation item, and is typically information for explaining a problem found by the evaluation.
- the evaluation information 44 is stored in advance in association with, for example, an evaluation item. Then, when a problem is detected as a result of the evaluation, the corresponding evaluation information 44 is read. Further, when the evaluation result specifies a numerical value or specific data, the evaluation information 44 may be appropriately generated according to the content specified by the evaluation result.
- an evaluation item for evaluating the number of samples is set, and a threshold value for the number of samples is set as a condition for the evaluation item.
- a problem evaluation result
- sentences, icons, etc. explaining the problem are generated as evaluation information 44. ..
- the content of the "problem" item of the overall check result 41a and the content of the "check result” item of the item check result 41b are the evaluation information 44. If the evaluation result does not pose a problem (such as when a predetermined condition is satisfied), the evaluation information 44 may not be generated.
- a countermeasure 45 for the problem is listed (step 202).
- the countermeasure plan 45 is a plan showing a coping method for solving the problem, and is typically text information or the like for explaining the target method.
- Countermeasure 45 is generated for each problem detected in step 201, for example.
- the countermeasure plan 45 is stored in association with the evaluation items in the same manner as the above-mentioned problems. Alternatively, a countermeasure 45 may be appropriately generated according to the content of the problem.
- one countermeasure 45 is generated for one problem.
- a plurality of countermeasures 45 may be generated for one problem. In this way, a list of countermeasures 45 for each problem with the original data set 20 is generated.
- the countermeasure plan 45 (countermeasure method). In such a case, the countermeasure 45 is not generated.
- the content of the item of "correct with tool" of the overall check result 41a and the item check result 41b is the countermeasure plan 45.
- the data processing unit 17 generates at least one of the evaluation information 44 according to the evaluation result and the countermeasure plan 45 for the evaluation result. This makes it possible to list the problems (evaluation information 44) of the original data set 20 and the countermeasures (countermeasure 45).
- the recommended countermeasure 45 is selected (step 203).
- the recommended countermeasure 45 will be referred to as the recommended 46.
- Proposal 46 is a coping method recommended for the user. For example, when two or more countermeasures 45 are generated for one evaluation item, one of the two or more countermeasures 45 is selected as the recommended proposal 46. Even if one countermeasure 45 is generated for one evaluation item, if it is recommended to implement the countermeasure 45, the countermeasure 45 is selected as the recommended proposal 46. To. In this way, the data processing unit 17 generates a plurality of countermeasures 45 for the evaluation result, and selects the recommended proposal 46 from the plurality of countermeasures 45.
- a method of selecting the recommended proposal 46 for example, a method of using an evaluation model for evaluating the original data set 20 can be mentioned.
- the evaluation model for example, a simple model (linear model or the like) having a shorter learning time than a learning model or the like set by the user to perform prediction processing is used.
- the data processing unit 17 executes the target countermeasure plan 45 for the original data set 20 to generate a temporary data set.
- the machine learning unit 18 learns the evaluation model using the temporary data set, and evaluates the accuracy of the prediction processing using the evaluation model. Based on this prediction accuracy, Recommendation 46 is selected.
- the countermeasure 45 used for generating the provisional data set having the highest prediction accuracy is selected as the recommended proposal 46.
- the countermeasure plan 45 is selected as the recommended plan 46.
- the method of selecting the recommended proposal 46 is not limited, and for example, the default countermeasure 45, which is the recommended countermeasure 46 among the plurality of countermeasures 45, may be set in advance.
- step 203 it may be determined whether or not to use the countermeasure plan 45. That is, it is determined whether or not the countermeasure 45 itself is presented to the user. For example, if the prediction accuracy of the evaluation model described above does not differ significantly between the case where the countermeasure plan 45 is executed and the case where the countermeasure plan 45 is not executed, or the prediction accuracy is lowered, the countermeasure plan 45 is not used. The judgment is executed. Such a countermeasure 45 is not presented on, for example, the UI screen 40 shown in FIG. In addition, the method for determining whether or not to use the countermeasure 45 is not limited.
- each problem of the original data set 20, the countermeasure plan 45, and the recommended plan 46 are presented (step 204).
- the UI generation unit 16 generates a UI screen 40 (see FIG. 5) showing each problem (evaluation information 44) of the original data set 20 and a countermeasure 45 thereof.
- a UI screen 40 that displays only problems, a UI screen 40 that displays only countermeasures 45, and the like may be generated. Even in such a case, the user can edit and process the original data set 20 so as to solve the problem or according to the countermeasure 45, and can generate an appropriate input data set 30. .. In this way, the UI generation unit 16 presents at least one of the evaluation information 44 and the countermeasure plan 45.
- each countermeasure 45 is displayed together with a check box in the "Modify with tool" column. By checking this check box, the user can select each countermeasure 45. For example, when two countermeasures 45 are displayed corresponding to one problem (evaluation result), either countermeasure 45 can be selected. Further, when one countermeasure 45 is displayed for one problem, it is possible to select whether or not to execute the countermeasure 45.
- a plurality of countermeasure proposals 45 are presented so that the recommended proposal 46 can be identified.
- the UI screen 40 is displayed with the check boxes of the countermeasures 45 selected as the recommended countermeasures 46 among the plurality of countermeasures 45 checked in advance.
- the recommended option (recommendation plan 46) may be presented to the GUI in the initially selected state.
- the recommended proposal 46 may be presented so that it can be identified by emphasizing the text, adding an icon, or the like.
- the method of presenting the recommended proposal 46 in a discriminating manner is not limited. This allows the user to easily select the recommended countermeasure 45.
- the data set improvement processing is performed by pressing the execution button 42 at the lower right of the UI screen 40.
- step 103 in FIG. 3 is executed, and the selection result (response information) of the countermeasure plan 45 is read by the UI generation unit 16.
- the selection result of the countermeasure plan 45 input via the UI screen 40 becomes designated information indicating the countermeasure plan 45 selected by the user.
- the selection result of the countermeasure plan 45 by the user is accepted as the designated information.
- the input data set 30 is generated based on the selection result of the countermeasure 45.
- this tool a predetermined check is performed on the original data set 20 loaded by the user, and information on the problem and a method for dealing with it are presented to the user. Then, the original data set 20 is automatically modified according to the countermeasure method (measure 45) selected by the user. As a result, it becomes possible to easily create an appropriate data set, and it is possible to sufficiently support the creation of the data set.
- the evaluation item 47a is an evaluation item regarding the number of data samples and the number of data items.
- the learning model tends to cause overfitting, which may cause a problem.
- threshold values regarding the number of data samples and the item ratio are set, respectively. If both the number of data samples and the item ratio are below the threshold value, the problem is that the number of data samples is smaller than the number of data items.
- the threshold value regarding the number of data samples and the item ratio is an example of the conditions regarding the number of data samples and the number of data items, and is a predetermined condition set for the evaluation item 47a.
- a method of coping by narrowing down the data items is presented.
- a method of deleting a part of data items for example, 50% or the like
- a method of deleting most of the data items for example, 90% or the like
- the data item to be deleted is set based on, for example, the amount of mutual information (data correlation, etc.) with the teacher label (target item 21) of the original data set 20.
- the deletion target is set in order from the data item having the lowest mutual information amount.
- the rate of deleting data items may be set as appropriate.
- the measure 45 for deleting a part of the data item is selected as the recommended plan 46.
- the recommendation plan 46 for example, learning and prediction accuracy evaluation are performed using a simple evaluation model with a short learning time, and the countermeasure plan 45 having the highest evaluation value is recommended (see step 203 in FIG. 4). If the prediction accuracy evaluation for each countermeasure 45 does not meet the criteria, it is possible not to select the recommended proposal 46 or to perform no processing without presenting the countermeasure 45. ..
- Evaluation item 47b is an evaluation item regarding the bias of the item value of the teacher label (target item 21).
- the item of "failure" in the original data set 20 is the teacher label
- the item value (label value) of the teacher label is either "normal” or "failure” (see FIG. 2). ..
- a threshold value regarding the bias of the item value of the teacher label is set. For example, when the number of samples of either "normal” or "failure" is below the threshold value, the fact that the value of the teacher label is biased is displayed as a problem.
- the threshold value regarding the bias of the item value of the teacher label is an example of the condition regarding the statistic of the target item 21, and is a predetermined condition set for the evaluation item 47b.
- the process of increasing the number of samples with a specific item value is a process that is difficult to deal with by the automatic process by the data processing unit 17. In this way, if automatic processing cannot be used, only the problem is presented. This makes it possible to determine whether it is necessary to supplement other data. Even if the value of the teacher label is biased, proper learning may be possible. For example, using the unmodified original data set 20, learning and prediction accuracy evaluation may be performed with an evaluation model having a short learning time. In this case, if the prediction accuracy is equal to or higher than a certain threshold value, it is possible to perform a process of not displaying the teacher label to the user, assuming that the bias of the teacher label does not matter.
- the teacher label may be evaluated using statistics, etc. that are different from the bias of item values.
- the item value of the teacher label is a label value such as "failure" or "normal”.
- Conditions for statistics such as the unique number of label values (the number of possible values), the distribution of label values, and the absolute number of label values are set, and problems related to each statistic are detected.
- the prediction processing by the learning model is a regression type processing
- the item value of the teacher label is represented by a numerical value. In this case, conditions for statistics such as distribution of numerical values and presence / absence of outliers are set, and problems related to each statistic are detected.
- a threshold value determination for a single statistic may be performed, or a condition or the like that combines a plurality of statistics may be set.
- Evaluation item 47c is an evaluation item regarding the relationship between two data items. For example, when the relationship between two data items is very large (when the correlation value is a certain value or more), it is sufficient to use only one data item.
- a threshold value regarding the correlation value of the two data items is set in order to determine the evaluation item 47c. For example, a correlation value is calculated for each combination of all data items. Then, a pair of data items whose correlation value is equal to or higher than the threshold value is detected as a highly related data item. When a highly relevant data item is detected, the problem is that there is a data item that represents similar information. In addition, it is displayed that either one should be used together with the item name of the detected data item.
- the threshold value regarding the correlation value of the two data items is an example of the condition regarding the degree of relevance between the data items, and is a predetermined condition set for the evaluation item 47c.
- the state of being in an abstract relationship is a state in which the value of one item can be determined almost uniquely by the value of one item, for example, the relationship between "country name” and "city name”. In such a case, the fact that it is abstracted and the item name are presented as problems. Then, as a countermeasure 45, the user is presented to select either one or both, and the user is urged to make the selection. At this time, the recommended option may be determined based on the number of data samples, the unique number of these two items, and the degree of relevance (mutual information, etc.) to the teacher label.
- evaluation items and the like for evaluating the loss rate of the item values of each data item may be set.
- the loss rate is higher than the threshold value, the fact that the loss rate is high and the item name are presented, and options for whether or not to use the data item are displayed.
- the threshold value for the loss rate is an example of the condition regarding the loss rate of the item value of the data item.
- the data processing unit 17 evaluates the entire original data set 20 based on predetermined conditions. As a result, it becomes possible to present the problems of the entire original data set 20 and the countermeasures 45 and the like, and it is possible to easily create a well-balanced data set and the like.
- the evaluation items and conditions for evaluating the entire original data set 20 are not limited, and any evaluation item 47 capable of evaluating the entire data set may be set.
- the data processing unit 17 detects a problem for each data item. In some cases, multiple problems are detected for one item.
- each data item it is determined whether the item value of each data item has a large number of categorical values, a large number of numerical values, a character string related to a date (determined by whether or not it matches a predetermined character string format), and the like. Determined in advance. That is, the format of each data item is determined and displayed in the "data type" presentation item of the item check result 41b.
- Evaluation item 47d is an evaluation item for a unique number.
- a problem regarding the unique number is detected for the data item of "ID".
- the categorical value is, for example, an item value that classifies the item contents into categories.
- the item of "temperature” includes a categorical value representing "temperature” in categories such as "high” and "low”.
- the number (type) of possible values of this categorical value is a unique number.
- the data item of "ID” is an item having a large number of unique IDs, which are categorical values, with respect to the number of data samples.
- a threshold value for the number of data samples and a value obtained by dividing the number of data samples by the number of uniques is set.
- the threshold value regarding the number of data samples and the unique ratio is an example of the condition regarding the unique number of the item value of the target data item, and is a predetermined condition set for the evaluation item 47d.
- a method of removing it from the learning input item 22 is presented.
- a check box for selecting whether or not to exclude the "ID" item from the input item 22 is displayed.
- the preferred method may be recommended from the method of removing from the input item 22 and the method of not removing it.
- an evaluation model with a short learning time may be used for learning and prediction accuracy evaluation, and the one with the higher evaluation value may be recommended.
- the same processing is performed for data items (columns) having a high loss rate.
- the evaluation of the unique number is also performed on other data items ("team", "person in charge”, etc.) whose data type is a character string, for example.
- Evaluation item 47e is an evaluation item for outliers.
- problems related to outliers are detected for the data item of "number of operating months".
- the learning result may be adversely affected.
- the outlier is a value whose appearance probability is below a certain level when, for example, a normal distribution is assumed. That is, a value that greatly deviates from the distribution of item values (numerical values) is an outlier.
- a threshold value regarding the appearance probability of the item value is set in order to determine the evaluation item 47e.
- the appearance probability of the target item value is less than or equal to the threshold value, the item value is detected as an outlier, and the fact that the data item contains the outlier is displayed as a problem.
- the ID, number, or the like of the data sample that is an outlier may be presented.
- the tenth data sample (id10) from the top which has a significantly higher "operating months" than the other samples, is presented as a sample with outliers.
- the threshold value regarding the appearance probability of the item value is an example of the condition regarding the presence or absence of an outlier in the item value, and is a predetermined condition set for the evaluation item 47e.
- a method of treating outliers as missing values As a countermeasure 45 for the evaluation item 47e, a method of treating outliers as missing values, a method of excluding data samples having outliers, and the like are presented.
- an outlier is used as a missing value, for example, a symbol or the like representing the missing value is written in the item of "operating months" of the data sample (id10). If the data sample is excluded, id10 is deleted. At this time, learning and prediction accuracy evaluation may be performed using the evaluation model, and the one with the higher evaluation value may be recommended.
- an evaluation item or the like for evaluating the distribution of the item value may be set.
- a threshold value regarding the distribution width of the item value is set, and it is determined whether or not the data item has data having an appropriate distribution. This makes it possible to exclude data items and the like that are extremely biased.
- the threshold value related to the distribution width of the item value is an example of the condition related to the distribution of the item value.
- Evaluation item 47f is an evaluation item for missing values.
- a problem related to a missing value is detected for the data item of "number of operating months". That is, regarding the "number of operating months", problems regarding the two evaluation items 47e and 47f are detected.
- the original data set 20 includes a sample in which the item value of "number of working months" is described as "none".
- the evaluation item 47f the fact that the missing item value is written as a character string is displayed as a problem.
- the countermeasure 45 a method of treating the character string described as "none” as a missing value is presented.
- the countermeasure 45 of the evaluation item 47f is automatically executed without being selected by the user. In this way, simple corrections such as character strings may be automatically reflected after presenting only the contents of the corrections.
- Evaluation item 47g is an evaluation item for data containing different types of item values.
- a problem regarding the type of item value is detected for the data item of "temperature".
- the item of "temperature” includes a numerical value indicating temperature and a categorical value ("high”, "low”, etc.) indicating high or low temperature.
- the learning accuracy may decrease. Therefore, in the present embodiment, the fact that both the numerical value and the categorical value are included in the target item is displayed as a problem.
- a method of treating a character string (categorical value) as a missing value and a method of treating a numerical value and a character string as separate items are presented.
- a character string is used as a missing value
- the character string is rewritten as a symbol or the like representing the missing value.
- the numerical value and the character string are set as separate items, two items, a first item composed of the numerical value and the missing value and a second item composed of the categorical value and the missing value, are generated.
- data samples of categorical values (“high”, “low”, etc.) are set as missing values.
- a numerical data sample is set as a missing value.
- the user is presented with an option to select both or one of the first and second items.
- the recommended option (recommendation plan 46) may be determined based on the statistic of each item (deficiency rate and unique number) and the statistic of the relationship with the teacher label (mutual information amount, etc.). This makes it possible to construct an appropriate data set without reducing the number of data samples, for example.
- Evaluation item 47h is an evaluation item related to the format of the item value.
- a problem regarding the format is detected for the data item of "observation date”.
- the data type of the item value of "observation date” is "date".
- the eighth data sample (id8) has a format different from that of other item values.
- the format most frequently used as the item value of the data item is identified, and the item value other than the format is detected. It can be said that this standard format is used as a condition regarding the format of item values. Note that item values and the like that deviate from the format may be detected based on the format specified by the user.
- the fact that the item value includes a data sample having a different format is displayed as a problem together with the ID of the data sample. Further, as the countermeasure 45 of the evaluation item 47h, a method of automatically aligning the format of the target item value is presented. In this way, the modification of the format may be automatically reflected after presenting only the content of the modification.
- Evaluation item 47i is an evaluation item related to the loss rate of item values.
- a problem regarding the loss rate is detected for the data item of "team".
- a data item with a high loss rate can be a target for reduction when reducing the number of items. Therefore, in the present embodiment, a threshold value regarding the loss rate of the item value is set in order to determine the evaluation item 47i. For example, the ratio of the number of missing values to the number of data samples is calculated as the missing rate. When this loss rate is less than or equal to the threshold value, the fact that the loss rate of the item value is large is displayed as a problem.
- the threshold value regarding the loss rate of the item value is an example of the condition regarding the loss rate of the item value, and is a predetermined condition set for the evaluation item 47i.
- a countermeasure 45 for the evaluation item 47i a method of excluding the target data item from the input item 22 is presented. This makes it possible to easily delete data items and the like having many missing values.
- the data processing unit 17 evaluates the original data set 20 for each of a plurality of data items based on predetermined conditions. This makes it possible to present problems for each data item and countermeasures 45 and the like. As a result, overfitting of the learning model is suppressed, and processing accuracy can be improved.
- the evaluation items and conditions for evaluating each data item are not limited, and any evaluation item may be set according to, for example, the type of data item, the data format, and the like.
- the user's selection result (designated information) input via the UI screen 40 is held in association with the prediction model.
- machine learning is executed based on the input data set 30 generated using the selection result, and a prediction model is constructed.
- the prediction model and the selection result which is the processing content for the data set, are associated with each other and stored in the database 13 or the like.
- a new original data set 20 may be configured by expanding data items and data samples for the original data set 20 and the input data set 30 used in the past.
- the past selection result is applied when the new original data set 20 is used to generate a new input data set 30 for retraining the prediction model or the like.
- the countermeasure 45 is selected in advance based on the past selection result.
- the UI screen 40 is displayed in this state. From another point of view, it can be said that the countermeasure 45 selected in the past is presented as the recommended 46. In this way, the UI generation unit 16 presents the recommended proposal 46 based on the past selection results.
- parameters and the like for the countermeasure plan 45 (or the countermeasure plan 45 that has not been corrected by the user) selected by the user in the past may be stored and used in the selection process of the recommended plan 46.
- the item name, statistic (possible value, average, variance, etc.) of the corresponding data item are stored as parameters.
- information such as item names, statistics, file names of the original data set 20, users, and the like for other data items included in the same original data set 20 may be stored as parameters.
- the processing content (recommendation plan 46) to be recommended based on these parameters is selected.
- a countermeasure 45 similar to the countermeasure 45 presented in the past is presented for one data item.
- the countermeasure 45 selected in the past is presented as the recommended proposal 46.
- the recommended proposal 46 is presented based on the past selection result of the user.
- the processing method executed in the past may be automatically executed. This makes it possible to easily generate an appropriate input data set 30 by using the original data set 20 to which the data sample is added.
- the user may learn the tendency when selecting each countermeasure plan 45, and the recommended plan 46 may be presented based on the learning result.
- a tendency (habit) for each user for example, there is a tendency that an item having a unique number of 10% or more is not selected as an input item 22, and a tendency that an outlier value of 5 or less is treated as a missing value.
- the threshold value ratio of unique numbers, number of outliers, etc.
- Recommendation 46 is selected so that the options previously selected by the user are recommended according to the thresholds learned in this way. As a result, the user's selection tendency is learned and the recommended proposal 46 is presented, so that excellent usability can be exhibited.
- the input data set 30 is generated based on the selection result after the user selects each countermeasure 45 using the UI screen.
- the input dataset 30 may be generated based on the proposed recommendation 46. That is, the input data set 30 according to the recommended proposal 46 is automatically generated.
- a UI screen 40 or the like for changing the processing content (selection of the countermeasure plan 45, etc.) for the input data set 30 may be generated. This allows the user to specify correction and re-execution for the processing content.
- FIG. 6 is a schematic diagram showing another example of the UI screen.
- the UI screen 50 shown in FIG. 6 is a screen that is displayed during or at the timing after the automatic generation process is started after the automatic generation process of the input data set 30 is started.
- the process of generating the input data set 30 is first started according to the recommended proposal 46. At this point, the countermeasure 45 other than the recommended 46 is not applied.
- a countermeasure 45 other than the recommended 46.
- a countermeasure 45 for selecting whether or not to use the item of "ID" is presented.
- a countermeasure 45 for selecting the use of numerical values, the use of categorical values, and the use of both is presented. ..
- These countermeasures 45 are countermeasures 45 that are not reflected in the input data set 30.
- the re-execution button 51 and the progress button 52 are displayed at the lower right of the UI screen 50.
- the re-execution button 51 is pressed, the countermeasure 45 selected for each problem is executed and the input data set 30 is modified.
- the progress button 52 is pressed, the next process is started without modifying the input data set 30.
- the UI generation unit 16 can selectably present another countermeasure 45 different from the recommended countermeasure 46 among the plurality of countermeasures 45. As a result, for example, the time required for selecting the countermeasure plan 45 can be suppressed, and the creation of the data set can be sufficiently supported.
- the prediction target is an event associated with time information
- the time information is information indicating, for example, a date and time, a date, a time, an elapsed time, and the like.
- the event that the customer withdraws from the service is the event to be predicted (hereinafter referred to as the target event).
- the event of withdrawal is recorded by the item of "withdrawal date" whose item value is time information indicating the date of withdrawal.
- the probability that the withdrawal (target event) will occur within the predetermined evaluation period is predicted for the data item in which the time information is recorded, for example, the item of "withdrawal date".
- a target event accompanied by time information for example, a case of predicting enrollment in an optional service, a case of predicting a change in contract contents, and the like can be mentioned.
- the type of target event is not limited.
- the target item 21 is a data item associated with the time information of the target event.
- the learning model is a prediction model that predicts the probability that the target event will occur during the evaluation period. For example, the evaluation start date and the evaluation end date are set as the evaluation period.
- the prediction model predicts the probability that a target event (customer withdrawal, etc.) will occur from the set evaluation start date to the evaluation end date. For example, when training a prediction model, an evaluation period past the timing of processing is set, and when performing actual prediction analysis, an evaluation period in the future is set rather than the timing of processing. .. In the following, a prediction model for predicting customer withdrawal will be described as an example.
- FIG. 7 is a table showing an example of the original data set 20 including the target item 21 with time information.
- the original data set 20 shown in FIG. 7 is tabular data showing information about customers who have joined the service within a certain period of time.
- the name of the data item is recorded in the first row of the original data set 20, and the item value for each customer (data sample) is recorded in each row after the second row.
- the items of "ID”, "admission date”, “age”, “gender”, “address”, and “withdrawal date” are provided as the data items of the original data set 20.
- the item values of these data items are recorded in each data sample.
- the "ID” item is an item indicating the customer's ID.
- the “Enrollment date” item the date when each customer joined is recorded.
- the information of the customer who joined the service during the 24 months from January 1, 2017 to December 31, 2018 is recorded.
- the items of "age”, "gender”, and "address” are items indicating the age, gender, and address of each customer.
- the "withdrawal date” is an item for recording the date (time information) of the customer withdrawal, and is the target item 21 (label item) to be predicted.
- the original data set 20 includes data such as customers who have not withdrawn (id3, id4) and customers who have withdrawn after a period of 24 months (id2). If the customer has not withdrawn, no time information will be entered in the "Withdrawal date" field.
- the training data set is a data set used for training processing (training) of a prediction model.
- the evaluation data set is a data set used for evaluating the prediction accuracy and the like of a prediction model trained by the training data set.
- these two data sets are generated as the input data set 30 from the original data set 20. That is, the input data set 30 includes a training data set for training the prediction model and an evaluation data set for evaluating the prediction model.
- the data processing unit 17 generates an input data set 30 based on a period unit that serves as a reference for the length of the evaluation period. That is, the data sample used for the evaluation data set or the training data set is selected from the original data set 20 according to the length of the evaluation period (period unit).
- a method of generating an input data set 30 (evaluation data set and training data set) from the original data set 20 will be specifically described.
- the data processing unit 17 sets the period unit based on the original data set 20.
- the period unit is set by dividing the period including the withdrawal date recorded in the original data set 20 into N.
- N is a natural number.
- the newest withdrawal date and the oldest withdrawal date recorded in the original dataset 20 are referenced.
- the period unit may be a halfway value. For example, among a plurality of period unit candidates (for example, 1 week, 2 weeks, 30 days, 60 days, etc.), the period closest to the period calculated by N division may be set in the period unit. This makes it possible to create an input data set 30 or the like that is easy to handle.
- the method of setting the period unit from the original data set 20 is not limited. For example, instead of the period including the withdrawal date, the period unit may be set by dividing the period including the admission date.
- the period unit may be set based on the specified information specified by the user. For example, a value (designation information for specifying the period unit) input by the user via the UI screen (see FIG. 12) for inputting the period unit is set for the period unit. This allows the user to set a desired period unit.
- FIG. 8 is a schematic diagram for explaining an example of a method of generating an evaluation data set.
- FIG. 8 schematically shows a line segment representing the subscription state of the customers 60a to 60f recorded in the original data set 20 shown in FIG. 7. The left end of each line represents the admission date, and the right end represents the withdrawal date. It is assumed that the customers 60d, 60e, and 60f have not withdrawn when the original data set 20 is created.
- period S December 1st to December 31st, 2018 will be referred to as period S
- November 1st to November 30th will be referred to as period T
- October 1st to October 31st will be referred to as period U. It is described as.
- the period from January 1, 2017 to September 30, 2018 is described as period V.
- the customer 60a is a customer who has joined the period V and withdrawn from the period U.
- the customer 60b is a customer who has joined the period V and withdrawn from the period T.
- the customer 60c is a customer who has joined the period V and withdrawn from the period S.
- Customers 60d to 60f are customers who have joined the periods V, T, and S, respectively, and have not retreated.
- the data processing unit 17 sets the evaluation period 61 based on the period unit.
- the period unit is set to 30 days
- the evaluation period start date is set to December 1, 2018. Since the number of days in December is 31 days, the end date of the evaluation period is set to December 31, 2018. That is, the evaluation period 61 is set to the period S.
- the evaluation period 61 is set according to the number of days (28 days, 29 days, 30 days, 31 days, etc.) of the target month based on the period unit.
- the evaluation period 61 may be set so that the length is equal to the period unit.
- the evaluation period start date may be set based on the period unit by designating the evaluation period end date.
- the evaluation data set 62 is composed of a data sample (customer) having an admission date before the evaluation period start date and no withdrawal date.
- customers 60c, 60d, and 60e who have joined and have not withdrawn before the evaluation period 61 are extracted as the evaluation data set 62. It can be said that these data samples (customers 60c, 60d, 60e) are data samples that are likely to be withdrawn within the evaluation period 61 at the start of the evaluation period 61.
- the line segment of the customer who becomes the evaluation data set 62 is shown by a solid line, and the line segment of the customer who does not become the evaluation data set 62 is shown by a dotted line.
- a label (withdrawal label) indicating withdrawal is given to the data sample (customer 60c) whose withdrawal date exists within the evaluation period 61.
- other data samples (customers 60e and 60f) having no withdrawal date within the evaluation period 61 are given a label (continuation label) that is not withdrawal.
- a new data item indicating the withdrawal or continuation subscription status is generated, and the withdrawal label or continuation label is recorded in the item.
- each label may be overwritten in the "withdrawal date" item.
- These labels serve as teacher labels when training the prediction model.
- the labeled data sample is stored as an evaluation dataset 62.
- the evaluation data set 62 is generated by adding. As a result, it becomes possible to generate an evaluation data set from a data sample in which a target event (withdrawal) occurs within the evaluation period 61.
- FIG. 9 is a schematic diagram for explaining an example of a method of generating a learning data set.
- 9A and 9B schematically show line segments representing the subscription states of the customers 60a to 60f shown in FIG.
- the data processing unit 17 sets a virtual period 63, which is a period before the evaluation period 61, based on the period unit.
- the virtual period 63 is a reference period for generating the training data set, and is at least a period earlier than the evaluation period start date.
- the virtual period 63 set immediately before the evaluation period 61 is illustrated by the shaded area.
- the latest virtual period 63 is, for example, the period from the day before the evaluation period start date (November 30, 2018) to the date obtained by subtracting the period unit (November 1, 2018). Therefore, the latest virtual period 63 is the period T.
- the training dataset 64 is a data sample in which the admission date exists before the virtual period start date (November 1, 2018), that is, the date obtained by subtracting the period unit from the day before the evaluation period start date, and there is no withdrawal date. Consists of. In the example shown in FIG. 9A, customers 60b, 60c, and 60d who have joined and have not withdrawn before the virtual period 63 (period T) are extracted as the learning data set 64. It can be said that these data samples (customers 60b, 60c, 60d) are data samples that are likely to be withdrawn within the virtual period 63 at the start of the virtual period 63.
- the withdrawal label is given to the data sample (customer 60b) whose withdrawal date exists within the virtual period 63. Further, other data samples (customers 60c and 60d) whose withdrawal date does not exist within the virtual period 63 are given a continuation label.
- the labeled data sample is stored as a training data set 64.
- the label indicating whether or not the target event occurs in the virtual period 63 with respect to the data sample in which the target event may occur in the virtual period 63 at the start of the virtual period 63. Is added to generate the training data set 64.
- the virtual period 63 before the evaluation period 61 as a reference, it is possible to generate a data set consisting of data samples in which an event such as withdrawal occurs before the evaluation period 61. This makes it possible to reliably avoid the situation where the prediction model is evaluated based on future data.
- the data processing unit 17 sets a plurality of virtual periods 63, and generates a plurality of partial learning data sets based on each virtual period 63.
- the training data set 64 generated in FIG. 9A is an example of a partial training data set.
- a new learning data set 64 (partial learning data set) is generated with reference to a virtual period 63 different from the virtual period 63 of FIG. 9A.
- the virtual period 63 shown in FIGS. 9A and 9B will be referred to as a first virtual period 63a and a second virtual period 63b, respectively.
- the learning data set 64 generated with reference to the first and second virtual periods 63a and 63b is described as the first partial learning data set 64a and the second partial learning data set 64b.
- the second virtual period 63b is set to the period U (October 1, 2018 to October 31, 2018). That is, it can be said that the second virtual period 63b is set according to the number of days in the corresponding month by shifting the first virtual period 63a by the period unit in the past.
- the second partial learning data set 64b is generated with reference to the second virtual period 63b.
- customers 60a, 60b, 50c, 60d who have joined and have not withdrawn before the second virtual period 63b (period U) are extracted as the partial learning data set 64b. ..
- the withdrawal label is given to the data sample (customer 60a) whose withdrawal date exists within the second virtual period 63b.
- other data samples customers 60b, 60c, 60d having no withdrawal date within the second virtual period 63b are given a continuation label.
- the labeled data sample is stored as a second partial training data set 64b.
- the data processing unit 17 generates a partial learning data set for each virtual period 63 based on the period unit. This process is repeated a certain number of times to generate a plurality of partial learning data sets.
- the number of times a partial learning data set is generated is not limited. For example, the number of times the partial learning data set is generated may be appropriately set according to the amount of data in the original data set 20 and the like. In this way, the data processing unit 17 generates a plurality of partial learning data sets by shifting the virtual period 63, and combines the plurality of partial learning data sets to generate the learning data set 64.
- the learning data set 64 is a data set in which past events are used as teacher labels for the events (withdrawal) included in the evaluation data set 62. As a result, it becomes possible to appropriately learn and evaluate the prediction model.
- the evaluation data set 62 and the training data set 64 include the same data samples (for example, customers 20c and 20d).
- the division process may be performed so that the same data samples are not included in each data set. Further, the same data sample may be included more than once in the training data set 64. Therefore, a process of randomly removing duplicate data samples in the training data set 64 may be executed. This makes it possible to prepare a high-quality data set in which duplication of data samples is suppressed.
- the prediction accuracy evaluation value is statistically stable by evaluating the prediction model a plurality of times using a pair of data sets of a plurality of patterns. For this reason, it is desirable to create dataset pairs for multiple times.
- the evaluation data set 62 of another pattern is generated by shifting the evaluation period 61 described with reference to FIG. Further, by shifting the virtual period 63 (first and second virtual periods 63a and 63b, etc.) described with reference to FIG. 9 according to the evaluation period 61, the learning data set 64 of another pattern is generated.
- the evaluation period 61 and the virtual period 63 By appropriately shifting the evaluation period 61 and the virtual period 63 in this way, it is possible to easily configure a data set pair of a plurality of patterns.
- an event based on time information may be used.
- data in which other events different from the target event (withdrawal, etc.) are recorded together with time information is used.
- the data acquisition unit 15 acquires an additional data set having data items representing time information of other events different from the target event. The method of generating the input data set 30 using the additional data set will be described below.
- FIG. 10 is a table showing an example of an additional data set including the input item 22 with time information.
- the additional data set 70 shown in FIG. 10 is data that records the login status of each customer (data sample) shown in FIG. 7. Data items are recorded in the first row of the additional data set 70, and item values for each data entry are recorded in each row after the second row.
- the items of "ID”, "time”, and “event” are provided as the data items of the additional data set 70.
- the ID corresponding to the customer (data sample) shown in FIG. 7 is recorded.
- the time (time information) when the event (login) described in the "event” item occurs is recorded. For example, when a customer logs in, one data entry is generated. Such data is aggregated to generate a new input item 22 and the like.
- An example of data aggregation processing is processing such as counting the total number of logins for each customer and calculating the average number of logins per month.
- a method of simply performing aggregation processing for each data sample can be considered. For example, if the aggregation process is performed without considering the date and time of login, there is a risk that future information that should not be available at the time of prediction will be used. For example, when predicting withdrawal after December 1, 2018, a situation may occur in which a prediction model that learns login information after December 1, 2018 is used.
- the aggregation process is performed based on the evaluation period 61 and the virtual period 63 described above, and the aggregation result is used as the input item 22.
- the aggregation process is executed when the evaluation data set 62 and the learning data set 64 (partial learning data set 64) are generated. Therefore, in the aggregation process, different aggregation results are calculated for each data set.
- FIG. 11 is a schematic diagram for explaining an example of the aggregation process of the additional data set 70.
- the timing at which the customer 60g and the customer 60h log in is illustrated using circles (black circles and white circles). Each circle represents each data entry for customers 60g and 60h.
- the evaluation period is set to the period S (December 1st to December 31st, 2018) as in FIG.
- the aggregation process for generating the evaluation data set 62 will be described with reference to FIG.
- the aggregation process is performed with the event (login) that occurred before the evaluation period 61 as the aggregation target. That is, the aggregation process is performed on the data entry having the time information up to the day before the evaluation period start date.
- the aggregation process is performed according to a predetermined aggregation period set before the evaluation period.
- the aggregation period can be arbitrarily set as long as it is before the evaluation period. In the example shown in FIG. 11, the period from the oldest enrollment date (January 1, 2017) in the original data set 20 to the day before the evaluation period start date (January 1, 2018) is set as the aggregation period. ..
- the aggregation period corresponds to a predetermined period.
- the customer 60g has logged in 5 times (black circles) before the evaluation period start date, and has logged in twice (white circles) during the evaluation period.
- the total number of logins of the customer 60g is aggregated as 5 times, and the logins during the evaluation period 61 are not counted.
- the total number of logins by the aggregation process is aggregated as 4. As a result, it is possible to calculate an appropriate aggregation result without totaling the events that will occur in the future from the start time of the evaluation period 61.
- the aggregation period is from one month before the evaluation period start date to the day before the evaluation period start date.
- the latest aggregation result can be used as the input item 22, and the accuracy of the prediction analysis can be sufficiently improved.
- the aggregation is performed for the data entry having the time information up to the day before the corresponding virtual period 63. Further, as in the case of the evaluation data set 62, the latest aggregation result is calculated by narrowing the aggregation period to the most recent fixed period of the virtual period 63. By appropriately setting the aggregation period for the other partial learning data sets, it is possible to appropriately aggregate the data entries of the additional dataset 70.
- the input data set 30 is generated by pairing the generated evaluation data set 62 and the training data set 64 (partial learning data set 64). As described above, in the present embodiment, the data items of other events are aggregated in the aggregation period set before the evaluation period based on the time information of other events, and the aggregation result is input to the input data set 30. Will be added. This makes it possible to easily create a rich input dataset 30 that includes, for example, data about other events associated with time information.
- FIG. 12 is an example of a UI screen for inputting a data set with time information.
- the original file input field 81, the parameter specification fields 82a to 82d, the additional file input field 83, and the processing start button 84 are displayed.
- the information input to each input field and the designated field is the designated information designated by the user.
- the original file input field 81 is a field for inputting a file name such as tabular data which is the original data set 20.
- the parameter specification field 82a is a field for designating an item (ID item) for distinguishing each data sample of the original data set 20.
- the parameter specification field 82b is a field for designating an item including time information of an event (withdrawal) to be a label.
- the parameter specification field 82c is a field for designating an item including the data sample generation time information.
- the parameter specification field 82d is a field for designating a period unit. This period unit may be automatically determined as described above. In addition, an automatically determined period unit may be presented as a recommended value.
- the additional file input field 83 is a field for inputting a file name or the like of tabular data or the like which is the additional data set 70.
- a file name, an ID item, a time information item, and a content item are specified. Further, it is possible to specify a plurality of additional data sets 70 for the additional file. In this case, each file may be processed independently, and the calculated input item 22 may be used in connection with the input data set 30.
- the process start button 84 is pressed to start the generation process of the input data set 30 (evaluation data set 62 and learning data set 64) described above.
- an evaluation process for evaluating the original data set 20 may be performed as a part of the generation process.
- the UI screen 40 or the like showing the check result as shown in FIG. 5 is displayed. This makes it possible to easily generate a data set or the like in which the problems of each data item are solved.
- the input data set 30 for constructing the learning model is generated from the original data set 20.
- the generation of the input data set 30 is performed based on the designated information specified by the user. As a result, it is possible to generate the input data set 30 according to the user's designation, and it is possible to support the creation of the data set.
- a learning model such as a prediction model
- the prediction model will be evaluated with settings that cannot be realized in reality, such as using information that is not originally available at the time of prediction. By the way, it may be difficult for a user who has little experience in predictive analysis to judge whether or not the data set is properly created.
- the original data set 20 that is the source of the input data set 30 is evaluated, and the problems of the original data set 20 and the countermeasure 45 are presented. Therefore, the user can easily create the input data set 30 in which various problems are solved only by selecting the presented countermeasure plan 45. Further, among the countermeasures 45, those recommended to be implemented are presented as recommended proposals 46. Therefore, it is possible to create a data set or the like that is expected to realize high prediction accuracy.
- the present embodiment it is possible to create the evaluation data set 62 and the learning data set 64 having no time contradiction even when the event associated with the time information is the target. Therefore, it is possible to prepare an appropriate data set without performing, for example, the work of rearranging the data samples of the tabular file according to the time information or the work of dividing the data samples so as not to be inconsistent. This makes it possible to significantly reduce the burden required for the data set creation work.
- the information processing apparatus 100 realizes a data set generation tool that automates and supports the creation of an appropriate data set for the predictive analysis from the data file that is the source of the predictive analysis. As a result, even if the person has little experience in predictive analysis, it is possible to easily create an appropriate data set, and it is possible to perform appropriate predictive analysis.
- FIG. 13 is a block diagram showing a hardware configuration example of the information processing device 100.
- the information processing device 100 includes a CPU (Central Processing unit) 901, a ROM (Read Only Memory) 903, and a RAM (Random Access Memory) 905. Further, the information processing device 100 may include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925.
- the information processing device 100 may have a processing circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array) in place of or in combination with the CPU 901.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- the CPU 901 functions as an arithmetic processing device and a control device, and controls all or a part of the operation in the information processing device 100 according to various programs recorded in the ROM 903, the RAM 905, the storage device 919, or the removable recording medium 927.
- the ROM 903 stores programs, calculation parameters, and the like used by the CPU 901.
- the RAM 905 primarily stores a program used in the execution of the CPU 901, parameters that change appropriately in the execution, and the like.
- the CPU 901, ROM 903, and RAM 905 are connected to each other by a host bus 907 composed of an internal bus such as a CPU bus. Further, the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
- PCI Peripheral Component Interconnect / Interface
- the input device 915 is a device operated by the user, such as a mouse, keyboard, touch panel, buttons, switches and levers.
- the input device 915 may be, for example, a remote control device using infrared rays or other radio waves, or an externally connected device 929 such as a mobile phone corresponding to the operation of the information processing device 100.
- the input device 915 includes an input control circuit that generates an input signal based on the information input by the user and outputs the input signal to the CPU 901. By operating the input device 915, the user inputs various data to the information processing device 100 and instructs the processing operation.
- the output device 917 is composed of a device capable of notifying the user of the acquired information using sensations such as sight, hearing, and touch.
- the output device 917 may be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display, an audio output device such as a speaker or headphones, or a vibrator.
- the output device 917 outputs the result obtained by the processing of the information processing device 100 as a video such as text or an image, a voice such as voice or sound, or a vibration.
- the storage device 919 is a data storage device configured as an example of the storage unit of the information processing device 100.
- the storage device 919 is composed of, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, an optical magnetic storage device, or the like.
- the storage device 919 stores, for example, a program executed by the CPU 901, various data, various data acquired from the outside, and the like.
- the drive 921 is a reader / writer for a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing device 100.
- the drive 921 reads the information recorded on the mounted removable recording medium 927 and outputs the information to the RAM 905. Further, the drive 921 writes a record on the attached removable recording medium 927.
- the connection port 923 is a port for connecting the device to the information processing device 100.
- the connection port 923 may be, for example, a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface) port, or the like. Further, the connection port 923 may be an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, or the like.
- the communication device 925 is, for example, a communication interface composed of a communication device for connecting to the communication network 931.
- the communication device 925 may be, for example, a communication card for LAN (Local Area Network), Bluetooth (registered trademark), Wi-Fi, or WUSB (Wireless USB). Further, the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various communications, or the like.
- the communication device 925 transmits / receives signals and the like to and from the Internet and other communication devices using a predetermined protocol such as TCP / IP.
- the communication network 931 connected to the communication device 925 is a network connected by wire or wirelessly, and may include, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, and the like.
- the operation unit 10, the display unit 11, the communication unit 12, and the database 13 shown in FIG. 1 are realized by the input device 905, the output device 917, the communication device 925, and the storage device 919 shown in FIG.
- the control unit 14 shown in FIG. 1 is realized by the CPU 901, ROM 903, and RAM 905 shown in FIG. 9 cooperating according to the program according to the present embodiment.
- the above is an example of the hardware configuration of the information processing device 100.
- Each of the above-mentioned components may be configured by using general-purpose members, or may be configured by hardware specialized for the function of each component. Such a configuration can be appropriately changed depending on the technical level at the time of implementation.
- the learning model (prediction model) that mainly performs the prediction processing for the target item 21 has been described.
- the learning model is not limited to this, and for example, the learning model may be a model (estimation model) that performs estimation processing on the target item 21.
- Examples of the estimation process include a process of estimating a product that a customer is likely to be interested in and a process of estimating a spam mail. In this case, it is possible to generate an appropriate data set by checking the problematic data items and the like in the original data for the estimation model and presenting the countermeasure plan 45 and the like.
- voice, an image, or the like may be used for the original data set 20.
- a data set for a learning model that estimates (recognizes) the contents of voice, images, and the like is generated. For example, using parameters related to audio (wavelength range distribution, volume, waveform features, etc.) and image parameters (brightness, color tendency) as data items, check the problems of each data item and take countermeasures 45, etc. By presenting it, it becomes possible to support the creation of the data set.
- the machine learning unit 18 provided in the information processing device 100 shown in FIG. 1 may be provided in another device. That is, the configuration excluding the machine learning unit 18 may be adopted.
- a device that generates an input data set 30 from the original data set 20 and a device that builds a learning model using the generated input data set 30 are configured as separate devices. Even in such a case, it is possible to support the creation of the input data set 30.
- the information processing device according to the present technology a single information processing device 100 is taken as an example.
- the information processing device according to the present technology may be realized by an arbitrary computer that is configured separately from the information processing device 100 and is connected to the information processing device 100 via wire or wirelessly.
- the information processing method according to the present technology may be executed by a cloud server.
- the information processing method according to the present technology may be executed in conjunction with the information processing device 100 and another computer.
- the information processing method and program according to the present technology can be executed not only in a computer system composed of a single computer but also in a computer system in which a plurality of computers operate in conjunction with each other.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether or not all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device in which a plurality of modules are housed in one housing are both systems.
- the information processing method and program execution related to this technology by a computer system are different when, for example, acquisition of the original data set, acceptance of specified information, generation of the data set, etc. are executed by a single computer, and each process is different. Includes both when run by a computer. Further, the execution of each process by a predetermined computer includes causing another computer to execute a part or all of the process and acquire the result.
- the information processing method and program related to this technology can be applied to a cloud computing configuration in which one function is shared by a plurality of devices via a network and processed jointly.
- this technology can also adopt the following configurations.
- a data acquisition unit that acquires the original data set, A reception unit that accepts specified information specified by the user,
- An information processing device including a data generation unit that generates a data set for constructing a learning model from the acquired original data set based on the designated information specified by the user.
- the information processing device according to (1) The original dataset is a plurality of data samples, each containing a plurality of data items.
- the designated information includes a target item which is a data item to be processed by the learning model.
- the learning model is an information processing device that performs prediction processing or estimation processing for the target item.
- the data generation unit evaluates the original data set based on a predetermined condition, generates evaluation information according to the evaluation result, or at least one of a countermeasure plan for the evaluation result.
- the reception unit is an information processing device that presents at least one of the evaluation information or the countermeasure plan.
- the information processing device according to (3) The reception unit presents the countermeasure plan for the evaluation result in a selectable manner, and receives the selection result of the countermeasure plan by the user as the designated information.
- the data generation unit is an information processing device that generates the data set based on the selection result. (5) The information processing device according to (3) or (4).
- the data generation unit generates a plurality of countermeasures for the evaluation result, selects a recommended recommended proposal from the plurality of countermeasures, and selects the recommended countermeasure.
- the reception unit is an information processing device that presents the plurality of countermeasure proposals so that the recommended proposal can be determined.
- the information processing device according to (5) The data generation unit generates the data set based on the recommended proposal, and generates the data set.
- the reception unit is an information processing device that selectively presents other countermeasures different from the recommended countermeasures among the plurality of countermeasures after the start of the data set generation process.
- the reception unit is an information processing device that presents the recommended proposal based on the past selection results.
- the information processing device is a condition relating to at least one of the number of the data samples, the number of the data items, the degree of relevance between the data items, the loss rate of the item value of the data item, or the statistic of the target item.
- the data generation unit is an information processing device that evaluates the entire original data set based on the predetermined conditions.
- the predetermined condition is at least one of the unique number of item values of the target data item, the distribution of the item values, the presence / absence of outliers in the item values, the missing rate of the item values, or the format of the item values.
- the data generation unit is an information processing device that evaluates the original data set for each of the plurality of data items based on the predetermined conditions.
- the information processing apparatus according to any one of (2) to (9).
- the target item is a data item associated with the time information of the target event.
- the learning model is a model that predicts the probability that the target event will occur during the evaluation period.
- the data generation unit is an information processing device that generates the data set based on a period unit that serves as a reference for the length of the evaluation period.
- the data generation unit is an information processing device that sets the period unit based on either the original data set or the designated information specified by the user. (12) The information processing apparatus according to (10) or (11).
- the data set includes a training data set for training the training model and an evaluation data set for evaluating the training model.
- the data generation unit sets the evaluation period and a virtual period which is a period before the evaluation period based on the period unit, generates the evaluation data set based on the evaluation period, and generates the virtual period.
- An information processing device that generates the training data set based on the above.
- the data generation unit has a label indicating whether or not the target event has occurred in the evaluation period with respect to the data sample in which the target event may occur during the evaluation period at the start of the evaluation period.
- An information processing device that generates the evaluation data set by adding.
- the data generation unit is a label indicating whether or not the target event occurs in the virtual period with respect to the data sample in which the target event may occur in the virtual period at the start of the virtual period.
- An information processing device that generates the training data set by adding.
- the information processing apparatus according to any one of (12) to (14).
- the data generation unit generates a plurality of partial learning data sets by shifting the virtual period with respect to the period unit, and combines the plurality of partial learning data sets to generate the learning data set.
- Information processing device (16)
- the data acquisition unit acquires an additional data set having a data item representing time information of another event different from the target event.
- the data generation unit aggregates the data items of the other event in a predetermined period set before the evaluation period, and adds the aggregated result to the data set.
- Information processing device 17.
- the reception unit is an information processing device that generates an input screen for inputting the designated information.
- (18) Obtain the original data set and Accepts the specified information specified by the user An information processing method in which a computer system executes to generate a data set for constructing a learning model from the acquired original data set based on the specified information specified by the user.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本技術の一形態に係る情報処理装置は、データ取得部と、受付部と、データ生成部とを具備する。前記データ取得部は、元データセットを取得する。前記受付部は、ユーザが指定した指定情報を受け付ける。前記データ生成部は、前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する。
Description
本技術は、機械学習用のデータセットを生成する情報処理装置、情報処理方法、及びプログラムに関する。
従来、機械学習を用いて学習モデルを構築する技術が開発されている。学習モデルを適正に構築することで、様々な予測処理や推定処理を行うことが可能となる。
例えば特許文献1には、不動産取引の成約確率を予測するシステムについて記載されている。このシステムは、成約確率予測モデルを学習して、対象物件の所定売出し期間における成約確率を予測する。モデルの学習には、例えば過去に成約に至った物件の売出し日から成約日までの日数や、当該物件の特徴量ベクトル等を含む学習データが用いられる。また学習データの特徴量ベクトルを、物件の売出し日からの直近一定期間の情報に基づいて生成された特徴量ベクトルに修正することで、成約確率の予測精度を向上することが可能となっている(特許文献1の明細書段落[0030][0045][0051]図3、5等)。
このように、学習モデルを構築する際には、適切なデータセットを用いることが重要であり、データセットの作成を支援することが可能な技術が求められている。
以上のような事情に鑑み、本技術の目的は、データセットの作成を支援することが可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本技術の一形態に係る情報処理装置は、データ取得部と、受付部と、データ生成部とを具備する。
前記データ取得部は、元データセットを取得する。
前記受付部は、ユーザが指定した指定情報を受け付ける。
前記データ生成部は、前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する。
前記データ取得部は、元データセットを取得する。
前記受付部は、ユーザが指定した指定情報を受け付ける。
前記データ生成部は、前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する。
この情報処理装置では、元データセットから学習モデルを構築するためのデータセットが生成される。このデータセットの生成は、ユーザが指定した指定情報に基づいて行われる。これにより、ユーザの指定に応じたデータセットを生成することが可能となり、データセットの作成を支援することが可能となる。
前記元データセットは、各々が複数のデータ項目を含む複数のデータサンプルであってもよい。この場合、前記指定情報は、前記学習モデルの処理対象となるデータ項目である対象項目を含んでもよい。また前記学習モデルは、前記対象項目に関する予測処理又は推定処理を行ってもよい。
これにより、予測処理や推定処理を行う学習モデルに必要なデータセットを適正に生成することが可能となる。
これにより、予測処理や推定処理を行う学習モデルに必要なデータセットを適正に生成することが可能となる。
前記データ生成部は、前記元データセットを所定の条件に基づいて評価し、当該評価結果に応じた評価情報、又は前記評価結果に対する対策案の少なくとも一方を生成してもよい。この場合、前記受付部は、前記評価情報又は前記対策案の少なくとも一方を提示してもよい。
これにより、例えば元データセットの問題点を評価情報として提示することや、その問題点の対策案を提示することが可能となり、データセットの作成を十分に支援することが可能となる。
これにより、例えば元データセットの問題点を評価情報として提示することや、その問題点の対策案を提示することが可能となり、データセットの作成を十分に支援することが可能となる。
前記受付部は、前記評価結果に対する前記対策案を選択可能に提示し、前記指定情報として前記ユーザによる前記対策案の選択結果を受け付けてもよい。この場合、前記データ生成部は、前記選択結果に基づいて前記データセットを生成してもよい。
これにより、対策案に応じたデータの修正等を容易に行うことが可能となり、適切なデータセットを容易に作成することが可能となる。
これにより、対策案に応じたデータの修正等を容易に行うことが可能となり、適切なデータセットを容易に作成することが可能となる。
前記データ生成部は、前記評価結果に対する複数の対策案を生成し、前記複数の対策案のうち推奨される推奨案を選択してもよい。この場合、前記受付部は、前記推奨案が判別できるように、前記複数の対策案を提示してもよい。
これにより、推奨案に応じたデータの修正等が可能となり、例えば経験の浅いユーザであっても、適切なデータセットを容易に作成することが可能となる。
これにより、推奨案に応じたデータの修正等が可能となり、例えば経験の浅いユーザであっても、適切なデータセットを容易に作成することが可能となる。
前記データ生成部は、前記推奨案に基づいて前記データセットを生成してもよい。この場合、前記受付部は、前記データセットの生成処理の開始後、前記複数の対策案のうち前記推奨案とは異なる他の対策案を選択可能に提示してもよい。
これにより、例えば対策案の選択等に要する時間を抑制することが可能となる。
これにより、例えば対策案の選択等に要する時間を抑制することが可能となる。
前記受付部は、過去の前記選択結果に基づいて、前記推奨案を提示してもよい。
これにより、例えば前回と同様の条件で新しいデータセットを作成することが可能となり、信頼性の高い学習処理を実現することが可能となる。
これにより、例えば前回と同様の条件で新しいデータセットを作成することが可能となり、信頼性の高い学習処理を実現することが可能となる。
前記所定の条件は、前記データサンプルの数、前記データ項目の数、前記データ項目間の関連度、前記データ項目の項目値の欠損率、又は前記対象項目の統計量の少なくとも1つに関する条件を含んでもよい。この場合、前記データ生成部は、前記所定の条件に基づいて前記元データセット全体を評価してもよい。
これにより、元データセット全体の問題点やその対策案等を提示することが可能となり、例えばバランスのよいデータセット等を容易に作成することが可能となる。
これにより、元データセット全体の問題点やその対策案等を提示することが可能となり、例えばバランスのよいデータセット等を容易に作成することが可能となる。
前記所定の条件は、対象となる前記データ項目の項目値のユニーク数、前記項目値の分布、前記項目値における外れ値の有無、前記項目値の欠損率、又は前記項目値の書式の少なくとも1つに関する条件を含んでもよい。この場合、前記データ生成部は、前記所定の条件に基づいて前記複数のデータ項目ごとに前記元データセットを評価してもよい。
これにより、データ項目ごとの問題点やその対策案等を提示することが可能となる。この結果、学習モデルの過学習等が抑制され、処理精度を向上することが可能となる。
これにより、データ項目ごとの問題点やその対策案等を提示することが可能となる。この結果、学習モデルの過学習等が抑制され、処理精度を向上することが可能となる。
前記対象項目は、対象事象の時間情報と関連付けられたデータ項目であってもよい。この場合、前記学習モデルは、前記対象事象が評価期間に発生する確率を予測するモデルであってもよい。また、前記データ生成部は、前記評価期間の長さの基準となる期間単位に基づいて、前記データセットを生成してもよい。
これにより、例えば時間情報を伴うデータ項目が処理対象となる場合であっても、適正なデータセットを生成することが可能となる。
これにより、例えば時間情報を伴うデータ項目が処理対象となる場合であっても、適正なデータセットを生成することが可能となる。
前記データ生成部は、前記元データセット又は前記ユーザが指定した前記指定情報のいずれか一方に基づいて、前記期間単位を設定してもよい。
これにより、例えばデータサンプルの数が変化した場合であっても、期間単位を適正に設定することが可能となる。
これにより、例えばデータサンプルの数が変化した場合であっても、期間単位を適正に設定することが可能となる。
前記データセットは、前記学習モデルを学習させるための学習データセットと、前記学習モデルを評価するための評価データセットとを含んでもよい。この場合、前記データ生成部は、前記期間単位に基づいて前記評価期間と前記評価期間よりも前の期間である仮想期間とを設定し、前記評価期間を基準として前記評価データセットを生成し、前記仮想期間を基準として前記学習データセットを生成してもよい。
これにより、例えば評価データセットとして直近のデータを使用することが可能となり、実際の予測処理に近い状態で学習モデルを評価することが可能となる。
これにより、例えば評価データセットとして直近のデータを使用することが可能となり、実際の予測処理に近い状態で学習モデルを評価することが可能となる。
前記データ生成部は、前記評価期間の開始時点で前記評価期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記評価期間での前記対象事象の発生の有無を表すラベルを付与することで前記評価データセットを生成してもよい。
これにより、評価データセットを適正に生成することが可能となる。
これにより、評価データセットを適正に生成することが可能となる。
前記データ生成部は、前記仮想期間の開始時点で前記仮想期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記仮想期間での前記対象事象の発生の有無を表すラベルを付与することで前記学習データセットを生成してもよい。
これにより、学習データセットを適正に生成することが可能となる。
これにより、学習データセットを適正に生成することが可能となる。
前記データ生成部は、前記期間単位を基準として前記仮想期間をずらすことで複数の部分学習データセットを生成し、前記複数の部分学習データセットを結合して前記学習データセットを生成してもよい。
これにより、必要な分量の学習データセットを容易に生成することが可能となり、学習データセットの作成を十分に支援することが可能となる。
これにより、必要な分量の学習データセットを容易に生成することが可能となり、学習データセットの作成を十分に支援することが可能となる。
前記データ取得部は、前記対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットを取得してもよい。この場合、前記データ生成部は、前記他の事象の時間情報に基づいて、前記評価期間よりも前に設定された所定期間において前記他の事象のデータ項目を集計し、当該集計結果を前記データセットに追加してもよい。
これにより、例えば時間情報に関連付けられた他の事象に関するデータを含むデータセットを容易に作成することが可能となる。
これにより、例えば時間情報に関連付けられた他の事象に関するデータを含むデータセットを容易に作成することが可能となる。
前記受付部は、前記指定情報を入力するための入力画面を生成してもよい。
これにより、ユーザは各種の指定を容易に行うことが可能となり、データセットの作成を十分に支援することが可能となる。
これにより、ユーザは各種の指定を容易に行うことが可能となり、データセットの作成を十分に支援することが可能となる。
本技術の一実施形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、元データセットを取得することを含む。
ユーザが指定した指定情報が受け付けられる。
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットが生成される。
ユーザが指定した指定情報が受け付けられる。
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットが生成される。
本技術の一実施形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
元データセットを取得するステップ。
ユーザが指定した指定情報を受け付けるステップ。
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するステップ。
元データセットを取得するステップ。
ユーザが指定した指定情報を受け付けるステップ。
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するステップ。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
[情報処理装置の構成]
図1は、本技術の一実施形態に係る情報処理装置の構成例を示すブロック図である。情報処理装置100は、機械学習を用いた学習モデルを構築するためのデータセットを作成する。情報処理装置100としては、例えばPC(Personal Computer)やサーバ装置が用いられる。この他、スマートフォンやタブレット端末等の携帯端末が情報処理装置100として用いられてもよい。図1に示すように、情報処理装置100は、操作部10と、表示部11と、通信部12と、データベース13と、制御部14とを有する。
図1は、本技術の一実施形態に係る情報処理装置の構成例を示すブロック図である。情報処理装置100は、機械学習を用いた学習モデルを構築するためのデータセットを作成する。情報処理装置100としては、例えばPC(Personal Computer)やサーバ装置が用いられる。この他、スマートフォンやタブレット端末等の携帯端末が情報処理装置100として用いられてもよい。図1に示すように、情報処理装置100は、操作部10と、表示部11と、通信部12と、データベース13と、制御部14とを有する。
操作部10は、ユーザが各種の情報を入力するための操作装置を含む。操作部10としては、例えばマウスやキーボード等の情報入力が可能な装置が用いられる。この他、操作部10の具体的な構成は限定されない。例えば操作部10として、タッチパネル等が用いられてもよい。また操作部10として、ユーザを撮影するカメラ等が用いられ、視線やジェスチャによる入力が可能であってもよい。
表示部11は、各情報を表示するディスプレイであり、例えば上記したUI画面等を表示する。表示部11としては、例えば液晶ディスプレイ(LCD:Liquid Cristal Display)や有機EL(Electro-Luminescence)ディスプレイ等が用いられる。表示部11の具体的な構成は限定されず、例えば操作部10として機能するタッチパネル等を搭載したディスプレイ等が用いられてもよい。また表示部11としてHMD(Head Mount Display)が用いられてもよい。
通信部12は、他の装置と情報処理装置100との通信処理を行うモジュールである。通信部12は、例えばWi-Fi等の無線LAN(Local Area Network)モジュールや、有線LANモジュールにより構成される。この他、Bluetooth(登録商標)等の近距離無線通信や、光通信等が可能な通信モジュールが用いられてよい。
データベース13は、不揮発性の記憶デバイスであり、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等が用いられる。データベース13は、機械学習用のデータセットを生成するための元データセット20(図2参照)や、情報処理装置100を使用する際に設定された設定内容等を記憶する。またデータベース13は、情報処理装置100の記憶部として機能し、制御部14が実行するプログラム等を記憶する。
制御部14は、情報処理装置100が有する各ブロックの動作を制御する。制御部14は、例えばCPUやメモリ(RAM、ROM)等のコンピュータに必要なハードウェア構成を有する。CPUがデータベース13(記憶部)に記憶されているプログラムをRAMにロードして実行することにより、種々の処理が実行される。制御部14としては、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
本実施形態では、制御部14のCPUが本実施形態に係るプログラムを実行することで、機能ブロックとして、データ取得部15と、UI生成部16と、データ処理部17と、機械学習部18とが実現される。そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお、各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
データ取得部15は、元データセット20を取得する。元データセット20は、後述する機械学習用のデータセットの元となるデータセットである。例えばデータ取得部15により、ユーザが指定した元データセット20がデータベース13から読み込まれる。本開示において、データセットとは、複数のデータのまとまりである。典型的には、データセットは、複数のデータサンプルをまとめたものであり、各データサンプルには、所定の項目ごとのデータ(項目値)が関連付けて記憶される。従って元データセット20は、各々が複数のデータ項目を含む複数のデータサンプルであると言える。
元データセット20としては、例えば表形式のデータセット(以下、表形式データと記載する)が用いられる。表形式データとは、各行がデータサンプルに相当し、各列がデータサンプルの属性(データ項目)を表す。表形式データをファイルで保持する場合、最初の1行目に各データ項目の名称を保持することが多い。例えば、データサンプルのIDや、作成日、イベント名等の種々の項目がデータ項目となり得る。
なお、表形式データの他に、画像や音声等のデータセットが用いられてもよい。この場合、画像データや音声データを主要なデータとするデータサンプルが構成される。各データサンプルには、その属性(画像や音声の内容等)を表す項目が記憶される。この他、株価等の時系列データや、数値の分布等を表す統計データ等のデータセットが用いられてもよい。データセットの形式等は限定されず、任意の形式のデータセットに対して本技術は適用可能である。
UI生成部16は、ユーザと情報処理装置100との情報のやり取りを行うためのUIを生成する。典型的には、UI生成部16は、機械学習用のデータセットを生成する際に表示部11に表示されるUI画面(図5等参照)等のGUI(Graphical User Interface)を生成する。UI画面には、例えばユーザに提示するための情報や、ユーザが情報を入力するための入力欄等が表示される。ユーザはUI画面を見ながら、操作部(キーボード等)を操作して各種の設定や値等を指定することが可能である。
またUI生成部16は、UI画面を介してユーザが指定した情報(以下、指定情報と記載する)を受け付ける。すなわち、UI生成部16により、UI画面を介して入力された選択や値等の入力内容が読み込まれる。
ユーザの指定情報には、学習モデルの処理対象となるデータ項目である対象項目が含まれる。例えばUI画面を介して対象項目を指定する情報(項目名や項目番号等)が入力され指定情報として読み込まれる。また指定情報には、学習モデルの学習に用いられるデータ項目である入力項目や、機械学習が実行される前に設定されるパラメータ(所謂ハイパーパラメータ)等が含まれる。指定情報及びUI画面については、後に詳しく説明する。本実施形態では、UI生成部16は、ユーザが指定した指定情報を受け付ける受付部として機能する。またUI画面は、指定情報を入力するための入力画面に相当する。
データ処理部17は、ユーザが指定した指定情報に基づいて、データ取得部15により取得された元データセット20から、学習モデルを構築するためのデータセットを生成する。ここで、学習モデルとは、機械学習のアルゴリズムを用いて構築されるモデル(学習済みモデル)である。例えば学習モデルは、アルゴリズムに応じた各種のパラメータを学習し、そのパラメータを評価することで構築される。
データ処理部17では、このような学習モデルの学習や評価に用いられるデータセットが、元データセット20からユーザの指定情報に従って生成される。例えば元データセット20のデータ項目やデータサンプルを削除する、あるいは項目値を編集するといった加工処理が行われる。また例えばデータサンプルを複製して新たなデータセットを生成するといった複製処理が行われる。元データセット20からデータセットを生成する方法等は限定されない。以下では、データ処理部17により生成されたデータセットを、入力データセット30と記載する。図1にはデータ処理部17により生成された入力データセット30が模式的に図示されている。
またデータ処理部17は、元データセット20を評価することで元データセット20の問題点等を検出し、評価結果(問題点)を示す評価情報や、評価結果に対する対策案を生成する。生成された評価情報や対策案は、UI生成部16に出力され、UI画面に表示される。なお、元データセット20の評価、及び評価結果等をUI画面に表示する処理は、入力データセット30を生成する前に行われる。
機械学習部18は、機械学習を行う学習器として機能する。例えば機械学習部18には、学習モデルが実装される。より詳しくは、機械学習部18に入力データセット30を入力して機械学習を行うことで、所定の処理を行う学習モデルが構築される。また、機械学習部18には、元データセット20を評価するための評価用の学習モデル(以下、評価モデルと記載する)が実装される。この点については、後に詳しく説明する。本実施形態では、データ処理部17及び機械学習部18が共動することで、データ生成部が実現される。
本実施形態では、学習モデルは、対象項目に関する予測処理を行うモデルである。これにより、対象項目についての予測分析が可能となる。予測分析は、機械学習によって、過去の結果に基づき未来の事象を予測する手法である。予測分析により、例えば顧客の属性情報から対象商品の購入確率を予測するといったことが可能となる。この場合、例えば過去の顧客データ(元データセット20)のうち、対象商品を購入するという事象に関する項目(購入日等)が、学習モデルの対象項目となる。また他の属性(顧客の年齢、性別、他の商品の購入履歴等)についての項目は、学習モデルを学習させるための入力項目となり得る。
学習モデルに用いられる機械学習のアルゴリズム等は限定されず、例えば処理内容に応じた任意のアルゴリズムが適宜設定されてよい。アルゴリズムの種類等に係らず、本技術は適用可能である。
図2は、元データセット20の一例として挙げる表形式データを示す表である。以下では、元データセット20として、表形式データが用いられる場合について説明する。図2に示す元データセット20は、機器の故障に関連するデータであり、例えば機器の故障を予測する学習モデル(予測モデル)を構築する際に利用される。
元データセット20の1行目には、データ項目の名称が記録される。また2行目以降の各行には、データサンプルごとの項目値が記録される。図2に示す例では、元データセット20のデータ項目として、"ID"、"稼働月数"、"故障"、"温度"、"観測日"、"チーム"、及び"担当者"の項目が設けられる。各データサンプルには、これらのデータ項目の項目値がそれぞれ記録される。
"ID"は、データサンプルのIDを表す項目であり、項目値には文字列が用いられる。"稼働月数"は、機器の稼働月数を表す項目であり、項目値には数値が用いられる。"故障"は、機器が正常であるか故障しているかを表す項目であり、項目値には文字列が用いられる。"温度"は、測定された温度を表す項目であり、項目値には、数値が用いられる。"観測日"は、観測日を示す項目であり、項目値には、日付が用いられる。"チーム"及び"担当者"は、担当チーム及び担当者の名称を表す項目であり、項目値には、文字列が用いられる。
機器の故障を予測する学習モデルでは、元データセット20の"故障"の項目が、学習モデルの処理対象となる対象項目21であり、教師有学習のラベル(教師ラベル)に対応している。従って、"故障"の項目は、教師ラベルとして入力データセット30に含まれる項目となる。なお元データセット20の"故障"以外の項目は、学習モデルに入力される入力項目22の候補である。つまり、"故障"以外の項目は、入力データセット30に含まれる場合もあれば、含まれない場合もあり得る。図2では一例として"稼働月数"及び"温度"の項目に入力項目22の符号を付しているが、これらの項目が入力項目22とならない場合や、他の項目が入力項目22となる場合もあり得る。
[情報処理装置の基本的な動作]
図3は、情報処理装置100の基本的な動作の一例を示すフローチャートである。以下では、情報処理装置100を用いて元データセット20から入力データセット30を生成するまでの基本的な流れについて説明する。
図3は、情報処理装置100の基本的な動作の一例を示すフローチャートである。以下では、情報処理装置100を用いて元データセット20から入力データセット30を生成するまでの基本的な流れについて説明する。
まず、入力データセット30を生成するための基本情報が読み込まれる(ステップ101)。基本情報は、元データセット20のファイル名や、機械学習に関する設定等である。機械学習に関する設定には、機械学習のタスクを指定する情報や、対象項目21(教師ラベル)を指定する情報(項目名や列番号等)が含まれる。例えば、UI生成部16により、基本情報を入力するためのUI画面が生成され表示部11に表示される。ユーザによる基本情報の入力が完了すると、UI画面を介した入力内容が読み込まれる。本実施形態では、基本情報は、ユーザが指定した指定情報の一例である。
データ処理部17により、基本情報に基づいて元データセット20のチェック処理が実行される(ステップ102)。チェック処理では、元データセット20を評価して問題点が検出される。また評価結果に応じた評価情報、及び評価結果に対する対策案を提示するUI画面(図5等参照)が生成される。生成されたUI画面は、表示部11に表示される。元データセット20のチェック処理については、後に詳しく説明する。
ステップ102で生成されたUI画面から、ユーザにより入力された応答情報が取得される(ステップ103)。応答情報には、例えば入力データセット30として用いるデータ項目(入力項目22)や、対策案を指定する情報が含まれる。本実施形態では、応答情報は、ユーザが指定した指定情報の一例である。
取得された応答情報に基づいて、入力データセット30が生成される(ステップ104)。例えば応答情報により指定された対策案に従って、元データセット20の編集・加工・複製等が実行され、入力データセット30が生成される。これにより、元データセット20の問題点が解消されたデータセットを容易に作成することが可能となる。このように、本実施形態では、予測分析等に用いられる適正なデータセットの作成を自動化・サポートするデータセット生成ツールが実現される。入力データセット30が生成されると、例えば機械学習部18により入力データセット30に対する学習や予測の処理が実行され、その処理結果がユーザに提示される。
[元データセット20のチェック処理]
図4は、元データセット20のチェック処理の一例を示すフローチャートである。図5は、チェック処理により生成されるUI画面の一例を示す模式図である。図4に示す処理は、図3に示すステップ102の内部処理である。また図5に示すUI画面40は、図2に示す元データセット20に対するチェック処理の処理結果である。以下では、図4及び図5を参照して、元データセット20を評価し、評価結果等を提示するまでの基本的な流れについて説明する。
図4は、元データセット20のチェック処理の一例を示すフローチャートである。図5は、チェック処理により生成されるUI画面の一例を示す模式図である。図4に示す処理は、図3に示すステップ102の内部処理である。また図5に示すUI画面40は、図2に示す元データセット20に対するチェック処理の処理結果である。以下では、図4及び図5を参照して、元データセット20を評価し、評価結果等を提示するまでの基本的な流れについて説明する。
まず、図5に示すUI画面40について簡単に説明する。UI画面40は、チェック処理の後に、ユーザに提示される画面である。UI画面40の上側の表には、元データセット20全体のチェック結果(全体チェック結果41a)が示されている。またUI画面40の下側の表には、元データセット20のデータ項目ごとのチェック結果(項目チェック結果41b)が示されている。またUI画面40の右下には修正処理を実行するための実行ボタン42が配置される。
全体チェック結果41a及び項目チェック結果41bには、それぞれ複数の提示項目43が含まれる。例えば全体チェック結果41aには、各問題点を説明する"問題点"の項目と、各問題点についての対策案を説明する"ツールで修正"の項目とが含まれる。また項目チェック結果41bには、元データセット20のデータ項目ごとに、"ターゲット"、"入力"、"項目名"、"データタイプ"、"チェック結果"、及び"ツールで修正"の各提示項目43が含まれる。"ターゲット"及び"入力"の項目は、チェックボックスで表される。データ項目が対象項目21である場合、"ターゲット"がチェックされ、入力項目22である場合、"入力"がチェックされる。"項目名"はデータ項目の名称を示す項目であり、"データタイプ"はデータ項目の典型的な形式を示す項目である。また"チェック結果"は、データ項目の問題点を説明する項目であり、"ツールで修正"は、データ項目の問題点についての対策案を説明する項目である。
本実施形態では、対策案を説明する"ツールで修正"の項目に、チェックボックスが表示される。このチェックボックスがチェックされた状態(図中の黒塗りの四角)は、その対策案が選択された状態となる。また、チェックボックスのチェックが外された状態(図中の白抜きの四角)は、その対策案が選択されていない状態となる。なお、対策案の選択/非選択を示す2つのチェックボックス等が用いられてもよい。この他、UI画面40のレイアウトや各提示項目43の表示方法や選択方法等は限定されない。例えば項目の説明にアイコン等が用いられてもよいし、ポップアップウィンドウ等を用いて詳細な説明が表示されてもよい。
図4に示すように、チェック処理では、まず元データセット20の問題点が検出される(ステップ201)。具体的には、データ処理部17により、元データセット20が所定の条件に基づいて評価される。所定の条件は、例えば複数の評価項目ごとに設定され、各評価項目における評価結果が問題点となるか否かを判定するための条件である。すなわち、データ処理部17は、複数の評価項目のうち所定の条件を満たさなかった評価項目を問題点として検出する。
以下では、複数の評価項目からなるリストを評価リストと記載する。本実施形態では、評価リストとして、元データセット20全体を評価するための全体評価リスト、元データセット20の各データ項目を評価するための個別評価リスト、及びデータ項目間の関連性を評価するための関連評価リスト等が設定される。これらの評価リストに従って、元データセット20が評価され、元データセット20の問題点が検出される。これにより、元データセット20の詳細な評価が可能となる。各評価項目及び項目ごとに設定される条件については、後に具体的に説明する。
またデータ処理部17は、元データセット20の評価結果に応じた評価情報44を生成する。評価情報44とは、例えば評価項目の評価結果を示す情報であり、典型的には評価することで判明した問題点を説明する情報である。評価情報44は、例えば評価項目と対応づけられて予め記憶される。そして評価の結果、問題点が検出された場合、対応する評価情報44が読み込まれる。また評価結果が、数値や特定のデータを指定する場合には、評価結果が指定する内容に応じた評価情報44が適宜生成されてよい。
例えば、サンプル数を評価する評価項目が設定され、その評価項目についての条件としてサンプル数に対する閾値が設定されるとする。この場合、元データセット20のサンプル数が閾値よりも少ない場合、サンプル数が少ないという問題点(評価結果)が検出され、その問題点を説明する文章やアイコン等が評価情報44として生成される。図5に示す例では、全体チェック結果41aの"問題点"の項目の内容、及び項目チェック結果41bの"チェック結果"の項目の内容が、評価情報44となる。なお、評価結果が問題点とならない場合(所定の条件が満たされている場合等)には、評価情報44が生成されなくてもよい。
図4に戻り、元データセット20の問題点が検出されると、問題点の対策案45がリストアップされる(ステップ202)。対策案45は、問題点を解消するための対処方法を示した案であり、典型的には対象方法を説明する内容のテキスト情報等である。対策案45は、例えばステップ201で検出された各問題点に対してそれぞれ生成される。対策案45は、上記した問題点と同様に、評価項目と対応づけられて記憶される。あるいは問題点の内容に応じた対策案45が適宜生成されてもよい。
例えば、1つの問題点について1つの対策案45が生成される。あるいは、1つの問題点について複数の対策案45が生成されてもよい。このように、元データセット20についての各問題点に対する対策案45のリストが生成される。なお、問題点の内容によっては、対策案45(対処方法)を生成できないものも存在する。このような場合には、対策案45は生成されない。図5に示す例では、全体チェック結果41a及び項目チェック結果41bの"ツールで修正"の項目の内容が、対策案45となる。
このように、本実施形態では、データ処理部17により、評価結果に応じた評価情報44、又は評価結果に対する対策案45の少なくとも一方が生成される。これにより、元データセット20の問題点(評価情報44)とその対処方法(対策案45)とをリストアップすることが可能となる。
対策案45がリストアップされると、推奨される対策案45が選択される(ステップ203)。以下では、推奨される対策案45を推奨案46と記載する。推奨案46は、ユーザに対して推薦される対処方法である。例えば1つの評価項目に対して2以上の対策案45が生成された場合、2以上の対策案45のうち1つの対策案45が推奨案46として選択される。また1つの評価項目に対して1つの対策案45が生成された場合であっても、その対策案45を実施することが推奨される場合には、当該対策案45が推奨案46として選択される。このように、データ処理部17は、評価結果に対する複数の対策案45を生成し、複数の対策案45のうち推奨される推奨案46を選択する。
推奨案46の選択する方法として、例えば元データセット20を評価するための評価モデルを用いる方法が挙げられる。評価モデルとしては、例えばユーザが予測処理を行うために設定した学習モデル等と比べ、学習時間が短い単純なモデル(線形モデル等)が用いられる。例えば、データ処理部17により、元データセット20に対して対象となる対策案45が実行され、仮データセットが生成される。そして機械学習部18により、仮データセットによる評価モデルの学習が行われ、当該評価モデルを用いた予測処理の精度が評価される。この予測精度に基づいて、推奨案46が選択される。
例えば1つの評価項目について複数の対策案45が生成された場合、予測精度が最も高い仮データセットの生成に用いられた対策案45が、推奨案46として選択される。また例えば1つの評価項目について1つの対策案45が生成されたとする。この場合、仮データセットを用いて構築された評価モデルの予想精度が、元データセット20を用いた場合の予測精度に比べ向上した場合に、対策案45が推奨案46として選択される。この他、推奨案46を選択する方法は限定されず、例えば複数の対策案45のうち推奨案46となるデフォルトの対策案45が予め設定されていてもよい。
またステップ203では、対策案45を用いるか否かを判定されてもよい。すなわち、対策案45自体をユーザに提示するか否かが判定される。例えば上記した評価モデルの予測精度が、対策案45を実行した場合と実行しなかった場合とで大きく違わない場合や、予測精度が低下する場合等には、当該対策案45を用いない旨の判定が実行される。このような対策案45は、例えば図5に示すUI画面40等には提示されない。この他、対策案45を用いるか否かを判定する方法は限定されない。
推奨案46が選択されると、元データセット20の各問題点、対策案45、及び推奨案46が提示される(ステップ204)。具体的には、UI生成部16により、元データセット20の各問題点(評価情報44)と、その対策案45とが示されたUI画面40(図5参照)が生成される。これにより、ユーザは、元データセット20の問題点とその対策を容易に把握することが可能となる。なお、問題点のみを表示するUI画面40や、対策案45のみを表示するUI画面40等が生成されてもよい。このような場合であっても、ユーザは当該問題点を解消するように、あるいは対策案45に従って元データセット20を編集・加工することが可能となり、適正な入力データセット30を生成可能である。このように、UI生成部16は、評価情報44又は対策案45の少なくとも一方を提示する。
UI画面40では、評価結果に対する対策案45が選択可能に提示される。図5に示すUI画面では、"ツールで修正"の欄に、各対策案45がチェックボックスとともに表示される。ユーザは、このチェックボックスをチェックすることで、各対策案45を選択することが可能となる。例えば1つの問題点(評価結果)に対応して2つの対策案45が表示されている場合、どちらかの対策案45が選択可能となる。また1つの問題点に1つの対策案45が表示されている場合、その対策案45を実行するか否かを選択可能となる。
また本実施形態では、推奨案46が判別できるように、複数の対策案45が提示される。図5に示す例では、複数の対策案45のうち、推奨案46として選択された対策案45のチェックボックスが、予めチェックされた状態でUI画面40が表示される。このように、推薦する選択肢(推奨案46)については、初期選択済状態でGUIに提示しても良い。またテキストの強調やアイコンの付加等により推奨案46が判別できるように提示されてもよい。この他、推奨案46を判別可能に提示する方法は限定されない。これにより、ユーザは、推奨される対策案45を容易に選択することが可能となる。
図5に示すUI画面40では、ユーザが希望する処理にチェックをつけた後、UI画面40の右下の実行ボタン42を押すことでデータセットの改善処理が行われる。例えば、実行ボタン42が押されると、図3のステップ103が実行され、UI生成部16により対策案45の選択結果(応答情報)が読み込まれる。UI画面40を介して入力された対策案45の選択結果は、ユーザが選択した対策案45を示す指定情報となる。このように、本実施形態では、指定情報としてユーザによる対策案45の選択結果が受け付けられる。そして対策案45の選択結果に基づいて入力データセット30が生成される。
つまり、本ツールでは、ユーザがロードした元データセット20に対し、所定のチェックが行われ、問題点の情報やそれに対処する方法がユーザに提示される。そしてユーザが選択した対処方法(対策案45)に従って元データセット20が自動で修正される。これにより、適正なデータセットを容易に作成することが可能となり、データセットの作成を十分に支援することが可能となる。
図5に示すUI画面40では、全体チェック結果41aとして上から順に評価項目47a~47cについての問題点等が提示される。また項目チェック結果41bとして上から順に評価項目47d~47iについての問題点等が提示される。以下では、図5を参照して、元データセット20全体の評価項目47、及び元データセット20に含まれる各データ項目の評価項目47について具体的に説明する。
[元データセット20全体のチェック]
評価項目47aは、データサンプル数とデータ項目数とについての評価項目である。一般にデータサンプル数が少なく、かつデータサンプル数をデータ項目数で割った値(項目比率)が小さい場合、学習モデルが過学習を起こしやすいため問題となることがある。本実施形態では、評価項目47aを判定するために、データサンプル数及び項目比率に関する閾値がそれぞれ設定される。データサンプル数と、項目比率との両方が閾値以下であった場合、データサンプル数がデータ項目数に対して少ない旨が問題点として表示される。本実施形態では、データサンプル数及び項目比率に関する閾値は、データサンプルの数、及びデータ項目の数に関する条件の一例であり、評価項目47aについて設定された所定の条件である。
評価項目47aは、データサンプル数とデータ項目数とについての評価項目である。一般にデータサンプル数が少なく、かつデータサンプル数をデータ項目数で割った値(項目比率)が小さい場合、学習モデルが過学習を起こしやすいため問題となることがある。本実施形態では、評価項目47aを判定するために、データサンプル数及び項目比率に関する閾値がそれぞれ設定される。データサンプル数と、項目比率との両方が閾値以下であった場合、データサンプル数がデータ項目数に対して少ない旨が問題点として表示される。本実施形態では、データサンプル数及び項目比率に関する閾値は、データサンプルの数、及びデータ項目の数に関する条件の一例であり、評価項目47aについて設定された所定の条件である。
評価項目47aについての対策案45として、データ項目を絞り込むことで対処する方法が提示される。図5に示す例では、データ項目の一部(例えば50%等)を削除する方法と、データ項目の大部分(例えば90%等)を削除する方法とが選択可能に提示される。削除対象となるデータ項目は、例えば元データセット20の教師ラベル(対象項目21)との相互情報量(データ相関等)に基づいて設定される。例えば相互情報量が低いデータ項目から順番に削除対象が設定される。なおデータ項目を削除する割合等は適宜設定されてよい。
図5に示す例では、データ項目の一部を削除する対策案45が、推奨案46として選択される。このようにUI画面40では、実行することが望ましい対策案45を推薦して提示することが可能である。推奨案46は、例えば学習時間が少ない単純な評価モデルを用いて、学習と予測精度評価を行い、最も評価値が高かった対策案45が推薦される(図4のステップ203参照)。なお、各対策案45についての予測精度評価が基準を満たさないような場合等には、推奨案46を選択しない、あるいは対策案45を提示せず何も処理を行わないといったことも可能である。
評価項目47bは、教師ラベル(対象項目21)の項目値の偏りについての評価項目である。図5に示す例では、元データセット20の"故障"の項目が教師ラベルであり、教師ラベルの項目値(ラベル値)は"正常"または"故障"のどちらかである(図2参照)。一般に、2値分類の一方のラベル値を持つデータサンプル数が少なすぎる場合、予測精度が出ないことが多い。本実施形態では、評価項目47bを判定するために、教師ラベルの項目値の偏りに関する閾値が設定される。例えば"正常"または"故障"のどちらかのサンプル数が閾値以下であった場合、教師ラベルの値に偏りがある旨が問題点として表示される。図5では、"故障"のサンプル数を増やす必要がある旨を示すメッセージが表示される。本実施形態では、教師ラベルの項目値の偏りに関する閾値は、対象項目21の統計量に関する条件の一例であり、評価項目47bについて設定された所定の条件である。
特定の項目値を持ったサンプル数を増やすといった処理は、データ処理部17による自動処理では対処することが難しい処理である。このように、自動処理で対応できない場合は、問題点のみが提示される。これにより、他のデータを補充する必要があるか等を判断することが可能となる。なお、教師ラベルの値に偏りがある場合であっても、適正な学習が可能な場合もある。例えば未修正の元データセット20を用いて、学習時間が少ない評価モデルで学習と予測精度評価が行われてもよい。この場合、予測精度がある閾値以上であれば、教師ラベルの偏り等は問題にはならないものとして、ユーザに表示しないといった処理も可能である。
教師ラベルについて、項目値の偏りとは別の統計量等を用いた評価が行われてもよい。例えば学習モデルによる予測処理が、分類型の処理である場合、教師ラベルの項目値は、"故障"や"正常"といったラベル値となる。このラベル値のユニーク数(取り得る値の数)、ラベル値の分布、及びラベル値の絶対数等の統計量についての条件が設定され、各統計量に関連する問題点が検出される。また例えば学習モデルによる予測処理が、回帰型の処理である場合、教師ラベルの項目値は数値により表される。この場合、数値の分布、外れ値の有無等の統計量についての条件が設定され、各統計量に関連する問題点が検出される。教師ラベルについての評価項目や、評価用の条件を設定する方法は限定されない。例えば単一の統計量についての閾値判定が行われてもよいし、複数の統計量を組み合わせた条件等が設定されてもよい。
評価項目47cは、2つのデータ項目間の関連性についての評価項目である。例えば2つのデータ項目の関連が非常に大きい場合(相関値が一定の値以上である場合)等には、一方のデータ項目のみを利用すれば十分である。本実施形態では、評価項目47cを判定するために、2つのデータ項目の相関値に関する閾値が設定される。例えば、全てのデータ項目の組み合わせについてそれぞれ相関値が算出される。そして各相関値が閾値以上となるデータ項目のペアが関連の大きいデータ項目として検出される。関連の大きいデータ項目が検出された場合、似たような情報を表すデータ項目がある旨が問題点として表示される。また、検出されたデータ項目の項目名とともに、どちらか1方を用いればよい旨が表示される。
評価項目47cについての対策案45として、関連の大きいデータ項目を選択するための選択肢が提示される。図5に示す例では"チーム"の項目と"担当者"の項目とが関連の大きい項目として検出され、"ツールで修正"の欄には、"チーム"及び"担当者"がチェックボックスとともに表示される。本実施形態では、2つのデータ項目の相関値に関する閾値は、データ項目間の関連度に関する条件の一例であり、評価項目47cについて設定された所定の条件である。
また、2つのデータ項目について、一方が他方の抽象化になっている場合等には、いずれか一方のみを利用すれば十分であるケースがある。抽象化された関係にある状態とは、例えば、"国名"と"都市名"との関係のように、一方の項目の値によりもう一方の項目の値がほぼ一意に決定できる状態である。このような場合、抽象化になっている旨と項目名とが問題点として提示される。そして対策案45として、いずれか一方か両方を選択することをユーザに提示し、ユーザに選択を促す。この際、データサンプル数とこの2つの項目のユニーク数や教師ラベルとの関連度(相互情報量等)に基づき、推薦する選択肢を決定しても良い。
上記した評価項目47a~47cの他にも、各データ項目の項目値の欠損率を評価する評価項目等が設定されてもよい。この場合、欠損率が閾値よりも高い場合には、欠損率が高い旨と項目名とを提示し、そのデータ項目を使用するか否かの選択肢等が表示される。欠損率についての閾値は、データ項目の項目値の欠損率に関する条件の一例である。
このように、本実施形態では、各評価項目についての所定の条件として、データサンプルの数、データ項目の数、データ項目間の関連度、データ項目の項目値の欠損率、又は対象項目21の統計量の少なくとも1つに関する条件が設定される。そしてデータ処理部17により、所定の条件に基づいて元データセット20全体が評価される。これにより、元データセット20全体の問題点やその対策案45等を提示することが可能となり、バランスのよいデータセット等を容易に作成することが可能となる。なお、元データセット20全体を評価するための評価項目や条件等は限定されず、データセット全体を評価することが可能な任意の評価項目47が設定されてよい。
[項目ごとのチェック]
以下では、元データセット20に含まれる各データ項目("ID"、"稼働月数"、"故障"、"温度"、"観測日"、"チーム"、及び"担当者")についての評価項目について説明する。本実施形態では、データ処理部17により各データ項目について問題点が検出される。1つの項目に対して複数の問題点が検出されるケースもある。
以下では、元データセット20に含まれる各データ項目("ID"、"稼働月数"、"故障"、"温度"、"観測日"、"チーム"、及び"担当者")についての評価項目について説明する。本実施形態では、データ処理部17により各データ項目について問題点が検出される。1つの項目に対して複数の問題点が検出されるケースもある。
また本実施形態では、各データ項目の項目値について、カテゴリカル値が多いのか、数値が多いのか、日付に関する文字列(あらかじめ決まった文字列フォーマットと一致するか否かで判定)なのか等が事前に判定される。すなわち、各データ項目の形式が判定され、項目チェック結果41bの"データタイプ"の提示項目に表示される。
評価項目47dは、ユニーク数についての評価項目である。図5に示す例では、"ID"のデータ項目について、ユニーク数に関する問題点が検出される。例えばカテゴリカル値で表される項目について、ユニーク数がデータサンプル数に対して多いと過学習を起しやすいため問題となる場合がある。ここでカテゴリカル値とは、例えば項目内容をカテゴリーに分類する項目値である。例えば図2に示すデータ項目のうち"温度"の項目には、"温度"を"高い"、"低い"といったカテゴリーで表すカテゴリカル値が含まれる。また"ID"の項目では、各IDの値(ID=id1~id51)がそれぞれのIDを分類するカテゴリカル値となる。このカテゴリカル値の取り得る値の数(種類)が、ユニーク数となる。例えば"ID"のデータ項目は、データサンプル数に対して、カテゴリカル値であるIDのユニーク数が多い項目となる。
本実施形態では、評価項目47dを判定するために、データサンプル数、及びデータサンプル数をユニーク数で割った値(ユニーク比率)に関する閾値がそれぞれ設定される。そしてデータサンプル数と、ユニーク比率との両方が閾値以下であった場合、データサンプル数に対してユニーク数が多い旨が問題点("チェック結果")として表示される。本実施形態では、データサンプル数及びユニーク比率に関する閾値は、対象となるデータ項目の項目値のユニーク数に関する条件の一例であり、評価項目47dについて設定された所定の条件である。
評価項目47dについての対策案45として、学習の入力項目22から外す方法が提示される。図5に示す例では、"ID"の項目を入力項目22から外すか否かを選択するためのチェックボックスが表示される。この際、入力項目22から外す方法と外さない方法とのうち、望ましい方を推薦しても良い。例えば学習時間が少ない評価モデルで、学習と予測精度評価を行い、評価値が高かった方を推薦しても良い。後述するように、欠損率が高いデータ項目(カラム)についても同様の処理が行われる。またユニーク数についての評価は、例えばデータタイプが文字列である他のデータ項目("チーム"、"担当者"等)についても行われる。
評価項目47eは、外れ値についての評価項目である。図5に示す例では、"稼働月数"のデータ項目について、外れ値に関する問題点が検出される。一般に、数値の項目について外れ値が含まれる場合、学習結果に悪い影響が出る場合がある。ここで外れ値とは、例えば正規分布を想定した場合に、出現確率が一定以下となる値である。すなわち項目値(数値)の分布から大きく外れた値が外れ値となる。
本実施形態では、評価項目47eを判定するために、項目値の出現確率に関する閾値が設定される。そして対象となる項目値の出現確率が閾値以下であった場合、その項目値が外れ値として検出され、データ項目に外れ値が含まれている旨が問題点として表示される。この時、外れ値となっているデータサンプルのIDや番号等が提示されてもよい。図5に示す例では、"稼働月数"が他のサンプルと比べて著しく高い上から10番目のデータサンプル(id10)が外れ値を持ったサンプルとして提示される。本実施形態では、項目値の出現確率に関する閾値は、項目値における外れ値の有無に関する条件の一例であり、評価項目47eについて設定された所定の条件である。
評価項目47eについての対策案45として、外れ値を欠損値として扱う方法、及び外れ値を持つデータサンプルを除外する方法等が提示される。外れ値を欠損値とした場合、例えばデータサンプル(id10)の"稼働月数"の項目には、欠損値を表すシンボル等が書き込まれる。またデータサンプルを除外した場合、id10が削除される。この際、評価モデルで、学習と予測精度評価を行い、評価値が高かった方を推薦しても良い。
なお、数値で表される項目値を評価する方法として、項目値の分布を評価する評価項目等が設定されてもよい。この場合、例えば項目値の分布幅等に関する閾値が設定され、データ項目が適切な分布をもったデータとなっているか否か等が判定される。これにより、極端な偏りのあるデータ項目等を除外することが可能となる。項目値の分布幅等に関する閾値は、項目値の分布に関する条件の一例である。
評価項目47fは、欠損値についての評価項目である。図5に示す例では、"稼働月数"のデータ項目について、欠損値に関する問題点が検出される。すなわち、"稼働月数"については、2つの評価項目47e及び47fについての問題点が検出される。図2に示すように、元データセット20には"稼働月数"の項目値に"なし"と記載されたサンプルが含まれる。評価項目47fでは、このように項目値の欠損が文字列で書かれている旨が問題点として表示される。また対策案45としては、"なし"と記載された文字列を欠損値として扱う方法が提示される。なお、評価項目47fの対策案45は、ユーザが選択することなく自動で実行される。このように、文字列等の簡単な修正等は、修正の内容だけを提示した上で、自動的に反映されるようにしてもよい。
評価項目47gは、種類の異なる項目値が含まれるデータについての評価項目である。図5に示す例では、"温度"のデータ項目について、項目値の種類に関する問題点が検出される。図2に示すように、"温度"の項目には、温度を表す数値と、温度の高低を表すカテゴリカル値("高い"、"低い"等)とが含まれる。例えば数値とカテゴリカル値を同一項目の項目値として扱った場合、学習精度が低下する場合がある。このため本実施形態では、対象となる項目に、数値とカテゴリカル値の両方が含まれている旨が問題点として表示される。
評価項目47gについての対策案45として、例えば文字列(カテゴリカル値)を欠損値として扱う方法、及び数値と文字列とを別項目として扱う方法とが提示される。文字列を欠損値とする場合、文字列が欠損値を表すシンボル等に書き変えられる。また、数値と文字列とを別項目とする場合、数値と欠損値から成る第1の項目と、カテゴリカル値と欠損値から成る第2の項目の2つが生成される。第1の項目では、カテゴリカル値("高い"、"低い"等)のデータサンプルが欠損値に設定される。また第2の項目では、数値のデータサンプルが欠損値に設定される。この際、第1及び第2の項目の両方、あるいはいずれか一方を選択する選択肢がユーザに提示される。また各項目の統計量(欠損率やユニーク数)、教師ラベルとの関係に関する統計量(相互情報量等)に基づいて、推薦する選択肢(推奨案46)を決定しても良い。これにより、例えばデータサンプル数を減らすことなく、適正なデータセットを構成することが可能となる。
評価項目47hは、項目値のフォーマットに関する評価項目である。図5に示す例では、"観測日"のデータ項目について、フォーマットに関する問題点が検出される。図2及び図5に示すように"観測日"の項目値のデータタイプは、"日付"である。このうち、8番目のデータサンプル(id8)は、他の項目値とフォーマットが異なる。本実施形態では、例えばテータ項目の項目値として最も多く用いられているフォーマットが識別され、そのフォーマット以外の項目値が検出される。この基準となるフォーマットは、項目値の書式に関する条件として用いられるとも言える。なおユーザが指定したフォーマットを基準として、当該フォーマットから外れた項目値等が検出されてもよい。
評価項目47hでは、項目値にフォーマットの異なるデータサンプルが含まれている旨が、そのデータサンプルのIDとともに問題点として表示される。また評価項目47hの対策案45としては、対象となる項目値のフォーマットを自動で揃える方法が提示される。このように、フォーマットの修正等は、修正の内容だけを提示した上で、自動的に反映されるようにしてもよい。
評価項目47iは、項目値の欠損率に関する評価項目である。図5に示す例では、"チーム"のデータ項目について、欠損率に関する問題点が検出される。例えば欠損率が高いデータ項目は、項目数を減らす際の削減対象となり得る。このため、本実施形態では、評価項目47iを判定するために、項目値の欠損率に関する閾値が設定される。例えばデータサンプル数に対する欠損値の数の割合が欠損率として算出される。この欠損率が閾値以下であって場合、項目値の欠損率が大きい旨が問題点として表示される。本実施形態では、項目値の欠損率に関する閾値は、項目値の欠損率に関する条件の一例であり、評価項目47iについて設定された所定の条件である。評価項目47iについての対策案45として、対象となるデータ項目を入力項目22から除外する方法が提示される。これにより、欠損値の多いデータ項目等を容易に削除することが可能となる。
このように、本実施形態では、各評価項目についての所定の条件として、対象となるデータ項目の項目値のユニーク数、データサンプルの数、項目値の分布、項目値における外れ値の有無、項目値の欠損率、又は項目値の書式の少なくとも1つに関する条件が設定される。そしてデータ処理部17により、所定の条件に基づいて複数のデータ項目ごとに元データセット20が評価される。これにより、データ項目ごとの問題点やその対策案45等を提示することが可能となる。この結果、学習モデルの過学習等が抑制され、処理精度を向上することが可能となる。なお、各データ項目を評価するための評価項目や条件等は限定されず、例えばデータ項目の種類やデータ形式等に応じて任意の評価項目が設定されてよい。
[過去の選択結果の利用]
本実施形態では、UI画面40を介して入力されたユーザの選択結果(指定情報)が、予測モデルと関連付けて保持される。例えば、選択結果を用いて生成された入力データセット30に基づいて機械学習を実行し、予測モデルが構築される。この予測モデルと、データセットに対する処理内容である選択結果とが、互いに関連付けられてデータベース13等に記憶される。これにより予測モデルの再学習や予測処理等を行う際に、過去に学習を行った時の処理内容と同じ処理を適用することが可能となる。
本実施形態では、UI画面40を介して入力されたユーザの選択結果(指定情報)が、予測モデルと関連付けて保持される。例えば、選択結果を用いて生成された入力データセット30に基づいて機械学習を実行し、予測モデルが構築される。この予測モデルと、データセットに対する処理内容である選択結果とが、互いに関連付けられてデータベース13等に記憶される。これにより予測モデルの再学習や予測処理等を行う際に、過去に学習を行った時の処理内容と同じ処理を適用することが可能となる。
例えば、過去に使用した元データセット20や、入力データセット30について、データ項目やデータサンプルを拡充して、新たな元データセット20を構成する場合がある。新たな元データセット20を用いて、予測モデルの再学習等を行うための新たな入力データセット30を生成する際に、過去の選択結果が適用される。例えば新たな元データセット20を評価して、過去の元データセット20と同様の問題点(評価項目47)が検出された場合には、過去の選択結果に基づいて、予め対策案45が選択された状態でUI画面40を表示する。別の観点では、過去に選択した対策案45を、推奨案46として提示するとも言える。このように、UI生成部16は、過去の選択結果に基づいて、推奨案46を提示する。これにより、例えば前回と略同様の条件で新しいデータセットを作成することが可能となり、信頼性の高い学習処理を実現することが可能となる。
また、過去にユーザが選択した対策案45(あるいはユーザによる訂正が行われなかった対策案45)についてのパラメータ等が記憶され、推奨案46の選択処理に用いられてもよい。例えば、過去に提示された対策案45(問題点)について、対応するデータ項目の項目名、統計量(取り得る値、平均、分散等)等がパラメータとして記憶される。また同じ元データセット20に含まれる他のデータ項目についての項目名、統計量、元データセット20のファイル名、利用ユーザ等の情報がパラメータとして記憶されてもよい。これらのパラメータに基づいて推薦する処理内容(推奨案46)が選択される。
一例として、新たな元データセット20を評価した場合に、1つのデータ項目について過去に提示された対策案45と同様の対策案45が提示されたとする。この場合、対策案45が提示されるデータ項目の統計量等が、過去のデータ項目の統計量と近い場合には、過去に選択された対策案45が推奨案46として提示される。また同じユーザがツールを利用している場合には、当該ユーザの過去の選択結果に基づいて、推奨案46が提示される。また、新たな元データセット20が、過去の元データセット20と比較してデータサンプル数が異なっている場合であっても、各データセットに含まれる項目名(カラム名)の大半が同じであれば、過去に実行した処理方法を自動で実行しても良い。これにより、データサンプルを追加した元データセット20を用いて、適正な入力データセット30を容易に生成することが可能となる。
またユーザが各対策案45を選択する際の傾向を学習して、その学習結果に基づいて推奨案46が提示されてもよい。この場合、ユーザごとの傾向(癖)として、例えばユニーク数が10%以上ある項目は入力項目22として選択しないといった傾向や、外れ値が5つ以下である場合には欠損値として扱うといった傾向が学習される。つまり、ユーザが対策案45を選択する際に用いる閾値(ユニーク数の割合や外れ値の数等)が機械学習等で学習される。このように学習された閾値に従って、ユーザが過去に選択した選択肢が推奨されるように、推奨案46が選択される。これにより、ユーザの選択傾向を学習して、推奨案46が提示されるため、優れたユーザビリティを発揮することが可能となる。
[入力データセット30の自動生成]
上記では、ユーザがUI画面を使用して各対策案45を選択した後に、その選択結果に基づいて、入力データセット30が生成される場合について説明した。例えば推奨案46に基づいて入力データセット30が生成されてもよい。すなわち、推奨案46に従った入力データセット30が自動的に生成される。また、入力データセット30に対する、処理内容(対策案45の選択等)を変更するためのUI画面40等が生成されてもよい。これにより、処理内容に対してユーザが修正と再実行を指定することが可能となる。
上記では、ユーザがUI画面を使用して各対策案45を選択した後に、その選択結果に基づいて、入力データセット30が生成される場合について説明した。例えば推奨案46に基づいて入力データセット30が生成されてもよい。すなわち、推奨案46に従った入力データセット30が自動的に生成される。また、入力データセット30に対する、処理内容(対策案45の選択等)を変更するためのUI画面40等が生成されてもよい。これにより、処理内容に対してユーザが修正と再実行を指定することが可能となる。
図6は、UI画面の他の一例を示す模式図である。図6に示すUI画面50は、入力データセット30の自動生成処理が開始された後に、自動生成処理の処理中又は処理後のタイミングで表示される画面である。入力データセット30の自動生成処理では、まず推奨案46に従って入力データセット30を生成する処理が開始される。この時点では、推奨案46以外の対策案45は適用されない。
このUI画面50では、推奨案46以外の対策案45を選択することが可能である。例えば"ID"のユニーク数が多いという問題点(評価情報44)に対して、"ID"の項目を利用するか否かを選択する対策案45が提示される。また"稼働月数"に数値とカテゴリカル値が混在しているという問題点に対して、数値の利用と、カテゴリカル値の利用と、両方の利用とを選択する対策案45が提示される。これらの対策案45は、入力データセット30に反映されていない対策案45である。
またUI画面50の右下には、再実行ボタン51と、進行ボタン52とが表示される。再実行ボタン51を押した場合、各問題点について選択された対策案45が実行され入力データセット30が修正される。また進行ボタン52を押した場合、入力データセット30を修正せずに次の処理が開始される。このように、UI生成部16は、入力データセット30の生成後、複数の対策案45のうち推奨案46とは異なる他の対策案45を選択可能に提示する。これにより、例えば対策案45の選択等に要する時間を抑制することが可能となり、データセットの作成を十分に支援することが可能となる。
[時間情報に基づくデータセットの生成]
以下では、予測対象が時間情報に紐付く事象であるケースについて説明する。ここで、時間情報とは、例えば日時、日付、時刻、経過時間等を示す情報である。このようなケースとして、例えば定額音楽配信サービス等の退会という事象を予測する場合が挙げられる。この場合、顧客がサービスを退会するという事象が、予測対象となる事象(以下では対象事象と記載する)となる。また元データセット20において、退会という事象は、退会した日付等を表す時間情報を項目値とする"退会日"の項目により記録される。
以下では、予測対象が時間情報に紐付く事象であるケースについて説明する。ここで、時間情報とは、例えば日時、日付、時刻、経過時間等を示す情報である。このようなケースとして、例えば定額音楽配信サービス等の退会という事象を予測する場合が挙げられる。この場合、顧客がサービスを退会するという事象が、予測対象となる事象(以下では対象事象と記載する)となる。また元データセット20において、退会という事象は、退会した日付等を表す時間情報を項目値とする"退会日"の項目により記録される。
サービスの退会を予測するケースでは、例えば"退会日"の項目のように時間情報が記録されたデータ項目を対象として、所定の評価期間内に退会(対象事象)が生じる確率が予測される。なお、時間情報を伴う対象事象の例として、例えばオプションサービスへの入会を予測するケースや、契約内容の変更を予測するケース等が挙げられる。この他、対象事象の種類等は限定されない。
このように、対象項目21は、対象事象の時間情報と関連付けられたデータ項目である。また学習モデルは、対象事象が評価期間に発生する確率を予測する予測モデルである。例えば、評価期間として評価開始日および評価終了日が設定される。予測モデルは、設定された評価開始日から評価終了日までに、対象事象(顧客の退会等)が生じる確率を予測する。例えば予測モデルを学習させる場合には、処理を行うタイミングよりも過去の評価期間が設定される、また実際の予測分析を行う場合には、処理を行うタイミングよりも未来の評価期間が設定される。以下では、顧客の退会を予測する予測モデルを例に説明する。
図7は、時間情報を伴う対象項目21を含む元データセット20の一例を示す表である。図7に示す元データセット20は、一定期間内にサービスに入会した顧客に関する情報を示す表形式データである。元データセット20の1行目には、データ項目の名称が記録され、2行目以降の各行には、顧客(データサンプル)ごとの項目値が記録される。
図7に示す例では、元データセット20のデータ項目として、"ID"、"入会日"、"年齢"、"性別"、"住所"、及び"退会日"の項目が設けられる。各データサンプルには、これらのデータ項目の項目値がそれぞれ記録される。"ID"の項目は、顧客のIDを示す項目である。"入会日"の項目には、各顧客が入会した日付が記録される。図7に示す例では、2017年1月1日~2018年12月31日までの24ヶ月の間にサービスに入会した顧客の情報が記録されている。"年齢"、"性別"、"住所"の項目は、各顧客の年齢、性別、住所を表す項目である。"退会日"は、顧客が退会した日付(時間情報)を記録した項目であり、予測対象となる対象項目21(ラベル項目)である。なお、元データセット20には、退会していない顧客(id3、id4)や、24ヶ月の期間後に退会した顧客(id2)等のデータが含まれる。また顧客が退会していない場合、"退会日"の項目に時間情報は入力されない。
予測モデルの予測精度を評価する際には、学習データセットと、評価データセットとが用いられる。学習データセットは、予測モデルの学習処理(トレーニング)する際に用いるデータセットである。評価データセットは、学習データセットによるトレーニングを受けた予測モデルの予測精度等の評価に用いるデータセットである。本実施形態では、元データセット20から、これら2つデータセットが入力データセット30として生成される。すなわち、入力データセット30には、予測モデルを学習させるための学習データセットと、予測モデルを評価するための評価データセットとが含まれる。
学習データセット及び評価データセットを作成する方法として、単純に退会日が記載されているデータサンプルを退会扱いとして元データセット20のデータを分割する方法が考えられる。この方法では、評価データセットのデータサンプルに対して未来の退会情報を持ったデータサンプルが学習時に利用されるといった場合が考えられる。
例えば2018年12月1日から1月以内の退会についての予測精度を評価するといった場合に、予測モデルが2018年12月1日以降に退会した顧客のデータを学習しているといった事態が生じる。このため、現実に即した予測精度評価に失敗してしまう可能性がある。従って、学習データセット及び評価データセットを生成する場合には、対象事象("退会日")の時間的関係に矛盾等がないように、各データサンプル(元データセット20)を工夫して分割する必要がある。
本実施形態では、データ処理部17により、評価期間の長さの基準となる期間単位に基づいて、入力データセット30が生成される。すなわち、評価期間の長さ(期間単位)に応じて、評価データセットあるいは学習データセットに用いるデータサンプルが、元データセット20から選択される。以下、元データセット20から入力データセット30(評価データセット及び学習データセット)を生成する方法について具体的に説明する。
[期間単位の設定]
データ処理部17は、元データセット20に基づいて、期間単位を設定する。例えば、元データセット20に記録された退会日が含まれる期間をN分割して期間単位が設定される。ここで、Nは自然数である。例えば元データセット20に記録された最も新しい退会日と、最も古い退会日とが参照される。そして最も新しい退会日から最も古い退会日を差し引いた期間の長さをN分割(例えばN=10等)した値が期間単位に設定される。これにより、例えば退会日が記録された複数のデータサンプルをバランスよく含む入力データセット30等を作成するといったことが可能となる。
データ処理部17は、元データセット20に基づいて、期間単位を設定する。例えば、元データセット20に記録された退会日が含まれる期間をN分割して期間単位が設定される。ここで、Nは自然数である。例えば元データセット20に記録された最も新しい退会日と、最も古い退会日とが参照される。そして最も新しい退会日から最も古い退会日を差し引いた期間の長さをN分割(例えばN=10等)した値が期間単位に設定される。これにより、例えば退会日が記録された複数のデータサンプルをバランスよく含む入力データセット30等を作成するといったことが可能となる。
退会日が含まれる期間をN分割する方法では、期間単位が中途半端な値になる場合がある。例えば複数の期間単位の候補(例えば1週間、2週間、30日間、60日間等)のうち、N分割により算出された期間に最も近い期間が期間単位に設定されてもよい。これにより、取扱いやすい入力データセット30等を作成することが可能となる。この他、元データセット20から期間単位を設定する方法は限定されない。例えば退会日が含まれる期間に代えて、入会日が含まれる期間を分割することで、期間単位が設定されてもよい。
またユーザが指定した指定情報に基づいて、期間単位が設定されてもよい。例えば期間単位を入力するUI画面(図12参照)を介してユーザにより入力された値(期間単位を指定する指定情報)が、期間単位に設定される。これにより、ユーザは所望の期間単位を設定することが可能となる。
[評価データセットの生成]
図8は、評価データセットの生成方法の一例を説明するための模式図である。図8には、図7に示す元データセット20に記録された顧客60a~60fの加入状態を表す線分が模式的に図示されている。各線分の左端は入会日を表し、右端は退会日を表す。なお顧客60d、60e、及び60fは、元データセット20が作成された時点では、退会していないものとする。
図8は、評価データセットの生成方法の一例を説明するための模式図である。図8には、図7に示す元データセット20に記録された顧客60a~60fの加入状態を表す線分が模式的に図示されている。各線分の左端は入会日を表し、右端は退会日を表す。なお顧客60d、60e、及び60fは、元データセット20が作成された時点では、退会していないものとする。
以下では、2018年の12月1日~12月31日を期間Sと記載し、11月1日~11月30日を期間Tと記載し、10月1日~10月31日を期間Uと記載する。また2017年1月1日~2018年9月30日の期間を期間Vと記載する。図8に示すように、顧客60aは、期間Vに入会し期間Uに退会した顧客である。顧客60bは、期間Vに入会し期間Tに退会した顧客である。顧客60cは、期間Vに入会し期間Sに退会した顧客である。顧客60d~顧客60fは、それぞれ期間V、T、Sに入会しその後退会していない顧客である。
まず、データ処理部17により、期間単位に基づいて評価期間61が設定される。図8に示す例では、期間単位が30日間に設定され、評価期間開始日が2018年12月1日に設定される。ここで12月の日数は31日間であるため、評価期間終了日は2018年12月31日に設定される。すなわち、評価期間61は期間Sに設定される。このように、本実施形態では、期間単位を基準として、対象となる月の日数(28日、29日、30日、31日等)に合わせて評価期間61が設定される。もちろん、期間単位と等しい長さとなるように評価期間61が設定されてもよい。また評価期間終了日を指定して、期間単位を基準に評価期間開始日が設定されてもよい。
評価期間61が設定されると、データ処理部17により、評価期間61を基準として評価データセット62が生成される。評価データセット62は、評価期間開始日より前に入会日が存在し、かつ退会日が存在しないデータサンプル(顧客)から構成される。図8に示す例では、評価期間61(期間S)よりも前に入会しており、かつ退会していない顧客60c、60d、60eが、評価データセット62として抽出される。これらのデータサンプル(顧客60c、60d、60e)は、評価期間61の開始時点で評価期間61内に退会する可能性の合ったデータサンプルであると言える。なお図8では評価データセット62となる顧客の線分が実線で図示されており、評価データセット62にならない顧客の線分が点線で図示されている。
抽出されたデータサンプルのうち、評価期間61内に退会日が存在するデータサンプル(顧客60c)に対しては、退会を表すラベル(退会ラベル)が付与される。また評価期間61内に退会日が存在しない他のデータサンプル(顧客60e及び60f)には退会ではないラベル(継続ラベル)が付与される。例えば退会又は継続の加入状態を表すデータ項目が新たに生成され、その項目に退会ラベルまたは継続ラベルが記録される。あるいは"退会日"の項目に、各ラベルが上書きされてもよい。これらのラベルは、予測モデルを学習させる際の教師ラベルとなる。ラベルが付与されたデータサンプルは、評価データセット62として保存される。
このように、本実施形態では、評価期間61の開始時点で評価期間61に対象事象が発生する可能性があったデータサンプルに対して、評価期間61での対象事象の発生の有無を表すラベルを付与することで評価データセット62が生成される。これにより、評価期間61内に対象事象(退会)が発生するデータサンプルにより評価データセットを生成することが可能となる。
[学習データセットの生成]
図9は、学習データセットの生成方法の一例を説明するための模式図である。図9A及び図9Bには、図8に示す顧客60a~60fの加入状態を表す線分が模式的に図示されている。
図9は、学習データセットの生成方法の一例を説明するための模式図である。図9A及び図9Bには、図8に示す顧客60a~60fの加入状態を表す線分が模式的に図示されている。
まず、データ処理部17により、期間単位に基づいて評価期間61よりも前の期間である仮想期間63が設定される。仮想期間63は、学習データセットを生成する基準となる期間であり、少なくとも評価期間開始日よりも過去の期間である。図9Aには、評価期間61の直近に設定された仮想期間63が斜線の領域により図示されている。直近の仮想期間63は、例えば評価期間開始日の前日(2018年11月30日)から期間単位を差し引いた日付(2018年11月1日)までの期間である。従って直近の仮想期間63は、期間Tとなる。
仮想期間63が設定されると、データ処理部17により、仮想期間63を基準として学習データセット64が生成される。学習データセット64は、評価期間開始日の前日から期間単位を引いた日付、すなわち仮想期間開始日(2018年11月1日)より前に入会日が存在し、かつ退会日が存在しないデータサンプルから構成される。図9Aに示す例では、仮想期間63(期間T)よりも前に入会しており、かつ退会していない顧客60b、60c、60dが、学習データセット64として抽出される。これらのデータサンプル(顧客60b、60c、60d)は、仮想期間63の開始時点で仮想期間63内に退会する可能性の合ったデータサンプルであると言える。
抽出されたデータサンプルのうち、仮想期間63内に退会日が存在するデータサンプル(顧客60b)に対しては、退会ラベルが付与される。また仮想期間63内に退会日が存在しない他のデータサンプル(顧客60c及び60d)には継続ラベルが付与される。ラベルが付与されたデータサンプルは、学習データセット64として保存される。
このように、本実施形態では、仮想期間63の開始時点で仮想期間63に対象事象が発生する可能性があったデータサンプルに対して、仮想期間63での対象事象の発生の有無を表すラベルを付与することで学習データセット64が生成される。評価期間61より前の仮想期間63を基準とすることで、評価期間61より前に退会等の事象が発生したデータサンプルからなるデータセットを生成することが可能となる。これにより、未来のデータを元に予測モデルを評価するといった事態を確実に回避することが可能となる。
またデータ処理部17は、複数の仮想期間63を設定し、各仮想期間63を基準として複数の部分学習データセットを生成する。例えば図9Aで生成された学習データセット64は、部分学習データセットの一例である。また図9Bでは、図9Aの仮想期間63とは異なる仮想期間63を基準として、新たな学習データセット64(部分学習データセット)が生成される。以下では、図9A及び図9Bに示す仮想期間63を、それぞれ第1の仮想期間63a及び第2の仮想期間63bと記載する。また第1及び第2の仮想期間63a及び63bを基準として生成された学習データセット64を第1の部分学習データセット64a及び第2の部分学習データセット64bと記載する。
図9Bに示すように、第2の仮想期間63bは、期間U(2018年10月1日~2018年10月31日)に設定される。すなわち、第2の仮想期間63bは、第1の仮想期間63aを期間単位だけ過去にずらし、該当する月の日数に合わせて設定されるとも言える。第2の仮想期間63bが設定されると、第2の仮想期間63bを基準として第2の部分学習データセット64bが生成される。
図9Bに示す例では、第2の仮想期間63b(期間U)よりも前に入会しており、かつ退会していない顧客60a、60b、50c、60dが、部分学習データセット64bとして抽出される。抽出されたデータサンプルのうち、第2の仮想期間63b内に退会日が存在するデータサンプル(顧客60a)に対しては、退会ラベルが付与される。また第2の仮想期間63b内に退会日が存在しない他のデータサンプル(顧客60b、60c、60d)には継続ラベルが付与される。ラベルが付与されたデータサンプルは、第2の部分学習データセット64bとして保存される。
データ処理部17は、期間単位を基準として仮想期間63をずらごとに、部分学習データセットを生成する。この処理を一定回数繰り返して複数の部分学習データセットが生成される。なお部分学習データセットを生成する回数等は限定されない。例えば元データセット20のデータ量等に応じて、部分学習データセットの生成回数が適宜設定されてよい。このように、データ処理部17は、仮想期間63をずらすことで複数の部分学習データセットを生成し、複数の部分学習データセットを結合して学習データセット64を生成する。
これにより、必要な分量の学習データセット64を容易に生成することが可能となり、学習データセット64の作成を十分に支援することが可能となる。また、学習データセット64は、評価データセット62に含まれる事象(退会)に対して過去の事象を教師ラベルとするデータセットとなる。この結果、予測モデルについての適切な学習と予測評価とを行うことが可能となる。
図8及び図9等を参照して説明した手法を用いた場合、評価データセット62及び学習データセット64には同じデータサンプル(例えば顧客20c及び20d)が含まれることになる。このようなデータサンプルの重複を避けるために、各データセットに同じデータサンプルが含まれないように分割処理が行われてもよい。また学習データセット64内にも、同じデータサンプルが複数含まれる場合があり得る。このため、学習データセット64内の重複データサンプルをランダムに取り除く処理が実行されてもよい。これにより、データサンプルの重複が抑制された高品質なデータセットを用意することが可能となる。
予測モデルを構築する際には、1つの入力データセット30(評価データセット62及び学習データセット64のペア)を用いて高い精度が得られたからと言って、他のデータセットを用いた場合にも高い精度が得られるとは限らない。例えば、複数のパターンのデータセットのペアを用いて、予測モデルの評価を複数回行うことで、予測精度評価値が統計的に安定することが知られている。このため、複数回分のデータセットペアを作成することが望ましい。
本実施形態では、図8を参照して説明した評価期間61をずらすことで、他のパターンの評価データセット62が生成される。また評価期間61に合わせて図9を参照して説明した仮想期間63(第1及び第2の仮想期間63a及び63b等)をずらすことで、他のパターンの学習データセット64が生成される。このように、評価期間61及び仮想期間63を適宜ずらすことで、複数パターンのデータセットペアを容易に構成することが可能となる。
実際に予測を行う際は、最も日付が新しいパターンを用いて予測モデルを構築する。すなわち最新のデータを使用して、予測モデルを調整する。そして予測を算出する際は、現時点で退会していないデータサンプル(顧客)に対し予測モデルを適用して予測結果を算出する。これにより、現在の状況に合わせた高精度な予測分析を実現することが可能となる。
[追加データセット]
予測モデルに対する入力項目22として、時間情報に基づく事象を利用する場合がある。この場合、例えば対象事象(退会等)とは異なる他の事象が時間情報とともに記録されたデータが用いられる。本実施形態では、データ取得部15により、対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットが取得される。以下では、追加データセットを用いて入力データセット30を生成する方法について説明する。
予測モデルに対する入力項目22として、時間情報に基づく事象を利用する場合がある。この場合、例えば対象事象(退会等)とは異なる他の事象が時間情報とともに記録されたデータが用いられる。本実施形態では、データ取得部15により、対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットが取得される。以下では、追加データセットを用いて入力データセット30を生成する方法について説明する。
図10は、時間情報を伴う入力項目22を含む追加データセットの一例を示す表である。図10に示す追加データセット70は、図7に示す各顧客(データサンプル)のログイン状況を記録したデータである。追加データセット70の1行目には、データ項目が記録され、2行目以降の各行にはデータエントリごとの項目値が記録される。
図10に示す例では、追加データセット70のデータ項目として、"ID"、"時刻"、及び"イベント"の項目が設けられる。"ID"の項目は、図7に示す顧客(データサンプル)に対応するIDが記録される。"時刻"の項目には、"イベント"の項目に記載された事象(ログイン)が発生した時刻(時間情報)が記録される。例えばある顧客がログインを行うと、1つのデータエントリが生成される。このようなデータを集計して、新たな入力項目22等が生成される。データの集計処理の一例としては、顧客ごとのログイン回数の総数をカウント、1カ月の平均ログイン回数を算出するといった処理等が挙げられる。
このようなデータを入力項目22として利用する方法として、単純にデータサンプル(顧客)ごとに集計処理を行う方法が考えられる。例えばログインの日時等を考慮することなく集計処理を行った場合、本来は予測時に利用できないはずの未来の情報を利用してしまうといった問題が生じる恐れがある。例えば、2018年12月1日以降の退会を予測する際に、2018年12月1日以降のログインの情報を学習した予測モデルを用いるといった事態が生じ得る。
そこで、本実施形態では、上記した評価期間61や仮想期間63に基づいて集計処理を行い、その集計結果を入力項目22として利用する。なお集計処理は、評価データセット62、及び学習データセット64(部分学習データセット64)を生成する際にそれぞれ実行される。従って、集計処理では、データセットごとに異なる集計結果が算出される。
図11は、追加データセット70の集計処理の一例を説明するための模式図である。図11には、顧客60g及び顧客60hがログインしたタイミングが丸印(黒丸及び白丸)を用いて図示されている。各丸印は、顧客60g及び60hに関する各データエントリを表している。また評価期間は、図8と同様に期間S(2018年12月1日~12月31日)に設定されているとする。以下では、図11を参照して評価データセット62を生成するための集計処理について説明する。
評価データセット62に対する集計処理では、評価期間61よりも前に発生した事象(ログイン)を集計対象として、集計処理が行われる。すなわち、評価期間開始日の前日までの時間情報を持つデータエントリに対して集計処理が行われる。また集計処理は、評価期間より前に設定された所定の集計期間に合わせて行われる。集計期間は、評価期間よりも前であれば任意に設定可能である。図11に示す例では、元データセット20における最も古い入会日(2017年1月1日)から、評価期間開始日の前日(2018年1月1日)までの期間が集計期間に設定される。本実施形態では、集計期間は所定期間に相当する。
例えば顧客60gは、評価期間開始日より前に5回のログイン(黒丸)を行っており、評価期間中に2回のログイン(白丸)を行っている。この場合、集計処理では、顧客60gのログイン総数は5回と集計され、評価期間61中のログインはカウントされない。同様に、全体で5回のログインをしている顧客60hは、評価期間61に1度ログインしているため、集計処理によるログイン総数は4回と集計される。これにより、評価期間61の開始時点からみて未来に生じる事象を集計することなく、適正な集計結果を算出することが可能となる。
また集計期間を最新の一定期間に絞ることで、予測直前の事象の情報を抽出することができる。例えば、評価データセット62に対しては、評価期間開始日の1カ月前から評価期間開始日の前日までを集計期間とする。これにより、最新の集計結果を入力項目22として用いることが可能となり、予測分析の精度を十分に高めることが可能となる。
また、部分学習データセットに対する集計処理では、対応する仮想期間63の前日までの時間情報を持つデータエントリに対して集計が行われる。また評価データセット62の場合と同様に、集計期間を仮想期間63の直近の一定期間に絞ることで、最新の集計結果が算出される。他の部分学習データセットに対しても集計期間を適宜設定することで、追加データセット70のデータエントリを適正に集計することが可能である。
生成された評価データセット62及び学習データセット64(部分学習データセット64)をペアとして、入力データセット30が生成される。このように、本実施形態では、他の事象の時間情報に基づいて、評価期間よりも前に設定された集計期間において他の事象のデータ項目が集計され、当該集計結果が入力データセット30に追加される。これにより、例えば時間情報に関連付けられた他の事象に関するデータを含む、充実した入力データセット30を容易に作成することが可能となる。
図12は、時間情報を伴うデータセットを入力するためのUI画面の一例である。UI画面80には、元ファイル入力欄81、パラメータ指定欄82a~82d、追加ファイル入力欄83、及び処理開始ボタン84が表示される。UI画面80において、各入力欄や指定欄に入力される情報は、いずれもユーザが指定した指定情報となる。
元ファイル入力欄81は、元データセット20である表形式データ等のファイル名を入力する欄である。パラメータ指定欄82aは、元データセット20の各データサンプルを区別するための項目(ID項目)を指定する欄である。パラメータ指定欄82bは、ラベルとなる事象(退会)の時間情報を含む項目を指定する欄である。パラメータ指定欄82cは、データサンプルの生成時間情報を含む項目を指定する欄である。パラメータ指定欄82dは、期間単位を指定する欄である。この期間単位は、上記したように自動で決定されても良い。また自動で決定された期間単位が推奨値として提示されてもよい。
追加ファイル入力欄83は、追加データセット70である表形式データ等のファイル名等を入力する欄である。入力項目22としても時刻に基づく事象を利用する場合は、ファイル名、ID項目、時間情報の項目、内容項目を指定する。また追加ファイルについては複数の追加データセット70を指定することが可能である。この場合、各ファイル独立に処理を行い、算出した入力項目22を入力データセット30と連結して利用しても良い。
各欄の入力が完了した後、処理開始ボタン84を押すことで、上記した入力データセット30(評価データセット62及び学習データセット64)の生成処理が開始される。このように本ツールを用いることで、元データセット20の各データサンプルを分割して、時間的に矛盾のない入力データセット30を自動的に作成することが可能となる。この結果、例えば予測分析等の経験の浅いユーザであっても、適正なデータセットを容易に準備することが可能となり、データセットの作成を十分に支援することが可能となる。
また生成処理の一環として元データセット20を評価する評価処理等が行われてもよい。この場合、例えば図12に示す処理開始ボタン84を押した後に、図5に示すようなチェック結果を示すUI画面40等が表示される。これにより、各データ項目の問題点が解消されたデータセット等を容易に生成することが可能となる。
以上、本実施形態に係る情報処理装置100では、元データセット20から学習モデルを構築するための入力データセット30が生成される。この入力データセット30の生成は、ユーザが指定した指定情報に基づいて行われる。これにより、ユーザの指定に応じた入力データセット30を生成することが可能となり、データセットの作成を支援することが可能となる。
予測モデル等の学習モデルを構築する場合、データセットを適切に作成することが重要である。例えばデータセットによっては、本来よりも予測精度が劣化する事態が生じる場合がある。また、本来予測時には手に入らない情報を利用してしまうといった現実ではありえない設定で予測モデルの評価を行ってしまう事態が生じる可能性がある。ところで、予測分析の経験が乏しいユーザにとっては、データセットが適切に作成されているかを判断することが難しい場合があった。
本実施形態では、入力データセット30の元となる元データセット20が評価され、元データセット20の問題点やその対策案45が提示される。従ってユーザは提示された対策案45を選択するだけで、各種の問題点が解消された入力データセット30を容易に作成することが可能となる。また対策案45のうち、実行が推奨されるものが推奨案46として提示される。このため、高い予測精度を実現することが期待されるデータセット等を作成することが可能となる。
また本実施形態では、時間情報に紐付く事象がターゲットである場合にも、時間的な矛盾等のない評価データセット62及び学習データセット64を作成することが可能である。このため、例えば表形式ファイルのデータサンプルを時間情報に従って並べ替えるといった作業や、矛盾のないようにデータサンプルを分割するといった作業を行うことなく、適正なデータセットを用意することが可能となる。これにより、データセットの作成作業に要する負担を大幅に軽減することが可能となる。
このように、本実施形態に係る情報処理装置100により、予測分析において元となるデータファイルから、予測分析に対して適切なデータセットの作成を自動化・サポートするデータセット生成ツールが実現される。これにより、予測分析の経験が浅くても、適切なデータセットを容易に作成することが可能となり、適正な予測分析を行うことが可能となる。
図13は、情報処理装置100のハードウェア構成例を示すブロック図である。情報処理装置100は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置100は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。情報処理装置100は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置100内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置100の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置100に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚や聴覚、触覚などの感覚を用いて通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカまたはヘッドフォンなどの音声出力装置、もしくはバイブレータなどでありうる。出力装置917は、情報処理装置100の処理により得られた結果を、テキストもしくは画像などの映像、音声もしくは音響などの音声、またはバイブレーションなどとして出力する。
ストレージ装置919は、情報処理装置100の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。ストレージ装置919は、例えばCPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置100に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理装置100に接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置100と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、LAN(Local Area Network)、Bluetooth(登録商標)、Wi-Fi、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通
信、ラジオ波通信または衛星通信などを含みうる。
信、ラジオ波通信または衛星通信などを含みうる。
例えば図1に示す操作部10、表示部11、通信部12、及びデータベース13は、図13に示す、入力装置905、出力装置917、通信装置925、及びストレージ装置919により実現される。また図9に示すCPU901、ROM903、RAM905が本実施形態に係るプログラムに従って共動することで図1に示す制御部14が実現される。
以上、情報処理装置100のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
上記では、主に対象項目21に関する予測処理を行う学習モデル(予測モデル)について説明した。これに限定されず、例えば学習モデルは、対象項目21に関する推定処理を行うモデル(推定モデル)であってもよい。推定処理とは、例えば顧客が興味を持ちそうな商品を推定するといった処理や、スパムメールを推定するといった処理が挙げられる。この場合、推定モデル用の元データにおいて、問題となるデータ項目等をチェックし、その対策案45等を提示することで、適正なデータセットを生成することが可能となる。
また元データセット20には、音声や画像等が用いられてもよい。この場合、音声や画像等の内容を推定(認識)する学習モデル用のデータセットが生成される。例えば音声に関するパラメータ(波長域の分布、ボリューム、波形の特徴量等)や画像に関するパラメータ(明るさ、色の傾向)等をデータ項目として、各データ項目の問題点をチェックし対策案45等を提示することで、データセットの作成を支援することが可能となる。
図1に示す情報処理装置100に設けられた機械学習部18は、他の装置に設けられてもよい。すなわち、機械学習部18を除いた構成が採用されてもよい。例えば、元データセット20から入力データセット30を生成する装置と、生成された入力データセット30を使用して学習モデルを構築する装置とが別々の装置として構成される。このような場合であっても、入力データセット30の作成を支援することが可能である。
上記では、本技術に係る情報処理装置の一実施形態として、単体の情報処理装置100を例に挙げた。しかしながら、情報処理装置100とは別に構成され、有線又は無線を介して情報処理装置100に接続される任意のコンピュータにより、本技術に係る情報処理装置が実現されてもよい。例えばクラウドサーバにより、本技術に係る情報処理方法が実行されてもよい。あるいは情報処理装置100と他のコンピュータとが連動して、本技術に係る情報処理方法が実行されてもよい。
すなわち本技術に係る情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
コンピュータシステムによる本技術に係る情報処理方法、及びプログラムの実行は、例えば元データセットの取得、指定情報の受け付け、データセットの生成等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
すなわち本技術に係る情報処理方法及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
本開示において、「同じ」「等しい」等は、「実質的に同じ」「実質的に等しい」等を含む概念とする。例えば「完全に同じ」「完全に等しい」等を基準とした所定の範囲(例えば±10%の範囲)に含まれる状態も含まれる。
なお、本技術は以下のような構成も採ることができる。
(1)元データセットを取得するデータ取得部と、
ユーザが指定した指定情報を受け付ける受付部と、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するデータ生成部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記元データセットは、各々が複数のデータ項目を含む複数のデータサンプルであり、
前記指定情報は、前記学習モデルの処理対象となるデータ項目である対象項目を含み、
前記学習モデルは、前記対象項目に関する予測処理又は推定処理を行う
情報処理装置。
(3)(2)に記載の情報処理装置であって、
前記データ生成部は、前記元データセットを所定の条件に基づいて評価し、当該評価結果に応じた評価情報、又は前記評価結果に対する対策案の少なくとも一方を生成し、
前記受付部は、前記評価情報又は前記対策案の少なくとも一方を提示する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記受付部は、前記評価結果に対する前記対策案を選択可能に提示し、前記指定情報として前記ユーザによる前記対策案の選択結果を受け付け、
前記データ生成部は、前記選択結果に基づいて前記データセットを生成する
情報処理装置。
(5)(3)又は(4)に記載の情報処理装置であって、
前記データ生成部は、前記評価結果に対する複数の対策案を生成し、前記複数の対策案のうち推奨される推奨案を選択し、
前記受付部は、前記推奨案が判別できるように、前記複数の対策案を提示する
情報処理装置。
(6)(5)に記載の情報処理装置であって、
前記データ生成部は、前記推奨案に基づいて前記データセットを生成し、
前記受付部は、前記データセットの生成処理の開始後、前記複数の対策案のうち前記推奨案とは異なる他の対策案を選択可能に提示する
情報処理装置。
(7)(5)又は(6)に記載の情報処理装置であって、
前記受付部は、過去の前記選択結果に基づいて、前記推奨案を提示する
情報処理装置。
(8)(3)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記所定の条件は、前記データサンプルの数、前記データ項目の数、前記データ項目間の関連度、前記データ項目の項目値の欠損率、又は前記対象項目の統計量の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記元データセット全体を評価する
情報処理装置。
(9)(3)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記所定の条件は、対象となる前記データ項目の項目値のユニーク数、前記項目値の分布、前記項目値における外れ値の有無、前記項目値の欠損率、又は前記項目値の書式の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記複数のデータ項目ごとに前記元データセットを評価する
情報処理装置。
(10)(2)から(9)のうちいずれか1つに記載の情報処理装置であって、
前記対象項目は、対象事象の時間情報と関連付けられたデータ項目であり、
前記学習モデルは、前記対象事象が評価期間に発生する確率を予測するモデルであり、
前記データ生成部は、前記評価期間の長さの基準となる期間単位に基づいて、前記データセットを生成する
情報処理装置。
(11)(10)に記載の情報処理装置であって、
前記データ生成部は、前記元データセット又は前記ユーザが指定した前記指定情報のいずれか一方に基づいて、前記期間単位を設定する
情報処理装置。
(12)(10)又は(11)に記載の情報処理装置であって、
前記データセットは、前記学習モデルを学習させるための学習データセットと、前記学習モデルを評価するための評価データセットとを含み、
前記データ生成部は、前記期間単位に基づいて前記評価期間と前記評価期間よりも前の期間である仮想期間とを設定し、前記評価期間を基準として前記評価データセットを生成し、前記仮想期間を基準として前記学習データセットを生成する
情報処理装置。
(13)(12)に記載の情報処理装置であって、
前記データ生成部は、前記評価期間の開始時点で前記評価期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記評価期間での前記対象事象の発生の有無を表すラベルを付与することで前記評価データセットを生成する
情報処理装置。
(14)(12)又は(13)に記載の情報処理装置であって、
前記データ生成部は、前記仮想期間の開始時点で前記仮想期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記仮想期間での前記対象事象の発生の有無を表すラベルを付与することで前記学習データセットを生成する
情報処理装置。
(15)(12)から(14)のうちいずれか1つに記載の情報処理装置であって、
前記データ生成部は、前記期間単位を基準として前記仮想期間をずらすことで複数の部分学習データセットを生成し、前記複数の部分学習データセットを結合して前記学習データセットを生成する。
情報処理装置。
(16)(10)から(15)のうちいずれか1つに記載の情報処理装置であって、
前記データ取得部は、前記対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットを取得し、
前記データ生成部は、前記他の事象の時間情報に基づいて、前記評価期間よりも前に設定された所定期間において前記他の事象のデータ項目を集計し、当該集計結果を前記データセットに追加する
情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
前記受付部は、前記指定情報を入力するための入力画面を生成する
情報処理装置。
(18)元データセットを取得し、
ユーザが指定した指定情報を受け付け、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する
ことをコンピュータシステムが実行する情報処理方法。
(19)元データセットを取得するステップと、
ユーザが指定した指定情報を受け付けるステップと、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するステップと
をコンピュータシステムに実行させるプログラム。
(1)元データセットを取得するデータ取得部と、
ユーザが指定した指定情報を受け付ける受付部と、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するデータ生成部と
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記元データセットは、各々が複数のデータ項目を含む複数のデータサンプルであり、
前記指定情報は、前記学習モデルの処理対象となるデータ項目である対象項目を含み、
前記学習モデルは、前記対象項目に関する予測処理又は推定処理を行う
情報処理装置。
(3)(2)に記載の情報処理装置であって、
前記データ生成部は、前記元データセットを所定の条件に基づいて評価し、当該評価結果に応じた評価情報、又は前記評価結果に対する対策案の少なくとも一方を生成し、
前記受付部は、前記評価情報又は前記対策案の少なくとも一方を提示する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記受付部は、前記評価結果に対する前記対策案を選択可能に提示し、前記指定情報として前記ユーザによる前記対策案の選択結果を受け付け、
前記データ生成部は、前記選択結果に基づいて前記データセットを生成する
情報処理装置。
(5)(3)又は(4)に記載の情報処理装置であって、
前記データ生成部は、前記評価結果に対する複数の対策案を生成し、前記複数の対策案のうち推奨される推奨案を選択し、
前記受付部は、前記推奨案が判別できるように、前記複数の対策案を提示する
情報処理装置。
(6)(5)に記載の情報処理装置であって、
前記データ生成部は、前記推奨案に基づいて前記データセットを生成し、
前記受付部は、前記データセットの生成処理の開始後、前記複数の対策案のうち前記推奨案とは異なる他の対策案を選択可能に提示する
情報処理装置。
(7)(5)又は(6)に記載の情報処理装置であって、
前記受付部は、過去の前記選択結果に基づいて、前記推奨案を提示する
情報処理装置。
(8)(3)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記所定の条件は、前記データサンプルの数、前記データ項目の数、前記データ項目間の関連度、前記データ項目の項目値の欠損率、又は前記対象項目の統計量の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記元データセット全体を評価する
情報処理装置。
(9)(3)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記所定の条件は、対象となる前記データ項目の項目値のユニーク数、前記項目値の分布、前記項目値における外れ値の有無、前記項目値の欠損率、又は前記項目値の書式の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記複数のデータ項目ごとに前記元データセットを評価する
情報処理装置。
(10)(2)から(9)のうちいずれか1つに記載の情報処理装置であって、
前記対象項目は、対象事象の時間情報と関連付けられたデータ項目であり、
前記学習モデルは、前記対象事象が評価期間に発生する確率を予測するモデルであり、
前記データ生成部は、前記評価期間の長さの基準となる期間単位に基づいて、前記データセットを生成する
情報処理装置。
(11)(10)に記載の情報処理装置であって、
前記データ生成部は、前記元データセット又は前記ユーザが指定した前記指定情報のいずれか一方に基づいて、前記期間単位を設定する
情報処理装置。
(12)(10)又は(11)に記載の情報処理装置であって、
前記データセットは、前記学習モデルを学習させるための学習データセットと、前記学習モデルを評価するための評価データセットとを含み、
前記データ生成部は、前記期間単位に基づいて前記評価期間と前記評価期間よりも前の期間である仮想期間とを設定し、前記評価期間を基準として前記評価データセットを生成し、前記仮想期間を基準として前記学習データセットを生成する
情報処理装置。
(13)(12)に記載の情報処理装置であって、
前記データ生成部は、前記評価期間の開始時点で前記評価期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記評価期間での前記対象事象の発生の有無を表すラベルを付与することで前記評価データセットを生成する
情報処理装置。
(14)(12)又は(13)に記載の情報処理装置であって、
前記データ生成部は、前記仮想期間の開始時点で前記仮想期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記仮想期間での前記対象事象の発生の有無を表すラベルを付与することで前記学習データセットを生成する
情報処理装置。
(15)(12)から(14)のうちいずれか1つに記載の情報処理装置であって、
前記データ生成部は、前記期間単位を基準として前記仮想期間をずらすことで複数の部分学習データセットを生成し、前記複数の部分学習データセットを結合して前記学習データセットを生成する。
情報処理装置。
(16)(10)から(15)のうちいずれか1つに記載の情報処理装置であって、
前記データ取得部は、前記対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットを取得し、
前記データ生成部は、前記他の事象の時間情報に基づいて、前記評価期間よりも前に設定された所定期間において前記他の事象のデータ項目を集計し、当該集計結果を前記データセットに追加する
情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、
前記受付部は、前記指定情報を入力するための入力画面を生成する
情報処理装置。
(18)元データセットを取得し、
ユーザが指定した指定情報を受け付け、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する
ことをコンピュータシステムが実行する情報処理方法。
(19)元データセットを取得するステップと、
ユーザが指定した指定情報を受け付けるステップと、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するステップと
をコンピュータシステムに実行させるプログラム。
13…データベース
14…制御部
15…データ取得部
16…UI生成部
17…データ処理部
18…機械学習部
20…元データセット
21…対象項目
22…入力項目
30…入力データセット
40、50、80…UI画面
44…評価情報
45…対策案
46…推奨案
61…評価期間
62…評価データセット
63…仮想期間
64…学習データセット
64a、64b…部分学習データセット
70…追加データセット
100…情報処理装置
14…制御部
15…データ取得部
16…UI生成部
17…データ処理部
18…機械学習部
20…元データセット
21…対象項目
22…入力項目
30…入力データセット
40、50、80…UI画面
44…評価情報
45…対策案
46…推奨案
61…評価期間
62…評価データセット
63…仮想期間
64…学習データセット
64a、64b…部分学習データセット
70…追加データセット
100…情報処理装置
Claims (19)
- 元データセットを取得するデータ取得部と、
ユーザが指定した指定情報を受け付ける受付部と、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するデータ生成部と
を具備する情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記元データセットは、各々が複数のデータ項目を含む複数のデータサンプルであり、
前記指定情報は、前記学習モデルの処理対象となるデータ項目である対象項目を含み、
前記学習モデルは、前記対象項目に関する予測処理又は推定処理を行う
情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記データ生成部は、前記元データセットを所定の条件に基づいて評価し、当該評価結果に応じた評価情報、又は前記評価結果に対する対策案の少なくとも一方を生成し、
前記受付部は、前記評価情報又は前記対策案の少なくとも一方を提示する
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記受付部は、前記評価結果に対する前記対策案を選択可能に提示し、前記指定情報として前記ユーザによる前記対策案の選択結果を受け付け、
前記データ生成部は、前記選択結果に基づいて前記データセットを生成する
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記データ生成部は、前記評価結果に対する複数の対策案を生成し、前記複数の対策案のうち推奨される推奨案を選択し、
前記受付部は、前記推奨案が判別できるように、前記複数の対策案を提示する
情報処理装置。 - 請求項5に記載の情報処理装置であって、
前記データ生成部は、前記推奨案に基づいて前記データセットを生成し、
前記受付部は、前記データセットの生成処理の開始後、前記複数の対策案のうち前記推奨案とは異なる他の対策案を選択可能に提示する
情報処理装置。 - 請求項5に記載の情報処理装置であって、
前記受付部は、過去の前記選択結果に基づいて、前記推奨案を提示する
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記所定の条件は、前記データサンプルの数、前記データ項目の数、前記データ項目間の関連度、前記データ項目の項目値の欠損率、又は前記対象項目の統計量の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記元データセット全体を評価する
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記所定の条件は、対象となる前記データ項目の項目値のユニーク数、前記項目値の分布、前記項目値における外れ値の有無、前記項目値の欠損率、又は前記項目値の書式の少なくとも1つに関する条件を含み、
前記データ生成部は、前記所定の条件に基づいて前記複数のデータ項目ごとに前記元データセットを評価する
情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記対象項目は、対象事象の時間情報と関連付けられたデータ項目であり、
前記学習モデルは、前記対象事象が評価期間に発生する確率を予測するモデルであり、
前記データ生成部は、前記評価期間の長さの基準となる期間単位に基づいて、前記データセットを生成する
情報処理装置。 - 請求項10に記載の情報処理装置であって、
前記データ生成部は、前記元データセット又は前記ユーザが指定した前記指定情報のいずれか一方に基づいて、前記期間単位を設定する
情報処理装置。 - 請求項10に記載の情報処理装置であって、
前記データセットは、前記学習モデルを学習させるための学習データセットと、前記学習モデルを評価するための評価データセットとを含み、
前記データ生成部は、前記期間単位に基づいて前記評価期間と前記評価期間よりも前の期間である仮想期間とを設定し、前記評価期間を基準として前記評価データセットを生成し、前記仮想期間を基準として前記学習データセットを生成する
情報処理装置。 - 請求項12に記載の情報処理装置であって、
前記データ生成部は、前記評価期間の開始時点で前記評価期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記評価期間での前記対象事象の発生の有無を表すラベルを付与することで前記評価データセットを生成する
情報処理装置。 - 請求項12に記載の情報処理装置であって、
前記データ生成部は、前記仮想期間の開始時点で前記仮想期間に前記対象事象が発生する可能性があった前記データサンプルに対して、前記仮想期間での前記対象事象の発生の有無を表すラベルを付与することで前記学習データセットを生成する
情報処理装置。 - 請求項12に記載の情報処理装置であって、
前記データ生成部は、前記期間単位を基準として前記仮想期間をずらすことで複数の部分学習データセットを生成し、前記複数の部分学習データセットを結合して前記学習データセットを生成する。
情報処理装置。 - 請求項10に記載の情報処理装置であって、
前記データ取得部は、前記対象事象とは異なる他の事象の時間情報を表すデータ項目を有する追加データセットを取得し、
前記データ生成部は、前記他の事象の時間情報に基づいて、前記評価期間よりも前に設定された所定期間において前記他の事象のデータ項目を集計し、当該集計結果を前記データセットに追加する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記受付部は、前記指定情報を入力するための入力画面を生成する
情報処理装置。 - 元データセットを取得し、
ユーザが指定した指定情報を受け付け、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成する
ことをコンピュータシステムが実行する情報処理方法。 - 元データセットを取得するステップと、
ユーザが指定した指定情報を受け付けるステップと、
前記ユーザが指定した前記指定情報に基づいて、前記取得された元データセットから、学習モデルを構築するためのデータセットを生成するステップと
をコンピュータシステムに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021524782A JP7509139B2 (ja) | 2019-06-05 | 2020-05-27 | 情報処理装置、情報処理方法、及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-105508 | 2019-06-05 | ||
JP2019105508 | 2019-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020246325A1 true WO2020246325A1 (ja) | 2020-12-10 |
Family
ID=73652497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/020851 WO2020246325A1 (ja) | 2019-06-05 | 2020-05-27 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7509139B2 (ja) |
WO (1) | WO2020246325A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230122437A1 (en) * | 2021-10-15 | 2023-04-20 | Shuuko KONO | Apparatus, information processing system, and non-transitory recording medium |
WO2024038555A1 (ja) * | 2022-08-18 | 2024-02-22 | 日本電気株式会社 | システム、装置、方法、及び非一時的なコンピュータ可読媒体 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018139085A (ja) * | 2017-02-24 | 2018-09-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 異常予測方法、異常予測装置、異常予測システムおよび異常予測プログラム |
US20190095801A1 (en) * | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Cognitive recommendations for data preparation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10558924B2 (en) | 2014-05-23 | 2020-02-11 | DataRobot, Inc. | Systems for second-order predictive data analytics, and related methods and apparatus |
US20210117828A1 (en) | 2018-06-27 | 2021-04-22 | Sony Corporation | Information processing apparatus, information processing method, and program |
-
2020
- 2020-05-27 JP JP2021524782A patent/JP7509139B2/ja active Active
- 2020-05-27 WO PCT/JP2020/020851 patent/WO2020246325A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018139085A (ja) * | 2017-02-24 | 2018-09-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 異常予測方法、異常予測装置、異常予測システムおよび異常予測プログラム |
US20190095801A1 (en) * | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Cognitive recommendations for data preparation |
Non-Patent Citations (1)
Title |
---|
"learning of pretreatment- 29] Learn data, -Join- 4", HATENA BLOG MACHINE LEARNING FOR PIMIENTITO, 2 May 2019 (2019-05-02), Retrieved from the Internet <URL:https://pimientito-handson-ml.hatenablog.com/entry/2019/05/02/023559#%E3%83%86%E3%82%B9%E3%83%88%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%AD%A6%E7%BF%92> [retrieved on 20200811] * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230122437A1 (en) * | 2021-10-15 | 2023-04-20 | Shuuko KONO | Apparatus, information processing system, and non-transitory recording medium |
US11991319B2 (en) * | 2021-10-15 | 2024-05-21 | Ricoh Company, Ltd. | Apparatus, information processing system, and non-transitory recording medium |
WO2024038555A1 (ja) * | 2022-08-18 | 2024-02-22 | 日本電気株式会社 | システム、装置、方法、及び非一時的なコンピュータ可読媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP7509139B2 (ja) | 2024-07-02 |
JPWO2020246325A1 (ja) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200326823A1 (en) | Presentation and analysis of user interaction data | |
Dirick et al. | Time to default in credit scoring using survival analysis: a benchmark study | |
US8689108B1 (en) | Presentation and analysis of user interaction data | |
US10775968B2 (en) | Systems and methods for analyzing visual content items | |
JP2022503842A (ja) | メトリックのデータ駆動型相関のための技術 | |
US20070233680A1 (en) | Auto-generating reports based on metadata | |
US20220253875A1 (en) | Method and system for adjustable automated forecasts | |
WO2020246325A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP7401619B2 (ja) | 会話業務ツール | |
US20180225583A1 (en) | Proactive user experience | |
US11886529B2 (en) | Systems and methods for diagnosing quality issues in websites | |
WO2020004049A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US12112363B2 (en) | Property data aggregation and evaluation tool | |
US11748662B2 (en) | Contextual modeling using application metadata | |
AU2024204496A1 (en) | Electronic voting assistant | |
US20230114826A1 (en) | Ai platform with customizable content analysis control panel and methods for use therewith | |
US11176496B2 (en) | Future prediction simulation apparatus, method, and computer program | |
JP4129127B2 (ja) | 推奨情報送信システム | |
US20220351633A1 (en) | Learner engagement engine | |
JP2021196981A (ja) | 教育コンテンツ作成システム及び方法 | |
CN111967801A (zh) | 交易风险的预测方法及装置 | |
US20150262204A1 (en) | Sales and fundraising computer management system with staged display. | |
US10755355B1 (en) | Collaboration and dynamic planning systems and methods | |
CN107423996A (zh) | 市场模拟器及网络化市场模拟器系统 | |
WO2024192613A1 (zh) | 页面生成方法、页面模板的生成方法、以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20819090 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021524782 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20819090 Country of ref document: EP Kind code of ref document: A1 |