CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims foreign priority based on Japanese Patent Application No. 2019-023868, filed Feb. 13, 2019, the contents of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a data analyzing device and a data analyzing method.

2. Description of Related Art

A technique for trying to acquire a useful unknown knowledge from a large volume of information, generally called “data mining”, is conventionally known. A typical method of data mining involves a pre-processing step, a feature extracting step, a model learning step, and a post-processing step that are sequentially executed. In the pre-processing step, operations such as collecting data necessary for analysis, and removing unnecessary noise from the data and filling a missing item to improve the efficiency of the analysis are performed. These operations are collectively referred as “ETL (extract, transform, and load)”. In the feature extracting step, a feature that exists in the original data is manipulated to generate a new feature more useful for the analysis. In the model learning step, data that is prepared in the pre-processing step and the feature extracting step is input to a machine learning algorithm to obtain an analysis result. In the post-processing step, the analysis result obtained in the model learning step is subjected to a process such as outputting it to an external device or generating a report based thereon.

To design an optimal feature, trial and error by an experienced analyst is necessary, resulting in taking a long time to analyze data. In response to this situation, a technique is disclosed in, for example, “A Randomized Exhaustive Propositionalization Approach for Molecule Classification” (INFORMS Journal on Computing, Vol. 23, No. 3 Published Aug. 31, 2010). This known technique performs automatic generation of a new feature from data.

The technique disclosed in such a literature involves comprehensively applying a preliminarily defined series of arithmetic operators, such as a plus (+) operator, a minus (−) operator, a multiplication (×) operator, and a division (+) operator, to an original feature, thereby automatically generating a large amount of new features.

When performing data analysis using a prediction model, it is necessary to specify an objective variable. The objective variable includes, for example, “average unit purchase price per customer”, “weekly sales at each store”, “presence/absence of repeat purchase per customer”, etc., and the objective variable is selected from attributes in the data of an analysis target according to a target that an analyst wants to analyze.

However, as mentioned above, the objective variable is usually an aggregation value such as an average aggregation value and a sum aggregation value, and these aggregation values are usually not included in the attributes of tables held in a general relational database. For this reason, even though it is possible to automatically generate new feature values as in the aforementioned document, the analyst has to generate the objective variable by himself/herself.

In addition, when the objective variable is not included in the attributes, it is necessary to calculate in advance the aggregation value using advanced programming such as SQL, and it is difficult for those who are unskilled in data processing to conduct an analysis freely.

SUMMARY OF THE INVENTION

The invention has been made in view of the above problems, and an object of the invention is to make it possible to automatically generate an objective variable so that even those who are unskilled in data processing can freely conduct an analysis.

In order to achieve the object, in a first invention, a data analyzing device for analyzing analysis target data includes a data input unit which receives an input of analysis target data including a plurality of attributes, a type recognizing unit which recognizes whether a type of an attribute value of each attribute of the analysis target data input to the data input unit is a numeric type indicating that it is a numeric value or a category type indicating that it is a category, an objective variable candidate generating unit which sets at least one attribute that is a numeric type recognized by the type recognizing unit as an attribute of an aggregation target, sets at least one attribute that is a category type recognized by the type recognizing unit as an attribute of an aggregation unit, and aggregates, for each category value of the attribute of the aggregation unit, a numeric value of the attribute of the aggregation target based on a previously prepared aggregation function to generate a new objective variable candidate, a display unit which displays the new objective variable candidate generated by the objective variable candidate generating unit, a selection receiving unit which receives a selection of an objective variable by a user from among objective variable candidates displayed by the display unit, and an analyzing unit which generates a prediction model for predicting the objective variable selected by the selection receiving unit.

According to this configuration, when the analysis target data including a plurality of attributes is input, it is recognized by the type recognizing unit whether the type of the attribute value of each attribute is a numeric type or a category type. At least one attribute that is a numeric type is set as an attribute of the aggregation target, at least one attribute that is a category type is set as an attribute of the aggregation unit, and for each category value of the attribute of the aggregation unit, the numeric value of the attribute of the aggregation target is aggregated based on a previously prepared aggregation function to automatically generate a new objective variable candidate. The generated new objective variable candidate is displayed by the display unit, and thus the user can grasp the objective variable candidate. When the user selects an objective variable, a prediction model for predicting the selected objective variable is generated. As a result, the desired objective variable is predicted by the prediction model without using advanced programming such as SQL. Therefore, even users who are unskilled in data processing can freely conduct an analysis.

