Machine learning feature recommendation
The method automates feature selection in machine learning models, enabling users to create accurate models with minimal expertise, reducing resource usage and improving predictive accuracy.
Patent Information
- Application Number
- JP2023502919
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-05-25
- Filing Date
- 2021-07-09
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2041-07-09
AI Technical Summary
Creating accurate machine learning models requires significant effort and subject matter expertise, making it challenging for users without deep understanding of the dataset to select features that improve model accuracy.
A method for automatically recommending machine learning features using a series of evaluations to filter out useless features and identify useful ones, allowing users with minimal expertise to generate accurate models.
Enables users to create highly accurate machine learning models with reduced resource consumption by selecting relevant features, even without extensive knowledge of the input data set.
Smart Images

Figure 0007618294000001 
Figure 0007618294000002 
Figure 0007618294000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO OTHER APPLICATIONS This application is a continuation-in-part of pending U.S. patent application Ser. No. 16 / 931,906, entitled “MACHINE LEARNING FEATURE RECOMMENDATION,” filed Jul. 17, 2020, which is incorporated herein by reference for all purposes. [Background technology]
[0002] The use of automatic classification using machine learning can significantly reduce manual effort and errors compared to manual classification. One method of performing automatic classification includes using machine learning to predict categories for input data. For example, using machine learning, incoming tasks, incidents, and cases can be automatically categorized and routed to assigned parties. Generally, automatic classification using machine learning requires training data that includes past experience. Once trained, the machine learning model can be applied to new data to infer classification results. For example, newly reported incidents can be automatically categorized, assigned, and routed to personnel. However, creating an accurate machine learning model can be a difficult and time-consuming task that requires a significant investment and typically requires subject matter expertise. For example, selecting input features that result in an accurate model typically requires a deep understanding of the dataset and how the features affect the predicted outcome. [Brief description of the drawings]
[0003] Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
[0004] [Figure 1] FIG. 1 is a block diagram illustrating an example of a network environment for creating and utilizing machine learning models.
[0005] [Diagram 2]1 is a flow chart illustrating an embodiment of a process for generating a machine learning solution.
[0006] [Diagram 3] 1 is a flow chart illustrating one embodiment of a process for automatically identifying recommended features for a machine learning model.
[0007] [Figure 4] 1 is a flow chart illustrating one embodiment of a process for automatically identifying recommended features for a machine learning model.
[0008] [Diagram 5] 1 is a flow chart illustrating one embodiment of an evaluation process for automatically identifying recommended features for a machine learning model.
[0009] [Figure 6] 1 is a flow chart illustrating an embodiment of a process for creating an offline model for determining a performance metric for a feature.
[0010] [Figure 7] 1 is a flow chart illustrating one embodiment of a process for automatically identifying and evaluating text fields as potential features for a machine learning model.
[0011] [Figure 8] 1 is a flow chart illustrating one embodiment of a process for evaluating suitability of a text field as a feature for a machine learning model to predict a desired target field.
[0012] [Figure 9] 1 is a flow chart illustrating one embodiment of a process for preparing input text field data for determining an impact score.
[0013] [Figure 10]1 is a flow diagram illustrating an embodiment of a process for determining a performance metric for text field features. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] The present invention can be implemented in many aspects, including processes, apparatus, systems, compositions, computer program products embodied on a computer-readable storage medium, and / or processors configured to execute instructions stored on and / or provided by a memory coupled to the processor. In this specification, these embodiments, or any other form the present invention may take, may be referred to as techniques. In general, the order of steps of a disclosed process may be changed within the scope of the present invention. Unless otherwise stated, a component such as a processor or memory described as being configured to perform a task may be implemented as a general-purpose component temporarily configured to perform that task at a given time, or as a specific component manufactured to perform that task. As used herein, the term "processor" refers to one or more devices, circuits, and / or processing cores configured to process data, such as computer program instructions.
[0015] A detailed description of one or more embodiments of the present invention is provided below, along with the accompanying drawings illustrating the principles of the present invention. Although the present invention is described in relation to such embodiments, the present invention is not limited to any embodiment. The scope of the present invention is limited only by the claims, and the present invention encompasses many alternatives, modifications, and equivalents. Many specific details are set forth in the following description to provide a thorough understanding of the present invention. These details are provided for illustrative purposes, and the present invention may be practiced according to the claims without some or all of these specific details. For purposes of clarity, technical materials known in the art related to the present invention have not been described in detail so as not to unnecessarily obscure the present invention.
[0016] Techniques for selecting machine learning features are disclosed. When building a machine learning model, feature selection can have a significant impact on the accuracy and usefulness of the model. However, properly selecting features that improve the accuracy of the model without subject matter expertise and a deep understanding of the machine learning problem can be a challenge. Using the disclosed techniques, machine learning features that result in significant improvements in the predictive accuracy of the machine learning model can be automatically recommended and selected. Furthermore, little or no subject matter expertise is required. For example, a user with minimal understanding of the input dataset can successfully generate a machine learning model that can accurately predict classification outcomes. In some embodiments, a user can utilize the machine learning platform via a software service, such as a software-as-a-service web application.
[0017] In various embodiments, a user provides an input dataset to the machine learning platform, such as by identifying one or more database tables. The provided dataset includes a plurality of qualified features. The qualified features may include features that are useful in accurately predicting machine learning outcomes and features that are useless or have a small impact on accurately predicting machine learning outcomes. Accurately identifying the useful features may result in a highly accurate model and improve resource usage and performance. For example, training a model with useless features may be a significant resource drain that may be avoided by accurately identifying and ignoring the useless features. In various embodiments, a user specifies a desired target field for prediction, and a machine learning platform using the disclosed technology may generate a set of recommended machine learning features from the provided input dataset for use in building a machine learning model. In some embodiments, the recommended machine learning features are determined by applying a series of ratings to the qualified features to filter the useless features and identify the helpful features. After the set of recommended features is determined, it may be presented to the user. For example, in some embodiments, the features are ranked in order of improvement to the prediction outcome. In some embodiments, the machine learning model is trained with features selected by a user based on the recommended features, for example, the model may be automatically trained with recommended features that are automatically identified and ranked in order of improvement to the prediction outcome.
[0018] In some embodiments, a designation of a desired target field for machine learning prediction and one or more tables for storing machine learning training data are received. For example, a customer of a software-as-a-service platform specifies one or more customer database tables. The tables may include data from past experience such as categorized incoming tasks, incidents, and cases. For example, the classification may include categorizing the type of task, incident, or case and assigning an appropriate person to resolve the issue. In some embodiments, the machine learning data is stored in other suitable data structures other than a database. In various embodiments, the desired target field is a classification result, which may be a column in one of the received tables. Because the data in the received database table is not necessarily prepared as training data, the data may include both useful and useless fields for predicting a classification result. In some embodiments, eligible machine learning features are identified in one or more tables for building a machine learning model to perform predictions on the desired target field. For example, from the database data, fields are identified as possible or eligible features for training a machine learning model. In some embodiments, the eligible features are based on columns of the table. The qualified machine learning features are evaluated using a pipeline of different evaluations to sequentially filter out one or more of the qualified machine learning features and identify a set of recommended machine learning features among the qualified machine learning features. By sequentially filtering out features from the qualified features, features with less impact on the model prediction accuracy are selected. The remaining features are the recommended features that have predictive value. Each step of the filtering pipeline identifies additional features that are not useful (and features that could be useful). For example, in some embodiments, one filtering step removes features for which the feature data is unnecessary or out of range.Features that are sparsely registered in the respective database tables or features where all of the values of the feature are identical (e.g., constant) may be filtered out. In some embodiments, non-nominal columns are filtered out. In some embodiments, the filtering step calculates an impact score for each eligible feature. Features with an impact score below a certain threshold may be removed from the recommendations. In some embodiments, a performance metric is evaluated for each eligible feature. For example, the increase in the area under the precision-recall curve (AUPRC) of the model may be evaluated for a particular feature. In some embodiments, a model is trained offline to convert the impact score into a performance metric by evaluating feature selections on a large cross-section of machine learning problems. The model may then be applied to a particular customer's machine learning problem to determine a performance metric that may be used to rank the eligible features. Once identified, a set of recommended machine learning features is provided for use in building a machine learning model. For example, a customer may select a machine learning model from the recommended features and request that the machine learning model be trained with the provided data and the selected features. The model may then be integrated into the customer's workflow to predict the desired target field. For example, features can be automatically recommended (and selected) for a machine learning model that can be used to infer a target field, with little or no subject matter expertise in both the dataset and machine learning.
[0019] In some embodiments, the qualified features include data that is text input data. For example, the text input data may be text input having variable and / or arbitrary length, such as user input collected from an input text field, an email subject or body, a chat dialogue, etc. In various embodiments, one or more columns of possible other identified table data may include text input as a possible feature for predicting a desired target field. For example, a user specifies a desired target field and a database table. The input text fields included in the table are evaluated as qualified features to determine a performance metric corresponding to how well each input text field predicts the desired target field. In some embodiments, the evaluated fields provided by the user are ranked and the text input field is included among the ranked qualified fields. As with other qualified features, the text input field is evaluated to determine an impact score for the feature. In some embodiments, the impact score may be calculated as a relief score. For example, in some embodiments, the relief score is a weighted normalized relief score. Multiple weighted normalized relief scores can be calculated for the same eligible feature and the averaged impact score may be used.
[0020] In some embodiments, the determined impact score is used to predict a performance metric. The performance metric prediction may be determined by applying an offline trained machine learning model. For example, using the relief score and the text field density score, the machine learning model can predict a performance metric for the text input field. In some embodiments, the performance metric is based on the expected increase in the area under the precision-recall curve (AUPRC) of the model. The applied model converts the impact score into a performance metric by evaluating feature selections for a large cross-section of machine learning problems. This training of the model may be performed offline before evaluating the eligible features. By utilizing the offline trained model, the performance metric for the eligible features may be quickly determined using the determined impact score of the features. In various embodiments, at least one input to the trained model is the impact score of the text input field, although additional inputs such as the text field density of the field may also be appropriate to improve the accuracy of the performance metric prediction. In various embodiments, the predicted performance metric may be used to rank and recommend eligible features of a user provided dataset.
[0021] In some embodiments, a pre-trained model is generated to predict a measure of expected model performance based at least in part on feature relevance scores associated with the text field data type. For example, the model may be trained offline by evaluating feature selections for a large cross-section of machine learning problems. In particular, the model is trained to predict a performance score or metric for features having a text field data type. Using feature relevance scores, such as impact scores, the model can predict expected model performance for eligible features. For example, performance may be provided in terms of the feature's expected improvement in the model's Area Under the Precision-Recall Curve (AUPRC). In some embodiments, a designation of a desired target field for machine learning prediction and one or more text fields for storing input content are received. For example, a user designates a desired target field, such as a field from a customer database table. The user also designates additional fields, such as one or more text fields from the same or other database tables. The additional fields are eligible features that may be useful for predicting outcomes for the desired target field. The eligible features may be designated by the user for evaluation to determine which of the eligible features should be recommended for predicting the desired target field. In some embodiments, a corresponding feature relevance score is calculated for each of the one or more text fields storing the input. For example, an impact score is calculated for each eligible text field feature. The impact score may be a relief score, such as a normalized weighted average relief score. In some embodiments, a corresponding measure of expected model performance for each of the one or more text fields storing the input is predicted using the pre-trained model based on the corresponding calculated feature relevance scores.For example, using the pre-trained model, an expected model performance is inferred for each of one or more text field features using the calculated impact / relevance scores. In some embodiments, the expected model performance is a performance metric such as an expected improvement in the area under the precision-recall curve (AUPRC) of the model. A predicted measure of expected model performance is provided for use in feature selection among one or more text fields storing input content to generate a machine learning model for predicting the desired target field. For example, the predicted performance metric may be used to recommend which text field features should be utilized to create a machine learning model for predicting the desired target field. In some embodiments, the text field features may be ranked by the performance metric, and features that meet a performance threshold may be recommended. A user may select from the recommended text field features among other eligible ranked non-text field features to generate a machine learning model for predicting the desired target field.
[0022] FIG. 1 is a block diagram illustrating an example of a network environment for creating and utilizing machine learning models. In the illustrated example, clients 101, 103, and 105 access services on server 121 via network 111. The services include prediction services that utilize machine learning. For example, the services may include both the ability to generate machine learning models using recommended features and services for applying the generated models to predict outcomes, such as classification outcomes. Network 111 may be a public or private network. In some embodiments, network 111 is a public network, such as the Internet. In various embodiments, clients 101, 103, and 105 are network clients, such as web browsers, for accessing services provided by server 121. In some embodiments, server 121 provides services including web applications for utilizing a machine learning platform. Server 121 may provide one or more servers, including a server for identifying recommended features for training machine learning models. Server 121 may utilize database 123 for providing certain services and / or for storing data associated with users. For example, database 123 may be a configuration management database (CMDB) used by server 121 to provide customer service and store customer data. In some embodiments, database 123 stores customer data related to tasks, incidents, cases, and the like. Database 123 may also be used to store information related to feature selection for training machine learning models. In some embodiments, database 123 may store customer configuration information related to managed assets, such as associated hardware and / or software configurations.
[0023] In some embodiments, each of clients 101, 103, and 105 may access server 121 to create a customer machine learning model. For example, clients 101, 103, and 105 may represent one or more different customers each desiring to create a machine learning model that can be applied to predict outcomes. In some embodiments, server 121 provides clients, such as clients 101, 103, and 105, with interactive tools to select and / or confirm feature selections for training the machine learning model. For example, a customer of a software-as-a-service platform, via a client, such as clients 101, 103, and 105, provides relevant training data, such as customer data, to server 121 as training data. The provided customer data may be data stored in one or more tables of database 123. Along with the provided training data, the customer selects a desired target field, such as one of the table columns of the provided table. Using the provided data and the desired target field, server 121 recommends a set of features that predict the desired target field with a high degree of accuracy. A customer can select a subset of recommended features from which to train a machine learning model. In some embodiments, the model is trained using the provided customer data. In some embodiments, as part of the feature selection process, the customer is provided with a performance metric for each recommended feature. The performance metric provides the customer with a quantified value for how much a particular feature improves the predictive accuracy of the model. In some embodiments, the recommended features are ranked based on their impact on predictive accuracy.
[0024] In some embodiments, the trained machine learning model is incorporated into an application for inferring a desired target field. For example, the application may receive incoming reports of support incident events and predict categories for the incidents and / or assign the reported incident events to personnel. The support incident application may be hosted by server 121 and accessed by clients, such as clients 101, 103, and 105. In some embodiments, each of clients 101, 103, and 105 may be a network client running on one of many different computing devices, including laptops, desktops, mobile devices, tablets, kiosks, smart TVs, and the like.
[0025] Although single instances of some components are shown to simplify the diagram, there may be additional instances of any component shown in FIG. 1. For example, server 121 may include one or more servers. Some of the servers of server 121 may be web application servers, training servers, and / or interference servers. As shown in FIG. 1, the servers are simplified as a single server 121. Similarly, database 123 may not be directly connected to server 121, may be multiple databases, and / or may be replicated or distributed across multiple components. For example, database 123 may include one or more different servers for each customer. As another example, clients 101, 103, and 105 are just a few examples of possible clients for server 121. Fewer or more clients may be connected to server 121. In some embodiments, components not shown in FIG. 1 may also be present.
[0026] FIG. 2 is a flow chart illustrating one embodiment of a process for creating a machine learning solution. For example, using the process of FIG. 2, a user may request a machine learning solution to a problem. The user may identify a desired target field for prediction and provide a reference to data that may be used as training data. The provided data is analyzed and input features are recommended for training a machine learning model. The recommended features may be provided to the user and a machine learning model may be trained based on the features selected by the user. The trained model is incorporated into the machine learning solution to predict the user's desired target field. In some embodiments, the machine learning platform for creating the machine learning solution is hosted as a software-as-a-service web application. In some embodiments, a user requests a solution via a client, such as clients 101, 103, and / or 105 of FIG. 1. In some embodiments, the machine learning platform including the created machine learning solution is hosted on server 121 of FIG. 1.
[0027] At 201, a machine learning solution is requested. For example, a customer may want to use the machine learning solution to automatically predict assignees for incoming support incident incident reports. In some embodiments, a user requests the machine learning solution via a web application. When requesting a solution, the user may specify target fields the user would like predicted and provide related training data. In some embodiments, the training data provided is historical customer data. The customer data may be stored in a customer database. In some embodiments, the user provides one or more database tables as training data. The database tables may also include the desired target fields. In some embodiments, the user specifies multiple target fields. If predictions for multiple fields are desired, the user may specify multiple fields together and / or request multiple different machine learning solutions. In some embodiments, the user also specifies other properties of the machine learning solution, such as the processing language, stop words, filters for the provided data, and the name and description of the desired model, among others.
[0028] At 203, recommended input features are determined. For example, a set of eligible machine learning features based on the requested machine learning solution is determined. From the eligible features, a set of recommended features is identified. In some embodiments, the recommended features are identified by evaluating the eligible machine learning features using different evaluation pipelines. At each stage of the pipeline, one or more of the eligible machine learning features may be sequentially filtered out. At the end of the pipeline, a set of recommended features is identified. In some embodiments, identifying the recommended features includes determining one or more metrics associated with the features, such as an impact score or a performance metric. For example, an offline trained model may be applied to each feature to determine a performance metric that quantifies how much the feature increases the area under the precision-recall curve (AUPRC) of a model trained with the feature. In some embodiments, an appropriate threshold may be utilized for each metric to determine whether the feature is recommended for use during training.
[0029] In some embodiments, the qualified machine learning features are based on input data provided by a user. For example, in some embodiments, a user provides one or more database tables or other suitable data structures as training data. If a database table is provided, the qualified machine learning features may be based on columns of the table. In some embodiments, the data type of each column is determined, and columns having a nominal data type are identified as qualified features. In some embodiments, data from a particular column may be eliminated if the column data is unlikely to be useful for prediction. For example, columns may be removed based on how sparsely registered the data is, the occurrence of stop words, the relative distribution of different values for the column, etc.
[0030] At 205, features are selected based on the recommended input features. For example, using an interactive user interface, a set of recommended machine learning features for use in building the machine learning model is presented to the user. In some embodiments, the exemplary user interface is implemented as a web application or web service. The user can select from the displayed recommended features to determine a set of features to use to train the machine learning model. In some embodiments, the recommended input features determined at 203 are automatically selected as default features for training. No user input may be required to select the recommended input features. In some embodiments, the recommended input features may be presented in a ranked order based on how each affects the predictive accuracy of the model. For example, the most relevant input features are ranked first. In various embodiments, the recommended features are displayed with an impact score and / or a performance metric. For example, the impact score may measure how much impact the feature has on the model accuracy. The performance metric may quantify how much the model improves if the feature is used for training. For example, in some embodiments, the displayed performance metric is based on the increase in the area under the precision-recall curve (AUPRC) of the machine learning model when the feature is used. Other performance metrics may be used as appropriate. By ranking and quantifying different features, a user with little or no subject matter expertise can easily select appropriate input features to train a highly accurate model.
[0031] At 207, a machine learning model is trained using the selected features. For example, using the features selected at 205, a training dataset is prepared and used to train the machine learning model. The model predicts the desired target field specified at 201. In some embodiments, the training data is based on the customer data received at 201. Data that is not useful for training is removed from the customer data, such as data from table columns that correspond to features not selected at 205. For example, data corresponding to columns associated with features identified as having little or no impact on the accuracy of the prediction is excluded from the dataset used to train the machine learning model.
[0032] At 209, the machine learning solution is hosted. For example, an application server and machine learning platform hosts a service for applying the trained machine learning model to input data. For example, a web service applies the trained model to automatically categorize incoming incident reports. Categorization may include identifying the type of incident and the assignee. Once classified, the hosted solution can assign and route the incident to the predicted assignee. In some embodiments, the hosted application is a customer machine learning solution for a customer of the software-as-a-service platform. In some embodiments, the solution is hosted on server 121 of FIG. 1.
[0033] FIG. 3 is a flow chart illustrating one embodiment of a process for automatically identifying recommended features for a machine learning model. Using the process of FIG. 3, a user can automate the creation of a machine learning model by utilizing recommended features identified from potential training data. The user specifies a desired target field and provides potential training data. The machine learning platform identifies recommended fields for creating a machine learning model from the provided data to predict the desired target field. In some embodiments, the process of FIG. 3 is performed at 201 of FIG. 2. In some embodiments, the process of FIG. 3 is performed on a machine learning platform at server 121 of FIG. 1.
[0034] At 301, model creation is initiated. For example, a customer initiates the creation of a machine learning model via a web service application. In some embodiments, the customer initiates model creation by accessing a model creation webpage via a software-as-a-service platform for creating automated workflows. The service may be part of a larger machine learning platform that allows users to incorporate trained models to predict outcomes. In some embodiments, the predicted outcomes may be used to automate workflow processes, such as forwarding an incident report to an assigned party once the appropriate party is automatically predicted using the trained model.
[0035] At 303, training data is identified. For example, a user designates data as possible training data. In some embodiments, the user indicates one or more database tables from a customer database or other suitable data structure that store the possible training data. The data may be historical customer data. For example, the historical customer data may include incoming incident reports and their assigned personnel stored in one or more database tables. In some embodiments, the identified training data may include a large number of possible input features and may not be properly prepared as high quality training data. For example, a particular column of data may be sparsely populated or contain only the same constant values. As another example, the data type of a column may be improperly configured. For example, nominal or numeric data values may be stored as text in the identified database table. In various embodiments, the identified training data needs to be cleaned before it can be effectively used as training data. For example, data from one or more columns that have little or no impact on the model prediction accuracy is removed.
[0036] At 305, a desired target field is selected. For example, a user specifies a desired target field for machine learning prediction. In some embodiments, the user selects a column field from the data identified at 303. For example, the user may select a categorical type for incident reports to indicate the user's desire to create a machine learning model to predict the categorical type of incoming incident reports. In some embodiments, the user may select from possible input features of the training data provided at 303. In some embodiments, the user selects multiple desired target fields to be predicted together.
[0037] At 307, model configuration is complete. For example, the user may provide additional configuration options such as a name and description for the model. In some embodiments, the user may specify optional stop words. For example, the stop words may be provided to prepare the training data. In some embodiments, the stop words are removed from the provided data. In some embodiments, the user may specify a processing language and / or additional filters for the provided data. For example, stop words for the specified language may be added by default or suggested. With respect to the specified additional filters, condition filters may be applied to create a representative data set from the training data identified at 303. In some embodiments, rows of the provided table may be removed from the training data by applying one or more specified condition filters. For example, the table may include a "Status" column, the possible values of which may be "New", "In Progress", "Pending", and "Resolved". A condition may be specified to utilize as training data only rows in which the "Status" field has the value "Resolved". As another example, a condition may be specified to utilize as training data only rows created after a specified date or time frame.
[0038] FIG. 4 is a flow chart illustrating one embodiment of a process for automatically identifying recommended features for a machine learning model. For example, using the feature selection pipeline of FIG. 4, eligible features of a dataset can be evaluated in real time to determine how much each possible feature will impact the machine learning model for predicting the desired target field. In various embodiments, a set of recommended features can be determined and selected for training the machine learning model. The recommended features are selected based on their accuracy in predicting the desired target field. For example, useless features are not recommended. In some embodiments, the process of FIG. 4 is performed at 203 of FIG. 2. In some embodiments, the process of FIG. 4 is performed on a machine learning platform at server 121 of FIG. 1.
[0039] At 401, data is retrieved from a database table. For example, possible training data sets stored in one or more identified database tables are identified by a user, and relevant data is retrieved. In some embodiments, a condition filter is applied to the relevant data before (or after) the data is retrieved. For example, based on the condition filter, only certain rows of the database table may be retrieved. As another example, stop words are removed from the retrieved data. In some embodiments, the data is retrieved from the identified tables to a machine learning training server.
[0040] At 403, column data types are identified. For example, the data type of each column of data is identified. In some embodiments, the column data types configured in the database table are not specific enough to be used to evaluate the associated features. For example, nominal values may be stored as text or binary large object (BLOB) values in the database table. As another example, numeric or date types may also be stored as text (or string) data types. In various embodiments, at 403, the column data types are identified automatically without user intervention.
[0041] In some embodiments, the data type is identified by first scanning all the different values of a column and analyzing the scanned results. Properties of the column may be utilized to determine the valid data type of the column's values. For example, text data may be identified at least in part by the number of spaces and the amount of text length variation in the column field. As another example, if there is little or no variation in the actual values stored in the column field, the column data type may be determined to be a nominal data type. For example, a column having five discrete values but values stored as string values may be identified as a nominal type. In some embodiments, the distribution of the value types is used as a factor in identifying the data type. For example, if a high percentage of the values in a column are numeric, the column may be classified as a numeric data type.
[0042] At 405, preprocessing is performed on the data columns. In some embodiments, a set of preprocessing rules is applied to remove useless columns. For example, columns with sparsely registered fields are removed. In some embodiments, a threshold is utilized to determine if a column is sparsely registered and a candidate for removal. For example, in some embodiments, a threshold of 20% is used. Columns with less than 20% of the data registered are useless columns and may be removed. As another example, columns where all values are constants are removed. In some embodiments, columns where one value dominates over other values are removed, for example, if the dominant value appears in more than 80% (or other threshold amount) of the records. Columns where every value is unique or an ID may also be removed. In some embodiments, non-nominal columns are removed. For example, columns with binary data or text strings may be removed. In various embodiments, the preprocessing step removes only a subset of all eligible features from consideration as recommended input features.
[0043] At 407, the qualified machine learning features are evaluated. For example, the qualified machine learning features are evaluated for their impact on training an accurate machine learning model. In some embodiments, the qualified machine learning features are evaluated using an evaluation pipeline to sequentially filter out features by their usefulness in predicting the desired target value. For example, in some embodiments, the first evaluation step can determine an impact score, such as a relief score, to identify the distinction the column brings to the classification model. Columns with a relief score below a threshold may be removed from the recommendations. As another example, in some embodiments, the second evaluation step can determine an impact score, such as an information gain or weighted information gain, for the column. With the selected features and the desired target field, the impact score can be determined by comparing the improvement of the feature by using the change in information entropy when considering the features. Columns with an information gain or weighted information gain score below a threshold may be removed from the recommendations. In some embodiments, a third evaluation set can determine a performance metric for each feature. For example, a model is created offline to convert an impact score, such as an information gain or weighted information gain score, into a performance metric, such as one based on the increase to the area under the precision-recall curve (AUPRC) for the model. In various embodiments, the trained model is applied to the impact scores to determine an AUPRC-based performance metric for each remaining eligible feature. Using the determined performance metric, columns whose performance metric is below a threshold may be removed from recommendation. Although three evaluation steps are described above, fewer or additional steps may be utilized as appropriate based on the desired outcome for the set of features to be recommended. For example, one or more different evaluation techniques may be applied in addition to or to replace the described evaluation steps to further reduce the number of eligible features.
[0044] In various embodiments, a set of recommended machine learning features for building a machine learning model is identified by applying sequential evaluation steps. In some embodiments, sequential evaluation steps are necessary to determine which features result in accurate models. Any one evaluation step alone may be insufficient and inaccurately identify bad features for training for recommendation. For example, a feature may have a high relief score but a low weighted information gain score. A low weighted information gain score indicates that the feature should not be used for training. In some embodiments, a key or similar identifier column is a bad feature for training because it has little predictive value. The column may have a high impact score when evaluated under one of the evaluation steps, but is filtered from being recommended by a subsequent evaluation step.
[0045] At 409, recommended features are provided. For example, the remaining features are recommended as input features. In some embodiments, the set of recommended features is provided to the user via a graphical user interface of a web application. The recommended features may be provided with quantified metrics regarding how much impact each of the features has on the model accuracy. In some embodiments, the features are provided in ranked order, allowing the user to select the most impactful features to train the machine learning model.
[0046] In some embodiments, useless features are also provided along with the recommended features. For example, the user is provided with a set of features that are identified as useless or as having little impact on the model accuracy. This information can help the user gain a better understanding of the machine learning problem and solution.
[0047] FIG. 5 is a flow chart illustrating one embodiment of an evaluation process for automatically identifying recommended features for a machine learning model. In some embodiments, the evaluation process is a multi-stage process for sequentially filtering out features from the qualified machine learning features to identify a set of recommended machine learning features. The process may be performed in real time, utilizing data provided as possible training data from which qualified machine learning features are identified. Although described with particular evaluation steps with respect to FIG. 5, alternative embodiments of the evaluation process may utilize fewer or more evaluation steps and incorporate different evaluation techniques. In some embodiments, the process of FIG. 5 is performed at 203 of FIG. 2 and / or at 407 of FIG. 4. In some embodiments, the process of FIG. 5 is performed on a machine learning platform at server 121 of FIG. 1.
[0048] At 501, features are evaluated using the determined relief scores. In various embodiments, an impact score using a relief-based technique is determined at 501 and used to filter one or more eligible machine learning features to identify a set of machine learning features to be recommended. For example, an impact score based on the relief score for each feature is determined. Columns with a relief score below a threshold may be removed from recommendations. In some embodiments, the relief score corresponds to the impact the column has in differentiating different classification results. In various embodiments, for each feature, multiple adjacent rows are selected. The rows are selected based on having similar values (or mathematically close or proximate values) except for the value for the column currently being evaluated. For example, for a table with three columns A, B, and C, column A is evaluated by selecting rows that have similar values for corresponding columns B and C (i.e., values for column B are similar for all selected rows and values for column C are similar for all selected rows). This impact score utilizes the selected rows to determine how much column A impacts the desired target field. In an example, the target field may correspond to one of columns B or C. Using the selected adjacent rows, an impact or relief score is calculated for each eligible feature. The scores may be normalized and compared to a threshold. Features whose relief scores are below the threshold may be identified as useless columns and removed from further consideration as recommended input features. Features whose relief scores meet the threshold are further evaluated for consideration as recommended input features at 503. In some embodiments, the eligible features are ranked by the determined relief scores, and a feature may be removed from consideration as a recommended input feature if the feature is not ranked high enough. For example, in some embodiments, a maximum number of features based on the ranking (such as the top 10 or top 10% of eligible features) are retained for further evaluation at 503.
[0049] At 503, the features are evaluated using weighted information scores. In various embodiments, an impact score using information gain techniques is determined at 503 and used to filter one or more eligible machine learning features to identify a set of machine learning features to be recommended. For example, an impact score based on the weighted information gain score for each feature is determined. Columns with a weighted information gain score below a threshold may be removed from the recommendations. In some embodiments, the weighted information gain score of a feature corresponds to the change in information entropy when the value of the feature is known. The weighted information gain score is an information gain metric, weighted by a target distribution of different known values for the feature. In some embodiments, the weights are proportional to the frequency of a given target value. In some embodiments, a non-weighted information score may be used as an alternative impact score.
[0050] In various embodiments, the eligible features are ranked by the determined weighted information gain scores, and a feature may be removed from consideration as a recommended input feature if it is not ranked high enough. For example, in some embodiments, the largest number of features based on the ranking (such as the top 10 or top 10% of the eligible features) are retained for further evaluation at 505.
[0051] At 505, a performance metric is determined for the features. In various embodiments, a performance metric is determined for each of the remaining eligible features using the feature's corresponding impact score determined at 503. The performance metric is used to filter one or more of the eligible machine learning features to identify a set of recommended machine learning features. For example, the weighted information gain score (or, for some embodiments, the unweighted information gain score) is converted to a performance metric, for example, by applying a model created offline. In some embodiments, the model is a regression model and / or a trained machine learning model to predict the increase in area under the precision-recall curve (AUPRC) as a function of the weighted information gain score. In various embodiments, the offline model is applied to the impact score from step 503 to infer a performance metric, such as an AUPRC-based performance metric for the model when utilizing the feature being evaluated. The AUPRC-based performance metric determined for each of the remaining eligible features may be used to rank the remaining features and filter out features that do not meet or fall within a certain threshold. In some embodiments, the eligible features are ranked by the determined AUPRC-based performance metric, and a feature may be removed from consideration as a recommended input feature if the feature does not rank high enough. For example, in some embodiments, a maximum number of features based on the ranking (such as the top 10 or top 10% of the eligible features) are retained for post-processing at 507.
[0052] In some embodiments, accurate determination of a performance metric, such as an AUPRC-based performance metric, can be time-consuming and resource-intensive. By utilizing an offline prepared model (such as a transformation model) to determine a performance metric from the weighted information gain scores, the performance metric can be determined in real time. The time- and resource-intensive task is shifted from the process of FIG. 5, particularly from step 505, to the creation of a transformation model, which can be pre-computed and applied to multiple machine learning problems. For example, after the transformation model is created, the model can be applied across multiple machine learning problems to multiple different customers and datasets.
[0053] At 507, post-processing is performed on the qualified features. For example, the remaining qualified features are processed for consideration as recommended machine learning features. In some embodiments, the post-processing performed at 507 includes a final filtering of the remaining qualified features. The post-processing step may be utilized to determine a final ranking of the remaining qualified features based on predicted model performance. In some embodiments, the final ranking is based on the performance metric determined at 505. For example, the feature with the highest expected improvement is ranked first based on its performance metric. In various embodiments, features that do not meet the final threshold or are outside the final threshold range or ordered ranking may be removed from the recommendation. In some embodiments, none of the remaining qualified features meet the final threshold for recommendation. For example, even the top-ranked features do not significantly improve the prediction accuracy over the naive model. In this scenario, none of the remaining qualified features may be recommended. In various embodiments, the remaining qualified features after the final filtering are a set of recommended machine learning features, each including a performance metric and an associated ranking. In some embodiments, a set of non-recommended features is also created, e.g., any features that are determined not to significantly improve the model predictive accuracy based on the evaluation process are identified as useless.
[0054] FIG. 6 is a flow chart illustrating an embodiment of a process for creating an offline model for determining a performance metric for a feature. Using the process of FIG. 6, an offline model is created for converting the impact scores of the features into a performance metric. For example, a weighted information gain score (or, for some embodiments, an unweighted information gain score) is used to predict the increase in the area under the precision-recall curve (AUPRC) performance metric. The performance metric may be utilized to evaluate the expected improvement the feature has in improving the accuracy of the model prediction. In various embodiments, the model is created as part of an offline process and applied during a real-time process for feature recommendation. In some embodiments, the offline model created is a machine learning model. In some embodiments, the offline model created using the process of FIG. 6 is utilized at 203 of FIG. 2, at 407 of FIG. 4, and / or at 505 of FIG. 5. In some embodiments, the model is created on a machine learning platform at server 121 of FIG. 1.
[0055] At 601, a dataset is received. For example, multiple datasets are received for building an offline model. In some embodiments, hundreds of datasets are utilized to build an accurate offline model. The received dataset may be a customer dataset stored in one or more database tables.
[0056] At 603, relevant features of the dataset are identified. For example, columns of the received dataset are processed for relevant features and features corresponding to non-relevant columns of the dataset are removed. In some embodiments, the data is pre-processed to identify column data types and non-nominal columns are filtered out to identify relevant features. In various embodiments, only the relevant features are utilized to train the offline model. In some embodiments, text field input columns are identified in the received dataset. For example, a database table may include one or more text field input fields that include variable or arbitrary length text inputs. Those fields are identified as possible eligible features for predicting the desired target field and are evaluated as text field input features and not of nominal type.
[0057] At 605, an impact score is determined for the identified features of the data set. For example, an impact score is determined for each of the identified features. In some embodiments, the impact score is a weighted information gain score. In some embodiments, a non-weighted information gain score is used as an alternative impact score. In determining the impact score, a pair of the identified features may be selected, one as an input and the other as a target. An impact score may be calculated using the selected pair to calculate a weighted information gain score. A weighted information gain score may be determined for each of the identified features of each data set. In some embodiments, the impact score is determined using the techniques described with respect to step 503 of FIG. 5. In some embodiments, the impact score is an average weighted score. For example, an impact score may be determined for the text field input features using the techniques described with respect to the processes of FIGS. 7-10.
[0058] At 607, a comparison model is constructed for each identified feature. For example, a machine learning model is trained with each identified feature and the corresponding model is created as a baseline model. In some embodiments, the baseline model is a naive model. For example, the baseline model may be a naive probability-based classifier. In some embodiments, the baseline model may predict outcomes by always predicting the most likely outcome by randomly selecting outcomes or by using other suitable naive classification techniques. Both the trained model and the baseline model are comparison models for the identified features. The trained model is a machine learning model that utilizes the identified features for prediction, and the baseline model represents a model where the features are not utilized for prediction.
[0059] At 609, a performance metric is determined using the comparison model. By comparing the prediction results and accuracy of the two comparison models for each identified feature, a performance metric can be determined for that feature. For example, for each identified feature, the area under the precision-recall curve (AUPRC) can be evaluated for the trained model and the baseline model. In some embodiments, the difference between the two AUPRC results is the performance metric of the feature. For example, the performance metric of the feature can be expressed as the increase in AUPRC between the comparison models. For each identified feature, the performance metric is associated with an impact score. For example, the increase in AUPRC is associated with a weighted information gain score.
[0060] At 611, a regression model is constructed to predict a performance metric. Using the impact score and performance metric pairs determined at 605 and 609, respectively, a regression model is created to predict a performance metric from the impact score. For example, a regression model is created to predict an increase in the area under the precision-recall curve (AUPRC) of a feature as a function of the feature's weighted information gain score. In some embodiments, the regression model is a machine learning model trained using the impact score and performance metric pairs determined at 605 and 609 as training data. In various embodiments, the trained model may be applied in real time to predict a performance metric of a feature after the impact score is determined. For example, the trained model may be applied at step 505 of FIG. 5 to determine a performance metric of a feature to evaluate an expected improvement in model quality associated with the feature.
[0061] FIG. 7 is a flow chart illustrating one embodiment of a process for automatically identifying and evaluating text fields as possible features for a machine learning model. For example, using the process of FIG. 7, text fields may be evaluated to determine expected model performance if utilized as input features for predicting a desired target field. In some embodiments, the process of FIG. 7 may be initiated by the process of FIG. 3. For example, using the process of FIG. 3, a user may automate the creation of a machine learning model for predicting a desired target field by utilizing recommended text field features identified from possible training data. The identified text fields are processed and evaluated for recommendation as features using the process of FIG. 7. The text fields are evaluated as variable and / or arbitrary length text fields, rather than being converted to and evaluated as nominal. Similarly, in some embodiments, the feature selection pipeline of FIG. 4 relies on the process of FIG. 7 to evaluate in real time how possible text field features affect a machine learning model for predicting a desired target field. In some embodiments, the text fields evaluated using the process of FIG. 7 are identified as possible training data in step 303 of FIG. 3. In some embodiments, various steps of the process of Figure 7 are performed by the process of Figure 4. For example, in some embodiments, step 701 is performed at 401 of Figure 4, step 703 is performed at 403 of Figure 4, step 705 is performed at 405 and / or 407 of Figure 4, and / or step 707 is performed at 409 of Figure 4. In some embodiments, the process of Figure 7 is performed on a machine learning platform at server 121 of Figure 1 and / or at 203 of Figure 2 to at least partially determine the recommended input features.
[0062] At 701, a text field column is received as input data. For example, a text field column of a database table or dataset is identified by a user as possible training data. Once identified, the text field column is received as input data that may be evaluated. In some embodiments, the text field column includes entries corresponding to text of variable or arbitrary length.
[0063] At 703, the column data type for the received text field column is identified as text field data. For example, the received text field column entries are evaluated to determine that the column data type is text field data. This evaluation step may be necessary to determine that the data type of the received text field column is in fact text data and not another type, such as a nominal type that is compatible with text data. For example, in some scenarios, data stored in a text field column is stored as text data, but another data type, such as a nominal, integer, numeric, or other appropriate data type, may more accurately and / or efficiently describe the data. At 703, the column data type for the received text field column is confirmed to be text field data.
[0064] At 705, the suitability of the text fields as features is evaluated. For example, the text field columns are evaluated as suitable features for predicting the desired target field. In some embodiments, the text fields are first evaluated to determine a feature relevance score, such as an impact score, in predicting the desired target field. An exemplary impact score may be calculated as a weighted normalized relief score. In some embodiments, the relief score is a ReliefFscore, which is a statistical measure of feature relevance according to how well a feature value distinguishes a target between instances that are similar to each other. The Euclidean / Frobenius norm of the ReliefFscore may be calculated from the text feature dimension and normalized with the distribution of the target features to derive a weighted normalized relief score. Using the calculated feature relevance scores, a performance metric may be determined. For example, a corresponding measure of expected model performance may be predicted by applying a pre-trained model to the calculated impact scores. In some embodiments, other metrics of the text data, such as text field density, are similarly evaluated and utilized in the prediction. In some embodiments, the performance metric corresponds to the suitability of the text field as a feature for predicting the desired target field. For example, the higher the predicted performance metric, the more suitable and / or more strongly recommended the text field is as a feature for predicting the desired target field.
[0065] At 707, a recommendation is provided for the rated text field. For example, using the determined eligibility rating, a recommendation is made for the text field received at 701. In some embodiments, the recommendation includes ranking the rated text field among other possible features. As a useful guide to assist the user in selecting between different possible features, the recommendation includes an expected improvement in model performance upon relying on the rated text field as an input feature. In some embodiments, the text field may be recommended only if the determined performance metric exceeds a minimum performance threshold. In various embodiments, a user can utilize the provided recommendation to select features for automatic creation of a machine learning model to predict a desired target field.
[0066] FIG. 8 is a flow chart illustrating an embodiment of a process for evaluating suitability of a text field as a feature for a machine learning model to predict a desired target field. In some embodiments, the process of FIG. 8 evaluates the text field data provided as possible training data and may be performed in real time. In some embodiments, the process of FIG. 8 is performed at 203 of FIG. 2, at 405 and / or 407 of FIG. 4, and / or at 705 of FIG. 7. In some embodiments, various steps of the process of FIG. 8 are performed by the process of FIG. 5 in evaluating the text field. For example, in some embodiments, step 803 is performed at 501 of FIG. 5, step 805 is performed at 503 of FIG. 5, and / or step 807 is performed at 505 and / or 507 of FIG. 5. In some embodiments, the process of FIG. 8 is performed on a machine learning platform at server 121 of FIG. 1. In some embodiments, portions of the process of FIG. 8 are also utilized to train an offline performance metric prediction model. For example, in some embodiments, the impact scores or other related metrics determined at 801, 803, and / or 805 are utilized in step 605 of Figure 6 to train an offline performance metric prediction model. The pre-trained model is then utilized in 807 to determine corresponding performance metrics for the text fields.
[0067] At 801, input text field data is processed. For example, processing and / or pre-processing the text field data may be performed to prepare intermediate data required to calculate an impact score. The processing may include determining statistical measures for the text data and preparing a plurality of evaluation samples from the text data. In some embodiments, the processing includes determining a word frequency-inverse document frequency (TF-IDF) metric for the provided text data and / or performing a projection of the text data to reduce dimensionality. Other suitable processing, such as determining text field density, may be performed. In various embodiments, the input text field data may correspond to entries of a text field column in a specified database table or dataset.
[0068] At 803, a weighted relief score is calculated. For example, using the intermediate data prepared at 801, a weighted relief score is calculated for the text field. In some embodiments, the weighted relief score is a normalized relief score. Each calculated weighted relief score may correspond to a stratified sample set of the input data. By calculating weighted relief scores for multiple samples of the input data, the data may be adequately extracted with minimal resource requirements compared to calculating a weighted relief score for the entirety of the input text field data. For example, in some scenarios, three stratified samples are prepared at 801, and three weighted relief scores are calculated at 803, one for each prepared sample.
[0069] At 805, an average weighted relief score is determined. For example, the average weighted relief score is calculated using the calculated weighted relief scores from 803. The average weighted relief score can be a normalized relief score and may correspond to an impact score for the text field. In some embodiments, the magnitude of the impact score corresponds to how much impact the text field has in predicting the desired target field. The impact score represents the relevance of the feature in predicting the desired target field, but may not quantify the improvement in model performance when the text field is utilized as an input feature to a machine learning model. In some embodiments, the determined average weighted relief score and any other suitable text field metric, such as the text field density, calculated at 801, are utilized to train an offline performance metric prediction model.
[0070] At 807, a performance metric for the text field is determined. For example, the determined average weighted relief score and any additional text field metrics, such as text field density, may be used to predict the performance metric. In some embodiments, the performance metric is inferred by applying a pre-trained model, such as a model trained offline using the process of FIG. 6. By utilizing the pre-trained model, a measure of expected model performance may be determined in real time. Instead, significant computational and resource intensive operations are performed offline during training of the performance metric prediction model. In various embodiments, the determined performance metric may correspond to an increase in the area under the precision-recall curve (AUPRC) of the text field features. The increase may correspond to the difference between a trained model using similar text fields as features for prediction and a baseline model that utilizes a suitable naive classification technique, such as always predicting the most likely outcome. The determined performance metric provides an indication of the increase in performance that may be expected for a trained model that utilizes text field features compared to a machine learning model that does not utilize text field features. In some embodiments, the performance metric is utilized to determine recommendations for text fields as possible or eligible features for predicting a desired target field.
[0071] FIG. 9 is a flow chart illustrating one embodiment of a process for preparing input text field data for determining impact scores. In some embodiments, the process of FIG. 9 is performed at 405 of FIG. 4 and / or 801 of FIG. 8 and precedes the calculations for determining the impact scores or feature relevance of the text fields to model performance. In some embodiments, the process of FIG. 9 is performed on a machine learning platform at server 121 of FIG. 1. In some embodiments, portions of the process of FIG. 9 are also utilized to train an offline performance metric prediction model. For example, in some embodiments, the process of FIG. 9 is performed with additional steps to determine the impact scores for the text fields at step 605 of FIG. 6.
[0072] At 901, an information metric is evaluated for the text input data. For example, an information metric, such as a statistical measure for the text input data, is determined. The information metric is calculated in real time and may include metrics such as a word frequency-inverse document frequency (TF-IDF) metric. As another example, an information metric, such as a text field density, may be calculated for the text input data. In some embodiments, the information metric may be determined using a sample of the text input data or by evaluating an entire dataset of the text input data. In various embodiments, the text input data may correspond to entries of a text field column in a specified database table or dataset.
[0073] At 903, random projections are performed on the evaluated input data. For example, for large data sets with many dimensions, random projections are performed to reduce the dimensionality. In some embodiments, the dimensionality may be reduced to a more efficient number, such as 100 dimensions.
[0074] At 905, an input sample dataset is created. For example, one or more samples of the text input data are created for evaluation. In some embodiments, the text input data is too large to efficiently calculate a single impact score for the entire dataset. Instead, multiple sample datasets are created. Each can be scored for impact, and then the sample impact scores are averaged. In various embodiments, stratified sampling is applied to create the multiple sample datasets. The created datasets may include a full sampling of the text input data. For example, in some embodiments, the created datasets cover about 10% of the text input data.
[0075] Figure 10 is a flow chart illustrating one embodiment of a process for determining performance metrics for text field features. In some embodiments, the process of Figure 10 is performed at 505 of Figure 5, at 705 of Figure 7, and / or at 807 of Figure 8. In some embodiments, the impact scores and additional information metrics utilized by the process of Figure 10 are calculated using the processes of Figure 8 and / or Figure 9. In some embodiments, the process of Figure 10 is performed on a machine learning platform at server 121 of Figure 1.
[0076] At 1001, an impact score is received for a text field. For example, an impact score, such as an average weighted relief score, for a text field is received. The impact score may be a measure of feature relevance in predicting a desired target field when using the text field as a model feature. In some embodiments, the received impact score may be calculated in real time and calculated for one or more sample sets of input text data for the text field. In various embodiments, the text field and its input text data may correspond to entries in a text field column in a specified database table or dataset.
[0077] At 1003, additional metrics for the text field are received. For example, additional metrics such as text field density are received and prepared for use as input features. In some embodiments, the use of the additional metrics as input features for predicting the performance metric improves prediction results compared to relying solely on the calculated impact score. In various embodiments, the additional metrics can be calculated in real time and can be calculated either for one or more sample sets of input text data for the text field or for the entire text field data set.
[0078] At 1005, a narrative model is applied to determine a performance metric for the text field. For example, a performance metric predictive model is trained offline and applied at 1005 to predict a measure of expected model performance. In various embodiments, input features to the predictive model include the impact score received at 1001 and one or more information metrics received at 1003. These received input features may be calculated in real time along with the inferred performance metric. In contrast, the generation of predictive models may be expensive in terms of resources and computational effort and benefit from being trained offline, for example, by using the process of FIG. 6. In some embodiments, the predicted performance metric corresponds to an increase in the area under the precision-recall curve (AUPRC) of the text field features when comparing two comparison models. For example, the metric may correspond to the performance difference between a model trained with similar text fields as features for prediction and a baseline model utilizing a suitable naive classification technique, such as always predicting the most likely outcome. The predicted performance metric provides an indication of the increased performance that may be expected for a trained model that utilizes the text field features compared to a machine learning model that does not utilize the text field features. In some embodiments, the performance metric is utilized to determine recommendations for text fields as possible or eligible features for predicting a desired target field.
[0079] Although the above embodiments have been described in considerable detail for purposes of clarity of understanding, the present invention is not limited to the details provided. There are many alternative ways of implementing the present invention. The disclosed embodiments are illustrative and not restrictive. [Application example 1] generating a pre-trained model trained to predict a measure of expected model performance based at least in part on feature relevance scores associated with the text field data type; receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing input; calculating a corresponding feature relevance score for each of the one or more text fields storing the input; using the pre-trained model to predict a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores; providing the predicted measure of expected model performance for use in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field; A method comprising: [Application Example 2] A method as described in Application Example 1, wherein calculating the corresponding feature relevance score for each of the one or more text fields storing the input content includes determining a statistical measure for each of the one or more text fields. [Application Example 3] The method according to Application Example 2, wherein the statistical measure is based at least in part on a word frequency-inverse document frequency (TF-IDF) metric. [Application Example 4] A method as described in Application Example 1, wherein calculating the corresponding feature relevance score for each of the one or more text fields that store the input content includes generating one or more sample datasets for each of the one or more text fields that store the input content. [Application Example 5] The method described in Application Example 4, wherein the one or more generated sample data sets for each of the one or more text fields that store input content are stratified samples. [Application Example 6] The method described in Application Example 4, further comprising determining a relevance score for each of the one or more generated sample datasets. [Application Example 7] A method as described in Application Example 1, wherein calculating the corresponding feature relevance score for each of the one or more text fields includes averaging one or more extracted relevance scores for each of the one or more text fields. [Application Example 8] A method as described in Application Example 1, wherein predicting the corresponding measure of expected model performance for each of the one or more text fields storing the input content using the pre-trained model includes applying the pre-trained model to one or more information metrics for each of the one or more text fields. [Application Example 9] The method described in Application Example 8, wherein the one or more information metrics include a text field density metric. [Application Example 10] A method as described in Application Example 1, wherein the calculated feature relevance score for each of the one or more text fields storing the input content is a weighted normalized relief score. [Application Example 11] A method as described in Application Example 1, wherein the corresponding measure of expected model performance for each of the one or more text fields storing the input content is based on an increased amount of area under the precision-recall curve associated with the machine learning model compared to a baseline model for predicting the desired target field. [Application Example 12] A method as described in Application Example 1, further comprising ranking the one or more text fields storing the input content based on the predicted measures of expected model performance for use in feature selection for generating the machine learning model for predicting the desired target field. [Application Example 13] A method as described in Application Example 1, wherein the one or more text fields that store the input content include an input text field, an email subject, an email body, or text collected from a chat dialog. [Application Example 14] One or more processors, a memory coupled to the one or more processors; wherein the memory is configured to provide instructions to the one or more processors that, when executed, cause the one or more processors to: generating a pre-trained model trained to predict a measure of expected model performance based at least in part on the feature relevance scores associated with the text field data type; receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing the input; calculating a corresponding feature relevance score for each of the one or more text fields storing the input; using the pre-trained model to predict a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores; providing the predicted measure of expected model performance for use in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field. [Application Example 15] A system as described in Application Example 14, wherein having the one or more processors calculate the corresponding feature relevance score for each of the one or more text fields that store the input content includes having the one or more processors determine a statistical measure for each of the one or more text fields, the statistical measure being based at least in part on a word frequency-inverse document frequency (TF-IDF) metric. [Application Example 16] The system according to Application Example 14, wherein the memory is further configured to provide instructions to the one or more processors, the instructions, when executed, causing the one or more processors to: generating one or more sample data sets for each of the one or more text fields storing input content; determining an extracted relevance score for each of the one or more generated sample data sets; The system averages the one or more determined extracted relevance scores for each of the one or more text fields. [Application Example 17] A system as described in Application Example 14, wherein having the one or more processors use the pre-trained model to predict the corresponding measure of expected model performance for each of the one or more text fields that store the input content includes having the one or more processors apply the pre-trained model to one or more information metrics for each of the one or more text fields, the one or more information metrics including a text field density metric. [Application Example 18] A system as described in Application Example 14, wherein the calculated feature relevance score for each of the one or more text fields that store the input content is a weighted normalized relief score. [Application Example 19] A system as described in Application Example 14, wherein the corresponding measure of expected model performance for each of the one or more text fields storing the input content is based on an increased amount of area under the precision-recall curve associated with the machine learning model compared to a baseline model for predicting the desired target field. [Application Example 20] A computer program product embodied in a non-transitory computer-readable medium, generating a pre-trained model trained to predict a measure of expected model performance based at least in part on feature relevance scores associated with the text field data type; receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing input; calculating a corresponding feature relevance score for each of the one or more text fields storing the input; using the pre-trained model to predict a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores; providing the predicted measure of expected model performance for use in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field. 23. A computer program product comprising computer instructions for:
Claims
1. 1. A computer-implemented method comprising: generating a pre-trained model trained to predict a performance score or metric for features having a text field data type as a measure of expected model performance based at least in part on a feature relevance score associated with the text field data type; receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing input; calculating a corresponding feature relevance score for each of the one or more text fields storing the input; predicting, using the pre-trained model, a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores; providing the predicted measure of expected model performance for use in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field; A method comprising:
2. 2. The method of claim 1 , wherein calculating the corresponding feature relevance score for each of the one or more text fields storing the input comprises determining a statistical measure for each of the one or more text fields.
3. The method of claim 2 , wherein the statistical measure is based at least in part on a word frequency-inverse document frequency (TF-IDF) metric.
4. 2. The method of claim 1 , wherein calculating the corresponding feature relevance scores for each of the one or more text fields storing the input content includes generating one or more sample data sets for each of the one or more text fields storing input content.
5. 5. The method of claim 4, wherein the one or more generated sample data sets for each of the one or more text fields that store input content are stratified samples.
6. The method of claim 4 , further comprising determining a relevance score for each of the one or more generated sample data sets.
7. 2. The method of claim 1 , wherein calculating the corresponding feature relevance score for each of the one or more text fields comprises averaging one or more extracted relevance scores for each of the one or more text fields.
8. 2. The method of claim 1, wherein using the pre-trained model to predict the corresponding measure of expected model performance for each of the one or more text fields storing the input content comprises applying the pre-trained model to one or more information metrics for each of the one or more text fields.
9. The method of claim 8 , wherein the one or more information metrics includes a text field density metric.
10. 2. The method of claim 1, wherein the calculated feature relevance score for each of the one or more text fields storing the input is a weighted normalized relief score.
11. 2. The method of claim 1, wherein the corresponding measure of expected model performance for each of the one or more text fields storing the input content is based on an increased amount of area under a precision-recall curve associated with the machine learning model relative to a baseline model for predicting the desired target field.
12. 2. The method of claim 1, further comprising ranking the one or more text fields storing the input content based on the predicted measure of expected model performance for use in the feature selection for generating the machine learning model for predicting the desired target field.
13. 2. The method of claim 1, wherein the one or more text fields that store the input include an input text field, an email subject, an email body, or text collected from a chat dialog.
14. one or more processors; a memory coupled to the one or more processors; wherein the memory is configured to provide instructions to the one or more processors that, when executed, cause the one or more processors to: generating a pre-trained model trained to predict a performance score or metric for features having a text field data type as a measure of expected model performance based at least in part on the feature relevance scores associated with the text field data type; receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing the input; calculating a corresponding feature relevance score for each of the one or more text fields storing the input; using the pre-trained model to predict a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores; and providing the predicted measure of expected model performance to be used in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field.
15. 15. The system of claim 14, wherein causing the one or more processors to calculate the corresponding feature relevance scores for each of the one or more text fields storing the input includes causing the one or more processors to determine a statistical measure for each of the one or more text fields, the statistical measure based at least in part on a word frequency-inverse document frequency (TF-IDF) metric.
16. 15. The system of claim 14, wherein the memory is further configured to provide instructions to the one or more processors that, when executed, cause the one or more processors to: generating one or more sample data sets for each of the one or more text fields storing input content; determining an extracted relevance score for each of the one or more generated sample data sets; The system averages the one or more determined extracted relevance scores for each of the one or more text fields.
17. 15. The system of claim 14, wherein having the one or more processors predict using the pre-trained model the corresponding measure of expected model performance for each of the one or more text fields storing the input content includes having the one or more processors apply the pre-trained model to one or more information metrics for each of the one or more text fields, the one or more information metrics including a text field density metric.
18. 15. The system of claim 14, wherein the calculated feature relevance score for each of the one or more text fields storing the input is a weighted normalized relief score.
19. 15. The system of claim 14, wherein the corresponding measure of expected model performance for each of the one or more text fields storing the input content is based on an increased amount of area under a precision-recall curve associated with the machine learning model relative to a baseline model for predicting the desired target field.
20. A computer program comprising: a feature relevance score associated with the text field data type as a measure of expected model performance; and Functionality for receiving a designation of a desired target field for machine learning prediction and one or more text fields for storing the input; a feature relevance score for each of the one or more text fields storing the input; and predicting, using the pre-trained model, a corresponding measure of expected model performance for each of the one or more text fields storing the input content based on the corresponding calculated feature relevance scores. and providing the predicted measure of expected model performance for use in feature selection from among the one or more text fields storing the input content to generate a machine learning model for predicting the desired target field. A computer program that enables a computer to realize the above.
Citation Information
Patent Citations
Information processing device, information processing method, and program
JP2018045559A
Stratified sampling of data in a database system
US20020198863A1