In a second invention, the display unit is configured to be capable of displaying an original attribute of the analysis target data input to the data input unit and a new objective variable candidate generated by the objective variable candidate generating unit, and the selection receiving unit is configured to receive a selection of an objective variable by a user from the original attribute and the new objective variable candidate displayed by the display unit.

According to this configuration, the user of the data analyzing device can select not only from the newly generated objective variable candidate but also from the original attribute included in the analysis target data input to the data input unit as the objective variable.

In a third invention, the display unit is configured to be capable of displaying a value obtained by converting an attribute value of an original attribute of the analysis target data input to the data input unit into a flag, and the selection receiving unit is configured to receive a selection of an objective variable by a user from the original attribute, the new objective variable candidate, and the value converted into the flag displayed by the display unit.

That is, for example, by applying a predetermined conditional expression to the original attribute, it is possible to convert into binary information, and by this conversion, it is possible to obtain a value obtained by converting the attribute value of the original attribute of the analysis target data into a flag. In the invention, it is possible to receive the selection of an objective variable by the user even from among the values converted into flags.

In a fourth invention, the objective variable candidate generating unit is configured to set at least one attribute that is a numeric type recognized by the type recognizing unit as an attribute of an aggregation target, set at least one attribute that is a numeric type recognized by the type recognizing unit as an attribute of an aggregation unit, and aggregate, for each numeric value of the attribute of the aggregation unit, a numeric value of the attribute of the aggregation target based on a previously prepared aggregation function to generate a new objective variable candidate.

According to this configuration, it is possible to automatically generate not only an objective variable candidate where the attribute of the aggregation target is a numeric type and the attribute of the aggregation unit is a category type, but also an objective variable candidate where the attribute of the aggregation target is a numeric type and the attribute of the aggregation unit is also a numeric type.

In a fifth invention, the objective variable candidate generating unit is configured to automatically generate a predetermined period as an aggregation condition when the analysis target data input to the data input unit includes a date type attribute.

According to this configuration, when the analysis target data includes a date type attribute, a predetermined period such as the latest one month and the latest one week is automatically generated as an aggregation condition. The date type is, for example, year-month-date, time, etc.

In a sixth invention, the data analyzing device includes a score calculating unit which calculates a score representing usefulness of an objective variable candidate, and the display unit is configured to be capable of displaying an objective variable candidate having a score calculated by the score calculating unit equal to or greater than a predetermined value.

According to this configuration, when a large number of objective variable candidates are generated, it is possible to only display objective variable candidates with high usefulness to the user on the display unit. Therefore, the user can easily select objective variables. It is also possible to display objective variable candidates having a score equal to or greater than a predetermined value in a ranking format from the highest. In addition, the displayable number of objective variable candidates having a score equal to or greater than a predetermined value may be limited to, for example, 5 or 10.

In a seventh invention, the score calculating unit is configured to calculate a score based on the number of lines of the generated objective variable.

That is, for example, when the analysis target data includes gender, only two lines of “male” and “female” of objective variables will be generated for gender. When the number of lines of the objective variables is small, it is not possible to perform an accurate analysis. Therefore, in such a case, the score representing the usefulness of the objective variable candidate is lowered. On the other hand, since it is considered that an accurate analysis becomes possible when the number of lines of the objective variables is large, the score representing the usefulness of the objective variable candidate is made to be high. In a word, the score can be changed according to the number of lines of the objective variables.

In an eighth invention, the score calculating unit is configured to calculate a score based on a variance of the generated objective variables.

That is, as in a case where the variance of the objective variables is 0, for example, when the values of the objective variables are all the same, there is no difference among the objective variables and it is not possible to perform a meaningful analysis. In such a case, the score representing the usefulness of the objective variable candidate is lowered. On the other hand, when the variance of the objective variables is large, it means that there is a difference in the values of the objective variables, which makes it possible to perform a meaningful analysis. In this case, the score representing the usefulness of the objective variable candidate is made to be high. In a word, the score can be changed according to the variance of the objective variables.

In a ninth invention, the objective variable candidate generating unit is configured to delete, after the generation of objective variable candidates, an objective variable candidate that meets a predetermined condition.

According to this configuration, for example, when it is known that there is always only one type of aggregation target with respect to an aggregation unit, it is not possible to perform a meaningful analysis, and thus an objective variable candidate that meets this condition can be deleted.

In a tenth invention, the data analyzing device includes a feature value automatic generating unit which automatically generates a new feature value by applying a predetermined function to attributes excluding at least a part of attribute values of attributes of the aggregation target used by the objective variable candidate generating unit when generating an objective variable selected by the selection receiving unit.

According to this configuration, when the user selects an objective variable, a new feature value is automatically generated. In this case, a predetermined function is applied to attributes excluding at least a part of attribute values of attributes of the aggregation target used when generating an objective variable, and thus a situation in which the information of the objective variable is unintentionally leaked to the feature value is avoided. Therefore, leaks can be automatically prevented even for those who are not skilled in machine learning.

In an eleventh invention, the data analyzing device includes a feature value automatic generating unit which automatically generates a new feature value by applying a predetermined function to the original attribute or a combination of a plurality of attributes included in the analysis target data, and excludes from the generated feature values the feature value including information of at least a part of attribute values of attributes of the aggregation target used for the objective variable selected by the selection receiving unit to generate a final feature value.

According to this configuration, when the user selects an objective variable, a new feature value is automatically generated. In this case, a feature value including the information of at least a part of attribute values of attributes of the aggregation target used for the objective variable is excluded to obtain the final feature value, and thus a situation in which the information of the objective variable is unintentionally leaked to the feature value is avoided. Therefore, leaks can be automatically prevented even for those who are not skilled in machine learning.

In a twelfth invention, the data analyzing device includes a keyword input unit which receives an input of keyword information from a user, and the display unit is configured to be capable of displaying an objective variable candidate related to the keyword information input by the user via the keyword input unit.

According to this configuration, when the user inputs keyword information, an objective variable candidate related to the keyword information is displayed on the display unit, and thus the selection of the objective variable candidate can be easily performed.

In a thirteenth invention, the data analyzing device includes an attribute selecting unit which receives a selection input from a user regarding an attribute of an aggregation target or an aggregation unit, and the display unit is configured to display an objective variable candidate generated by using an attribute input by the user via the attribute selecting unit as an aggregation target or an aggregation unit.

According to this configuration, when the user performs an input regarding an attribute of an aggregation target or an aggregation unit, an objective variable candidate generated using the input attribute as the aggregation target or the aggregation unit is displayed by the display unit, and thus the selection of the objective variable candidate can be easily performed.

Either of the generation of the objective variable candidate by the objective variable candidate generating unit and the reception of the input from the user regarding the attribute of the aggregation target or the aggregation unit may be first. When the input from the user regarding the attribute of the aggregation target or the aggregation unit is received after the generation of the objective variable candidate by the objective variable candidate generating unit, it is possible to extract from the generated objective variable candidates the objective variable candidate generated using the attribute input by the user as the aggregation target or the aggregation unit to display on the display unit. When the input from the user regarding the attribute of the aggregation target or the aggregation unit is received before the generation of the objective variable candidate by the objective variable candidate generating unit, it is only necessary that the objective variable candidate generating unit generates an objective variable candidate using the attribute input by the user as the aggregation target or the aggregation unit and the generated objective variable candidate is displayed on the display unit.

In a fourteenth invention, a data analyzing method for analyzing analysis target data includes: receiving an input of analysis target data including a plurality of attributes, recognizing whether a type of an attribute value of each attribute of the analysis target data input is a numeric type indicating that it is a numeric value or a category type indicating that it is a category, generating a new objective variable candidate by setting at least one attribute that is a numeric type recognized as an attribute of an aggregation target, setting at least one attribute that is a category type recognized as an attribute of an aggregation unit, and aggregating, for each category value of the attribute of the aggregation unit, a numeric value of the attribute of the aggregation target based on a previously prepared aggregation function, displaying the new objective variable candidate generated, receiving a selection of an objective variable by a user from among objective variable candidates displayed, and generating a prediction model for predicting the objective variable selected.

According to the invention, it is possible to set at least one attribute that is a numeric type as an attribute of an aggregation target, set at least one attribute that is a category type as an attribute of an aggregation unit, and aggregate, for each category value of the attribute of the aggregation unit, a numeric value of the attribute of the aggregation target based on a previously prepared aggregation function to automatically generate and display a new objective variable candidate. Further, it is possible to receive a selection of an objective variable by a user from among the displayed objective variable candidates and to automatically generate a prediction model for predicting the selected objective variable, and thus even those who are unskilled in data processing can conduct an analysis freely.

