Interactive decision tree refinement

By allowing users to modify node splitting parameters in decision trees through a graphical interface, the method enhances model accuracy and adherence to user-defined constraints, addressing limitations in existing algorithms.

JP7824014B2Active Publication Date: 2026-03-04INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023565950
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-07
Filing Date
2022-04-26
Publication Date
2026-03-04
Estimated Expiration
2042-04-26

AI Technical Summary

Technical Problem

Existing decision tree algorithms fail to consider user-defined constraints and objectives during node splitting, leading to suboptimal tree growth and model accuracy due to regulatory, deployment, and computing infrastructure limitations.

Method used

A method, system, and program product that allows users to modify node splitting parameters through a graphical user interface, enabling adjustments to node split features, fit functions, and values based on user constraints and objectives, thereby controlling decision tree growth.

Benefits of technology

Enables users to create more interpretable and accurate decision trees by incorporating user-defined rules and constraints, improving model performance and adherence to specific objectives.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007824014000001
    Figure 0007824014000001
  • Figure 0007824014000002
    Figure 0007824014000002
  • Figure 0007824014000003
    Figure 0007824014000003
Patent Text Reader

Abstract

Techniques are provided for methods, systems, and program products that, in response to receiving a first user selection selecting a node in a decision tree, display at least one of a set of node splitting parameters on a user interface. The selected node branches into a set of child nodes in the decision tree based on the set of node splitting parameters. In response to receiving a second user selection, the methods, systems, and program products adjust at least one of the set of node splitting parameters of the selected node. The methods, systems, and program products modify the decision tree based on the adjusted set of node splitting parameters. The modified decision tree includes a modified set of child nodes that branch from the selected node based on the adjusted set of node splitting parameters.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Predictive modeling is the process of using data and statistics to predict outcomes using data models. Predictive modeling is often referred to as predictive analytics, predictive analysis, and machine learning. Machine learning (ML) is the study of computer algorithms that improve automatically through experience.

[0002] Machine learning algorithms build machine learning models based on sample data, known as training data, to make predictions or decisions without being explicitly programmed. The process of training a machine learning model involves providing the machine learning algorithm with training data to learn from, and the artifact from the training process is a machine learning model. The training data contains correct answers, known as targets or target attributes, and the machine learning algorithm finds patterns in the training data that map input data attributes to target attributes and outputs a machine learning model that captures the patterns.

[0003] Machine learning models can use several different types of algorithms based on the type of problem the algorithm is designed to solve, one of which is the decision tree algorithm. Decision tree algorithms belong to the family of supervised learning algorithms, and unlike other supervised learning algorithms, decision tree algorithms can also be used to solve regression and classification problems. Decision tree algorithms are one of the most popular predictive model representations in machine learning because they can be used to visually and explicitly represent decisions and decisions.

[0004] At the start of machine learning training, a decision tree algorithm considers the overall training set as a root node that represents the entire population or sample. Next, the decision tree algorithm uses multiple techniques for node splitting, which is the process of dividing a node into two or more subnodes. The subnodes can be broadly divided into two categories based on the type of target variable (e.g., continuous target variable or categorical target variable). The creation of subnodes increases the uniformity of the resulting subnodes. In other words, the purity of the node increases with respect to the target variable. The decision tree algorithm splits the node with respect to all available variables and then selects the split that gives the most uniform subnodes.

[0005] At runtime, a decision tree machine learning model starts at the "root" of the tree and predicts the class label of a record. The machine learning model compares the value of the root attribute with the attributes of the record. Based on the comparison, the machine learning model follows the branch corresponding to that value and jumps to the next node.

[0006] A challenge encountered when implementing decision tree algorithms is identifying the attributes that should be considered at each level of the decision node, which involves various means for identifying the attributes that should be considered as root nodes at each level. While traditional decision tree fitting allows users to set hyperparameter values ​​(e.g., maximum tree depth, maximum records in parent nodes, etc.), real-world data science problems have objectives and constraints introduced by multiple stakeholders and are beyond the reach of statistical precision due to regulatory, deployment, code, and computing infrastructure considerations. These objectives and constraints are not currently considered when constructing decision trees, especially when splitting nodes in the decision tree. Summary of the Invention

[0007] According to one embodiment of the present disclosure, a method, system, and program product displays at least one of a set of node splitting parameters on a user interface in response to receiving a first user selection of a node in a decision tree. The selected node branches into a set of child nodes in the decision tree based on the set of node splitting parameters. In response to receiving a second user selection, the method, system, and program product adjusts at least one of the set of node splitting parameters of the selected node. The method, system, and program product modifies the decision tree based on the adjusted set of node splitting parameters. The modified decision tree includes a modified set of child nodes that branch from the selected node based on the adjusted set of node splitting parameters. In this embodiment, the method, system, and program product allows a user to modify the node splitting parameters in the decision tree to control the growth of the decision tree according to user constraints and objectives.

[0008] According to another embodiment of the present disclosure, there is provided an approach in which the set of node split parameters includes at least one of a node split feature, a node split fit function, and a set of node split values, wherein the method, system, and program product enable a user to adjust the node split feature, the node split fit function, and / or the node split value of a selected node according to user constraints and objectives.

[0009] According to another embodiment of the present disclosure, a method, system, and program product is provided that determines that a second user selection selects a different node split feature. The method, system, and program product displays a node split graph based on the different node split feature. In response to displaying the node split graph, the method, system, and program product receives a third user selection selecting a different node split fit function. The method, system, and program product displays a different node split graph based on the different node split feature and the different node split fit function. In this embodiment, the method, system, and program product provides a graphical user interface for splitting criteria for the selected node and allows the user to change the split feature and fit function for the selected node using the graphical user interface according to user constraints and objectives.

[0010] According to another embodiment of the present disclosure, the different node split graphs include a set of split value indicators corresponding to a set of node split values. The method, system, and program product receives a fourth user selection including a different set of node split values. The method, system, and program product modifies the set of split value indicators on the different node split graphs based on the different set of node split values. In this embodiment, the method, system, and program product provides a graphical user interface of split criteria for the selected nodes and allows the user to modify the split values ​​of the selected nodes using the graphical user interface according to user constraints and objectives.

[0011] According to another embodiment of the present disclosure, a method, system, and program product is provided for displaying a modified decision tree in response to receiving user authorization to modify the decision tree. The modified set of child nodes displayed on the modified decision tree is based on modified features, a modified fit function, and a modified set of node split values. In this embodiment, the method, system, and program product implements user-specified node split changes to the decision tree to control the growth of the decision tree according to user constraints and objectives.

[0012] According to another embodiment of the present disclosure, a method, system, and program product is provided for displaying statistical plots of records on a node split graph. The method, system, and program product modifies the view of the statistical plot of the records in response to displaying different node split graphs. In this embodiment, the method, system, and program product plots records for selected nodes, modifies the view of the records when a user selects different node split features and different node split fit functions, and provides a graphical user interface that presents the user with a visual representation of the different node split features and different node split fit functions.

[0013] According to another embodiment of the present disclosure, a method, system, and program product is provided for determining that a selected different node split feature corresponds to a new node split feature. The method, system, and program product creates the new node split feature based on one or more feature engineering parameters received from a user. The method, system, and program product displays a node split graph based on the new node split feature. In this embodiment, the method, system, and program product allows a user to create the new node split feature using feature engineering and apply the new node split feature to a selected node.

[0014] According to another embodiment of the present disclosure, a method, system, and program product trains a machine learning model using a dataset prior to receiving a first user selection. The trained machine learning model generates a decision tree based on the dataset, and the method, system, and program product displays the decision tree on a user interface. The method, system, and program product modifies the machine learning model based on the modified decision tree. In this embodiment, the method, system, and program product provides a graphical user interface that allows a user to modify the decision tree of the machine learning model according to user constraints and objectives.

[0015] The foregoing is a summary and, as such, necessarily contains simplifications, generalities, and abbreviations of detail. Consequently, those skilled in the art will appreciate that this summary is merely illustrative and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present disclosure, as defined solely by the claims, will become apparent from the non-limiting detailed description set forth below.

[0016] The present disclosure may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. [Brief explanation of the drawings]

[0017] [Figure 1] 1 is a block diagram of a data processing system in which the methods described herein may be implemented. [Figure 2] FIG. 2 is an expanded view of the information handling system environment shown in FIG. 1 to illustrate that the methods described herein may be implemented in a variety of information handling systems operating within a networked environment. [Figure 3] FIG. 1 is an example diagram depicting a decision tree corrector subsystem that allows a user to modify node splits in a decision tree utilized by a machine learning model. [Figure 4]FIG. 1 is an exemplary diagram depicting steps taken to dynamically modify node splitting criteria in a decision tree. [Figure 5] 1 is an exemplary diagram illustrating a user selecting a node split to modify in a decision tree. [Figure 6] FIG. 10 is an exemplary diagram depicting a feature selection user interface window and a segmentation selection user interface window. [Figure 7] FIG. 10 is an exemplary diagram illustrating a user modifying various node split parameters using the Split Selection user interface window. [Figure 8] 1 is an exemplary diagram depicting a user finalizing a set of node split parameter changes to a decision tree. [Figure 9] FIG. 10 is an exemplary diagram depicting a user interface window for creating new features using feature engineering. [Figure 10] FIG. 10 is an example diagram depicting fit function options and plot options based on selected features and targets. DETAILED DESCRIPTION OF THE INVENTION

[0018] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will be further understood that the terms "comprise" and / or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, or components or combinations thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups or combinations thereof.

[0019] The corresponding structure, material, acts, and equivalents of all means-plus-function or step-plus-function elements in the following claims are intended to include any structure, material, or acts for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present disclosure. The embodiments were chosen and described in order to best explain the principles and practical applications of the present disclosure, and may enable others skilled in the art to appreciate various embodiments with various modifications suited to the particular uses contemplated.

[0020] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail of integration. The computer program product may include a computer-readable storage medium having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0021] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or grooved structures having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as ephemeral signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over electrical wires.

[0022] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a respective computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0023] Computer-readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state configuration data, configuration data for integrated circuits, or object-oriented programming languages ​​such as Smalltalk®, C++, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information in the computer readable program instructions to implement aspects of the present invention.

[0024] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0025] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium capable of directing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions for implementing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0026] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to create a computer-implemented process and cause the computer, other programmable apparatus, or other device to perform a series of operational steps, such that the instructions, which execute on the computer, other programmable apparatus, or other device, implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0027] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be performed as a single step, or may be executed simultaneously, substantially simultaneously, partially, or fully in a time-overlapping manner, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by special-purpose hardware-based systems that perform the specified functions or actions or execute a combination of special-purpose hardware and computer instructions. The following detailed description generally follows the summary of the disclosure as set forth above, and further explains and expands upon definitions of various aspects and embodiments of the disclosure as needed.

[0028] FIG. 1 illustrates an information handling system 100, a simplified example of a computer system capable of performing the computing operations described herein. The information handling system 100 includes one or more processors 110 coupled to a processor interface bus 112. The processor interface bus 112 connects the processors 110 to a northbridge 115, also known as a memory controller hub (MCH). The northbridge 115 connects to system memory 120, providing the processors 110 with access to the system memory. A graphics controller 125 also connects to the northbridge 115. In one embodiment, a Peripheral Component Interconnect (PCI) Express bus 118 connects the northbridge 115 to the graphics controller 125. The graphics controller 125 connects to a display device 130, such as a computer monitor.

[0029] Northbridge 115 and Southbridge 135 connect to each other using bus 119. In some embodiments, the bus is a Direct Media Interface (DMI) bus, which transfers data between Northbridge 115 and Southbridge 135 at high speeds in both directions. In some embodiments, a PCI bus connects the Northbridge and Southbridge. Southbridge 135, also known as an Input / Output (I / O) Controller Hub (ICH), is a chip that implements functions that typically run at slower speeds than those provided by the Northbridge. Southbridge 135 typically provides various buses used to connect various components. Such buses include, for example, PCI and PCI Express buses, ISA buses, System Management Bus (SMBus or SMB), and / or Low Pin Count (LPC) buses. The LPC bus often connects low-bandwidth devices such as Boot ROM 196 and "legacy" I / O devices (using "super I / O" chips). "Legacy" I / O devices (198) may include, for example, serial and parallel ports, keyboard, mouse, and / or floppy disk controllers. Other components often included in the southbridge 135 include a Direct Memory Access (DMA) controller, a Programmable Interrupt Controller (PIC), and a storage device controller that connects the southbridge 135 to non-volatile storage devices 185, such as hard disk drives, using bus 184.

[0030] The ExpressCard 155 is a slot that connects hot-pluggable devices to the information handling system. The ExpressCard 155 supports both Universal Serial Bus (USB) and PCI Express connections when connected to the Southbridge 135 using both the PCI Express bus and the Universal Serial Bus (PCI). The Southbridge 135 includes a USB controller 140 that provides USB connectivity for devices that connect to the USB. Such devices include a webcam (camera) 150, an infrared (IR) receiver 148, a keyboard and trackpad 144, and a Bluetooth device 146 that provides a wireless personal area network (PAN). The USB controller 140 also provides USB connectivity for various other USB-connected devices 142, such as a mouse, a removable non-volatile storage device 145, a modem, a network card, an Integrated Services Digital Network (ISDN) connector, a fax machine, a printer, a USB hub, and many other types of USB-connected devices. Although the removable non-volatile storage device 145 is shown as a USB-connected device, the removable non-volatile storage device 145 may be connected using a different interface, such as a Firewire interface.

[0031] Wireless local area network (LAN) devices 175 connect to Southbridge 135 via PCI or PCI Express bus 172. LAN devices 175 typically implement one of the Institute of Electrical and Electronic Engineers (IEEE) 802.11 standard wireless modulation technologies, all of which use the same protocol for wireless communication between information handling system 100 and another computer system or device. Optical storage devices 190 connect to Southbridge 135 using Serial Analog Telephone Adapter (ATA) (SATA) bus 188. Serial ATA adapters and devices communicate over a high-speed serial link. The Serial ATA bus also connects Southbridge 135 to other forms of storage devices, such as hard disk drives. Audio circuitry 160, such as a sound card, connects to Southbridge 135 via bus 158. Audio circuitry 160 also provides functionality related to audio hardware, such as audio line-in and optical digital audio-in ports 162, optical digital output and headphone jack 164, internal speakers 166, and internal microphone 168. Ethernet controller 170 connects to southbridge 135 using a bus, such as a PCI or PCI Express bus. Ethernet controller 170 connects information handling system 100 to computer networks, such as local area networks (LANs), the Internet, and other public and private computer networks.

[0032] While Figure 1 illustrates one information handling system, information handling systems can take many forms. For example, an information handling system can take the form of a desktop, server, portable, laptop, notebook, or other form factor computer or data processing system. In addition, an information handling system can take other form factors, such as a personal digital assistant (PDA), a gaming console, an automated teller machine (ATM), a portable telephone, a communications device or other device that includes a processor and memory.

[0033] FIG. 2 is an expanded view of the information handling system environment shown in FIG. 1 to illustrate that the methods described herein can be implemented in a variety of information handling systems operating within a networked environment. Types of information handling systems range from small handheld devices, such as handheld computer / cell phone 210, to large mainframe systems, such as mainframe computer 270. Examples of handheld computers 210 include personal entertainment devices such as personal digital assistants (PDAs), Moving Picture Experts Group Layer-3 Audio (MP3) players, portable televisions, and compact disc players. Other examples of information handling systems include pen or tablet computer 220, laptop or notebook computer 230, workstation 240, personal computer system 250, and server 260. Other types of information handling systems not individually shown in FIG. 2 are represented by information handling system 280. As shown, a variety of information handling systems can be networked together using computer network 200. Types of computer networks that can be used to interconnect various information handling systems include local area networks (LANs), wireless local area networks (WLANs), the Internet, the public switched telephone network (PSTN), other wireless networks, and any other network topology that can be used to interconnect information handling systems. Many information handling systems include non-volatile data stores, such as hard drives and / or non-volatile memory.The information handling system embodiment shown in FIG. 2 includes separate non-volatile data stores (more specifically, server 260 utilizes non-volatile data store 265, mainframe computer 270 utilizes non-volatile data store 275, and information handling system 280 utilizes non-volatile data store 285). The non-volatile data stores may be components external to the various information handling systems or may be internal to one of the information handling systems. Additionally, removable non-volatile storage device 145 may be shared between two or more information handling systems using various techniques, such as connecting removable non-volatile storage device 145 to a USB port or other connector on an information handling system.

[0034] As discussed above, a challenge with today's decision tree implementations is that they do not provide an intuitive way for users to modify node splits when it is necessary to identify attributes that need to be considered at each level of decision node and to consider objectives and constraints that were not considered during the automatic decision tree building process. Therefore, there is a need to provide a way for users to modify node split parameters in a decision tree so that they can control the tree growth according to user constraints and objectives.

[0035] Figures 3 through 10 depict a method that can be implemented on an information handling system that incorporates user interaction into the decision tree fitting process by allowing users to choose node split values ​​driven by various criteria. As discussed below, the method allows users to choose fit functions to improve model accuracy and provides evaluation and visualization to aid user interaction. The method supports business logic and constraints from multiple stakeholders, leveraging user-defined rules into the decision tree construction process and enabling more interpretable results.

[0036] 3 is an example diagram depicting a decision tree corrector subsystem that allows a user to correct node splits in a decision tree utilized by a machine learning model. Computer system 300 includes decision tree corrector subsystem 310. Decision tree corrector subsystem 310 retrieves a dataset and a decision tree constructed for that data from data store 320. Decision tree corrector subsystem 310 then displays decision tree 340 on display 330 for user 360 to evaluate.

[0037] If the user 360 wants to change the node splitting criteria for a particular decision node, the user 360 selects the particular node using the pointer 370. The decision tree modifier subsystem 310 then displays the set of node splitting parameters corresponding to the selected node in the features window 350 (see Figures 5, 6 and corresponding text for further details).

[0038] The user 360 then provides node split adjustment information to the decision tree modifier subsystem 310, such as selecting different features to use for splitting, adjusted split values, different fit functions, or new features derived based on feature engineering, or a combination thereof. The derived features may be variations of the original features or interaction features from multiple original features (see FIG. 9 and corresponding text for further details).

[0039] The decision tree corrector subsystem 310 dynamically modifies the set of node splitting parameters at the selected node and displays the modified split values, fit functions at each split interval, and feature importance measures as tables and statistical plots of the records in the feature window 350. The decision tree corrector subsystem 310 then modifies the decision tree 340 based on the modified node splitting criteria accordingly (see Figures 6-8 and corresponding text for further details).

[0040] In one embodiment, the decision tree corrector subsystem 310 automatically searches for the best fit function and optimal split values ​​for the received node split features. In another embodiment, the decision tree corrector subsystem 310 generates split explanations to help the user 360 understand the feature selection.

[0041] 4 is an example diagram depicting steps taken to dynamically modify node splitting criteria in a decision tree. The processing of FIG. 4 begins at 400, after which, at step 410, the process receives a dataset and a decision tree constructed by a machine learning model based on the dataset. At step 420, the process displays the decision tree 370 on the display 330 to the user 360.

[0042] In step 425, the process receives the node selection and displays a feature selection user interface based on the node selection (see Figures 5, 6, and corresponding text for further details). Referring to Figure 6, user interface 600 corresponds to selected node 1 (610), and indicator 620 indicates that x5 is the currently selected node split feature for node 1. When a "Create Feature" button, such as button 640 shown in Figure 6, is selected, the process opens a new user interface window that allows the user 360 to create a new feature using feature engineering and new feature parameters (see Figure 9 and corresponding text for further details).

[0043] In step 450, the process displays a split selection user interface including a node split table and a node split graph. Referring back to Figure 6, the split selection user interface window 650 shows a drop-down menu 660 with the default fit function for x1, a table (670) showing the node split values ​​for feature x1, and a record plot and a node split graph showing the node split values ​​from table 670. Drop-down 650 indicates that the current fit function is "Average" and shows graph 680 with a node split value of 37.6 from table 670.

[0044] In step 460, the process receives changes to split values ​​and / or fit functions from user 360 and modifies the node split table and node split graph accordingly (see FIG. 7 and corresponding text for further details). In step 470, the process receives user approval and updates the feature importance and description in the feature selection window.

[0045] In step 475, the process receives a user selection to split the selected node based on the node splitting parameter change, and in step 480, the process automatically splits the selected node in the decision tree view and displays the modified decision tree (see FIG. 9 and corresponding text for further details). In step 490, the process updates the machine learning model based on the modified decision tree, after which the processing of FIG. 4 ends at 495.

[0046] FIG. 5 is an example diagram depicting a decision tree and how a user 360 selects a node to modify.

[0047] Decision tree 340 includes nodes 0 through 8. Each node represents a set of records in the dataset based on its corresponding feature value. Node 0 is the root node and represents each record in the set of records. Node 0 branches into nodes 1 and 2 based on the record's value for feature x4. If a particular record has a feature value for feature x4 that is less than or equal to 2, the record is represented by node 1. However, if a particular record has a feature value for feature x4 that is greater than 2, the record is represented by node 2.

[0048] Node 1 branches to nodes 3, 4, 5, and 6 based on the value of feature x5 for a given record. If the value of x5 is less than or equal to 10950, the record is represented by node 3. If the value of x5 is between 10950 and 13200, the record is represented by node 4. If the value of x5 is between 13200 and 15600, the record is represented by node 5. And if the value of x5 is greater than 15600, the record is represented by node 6. Node 5 branches to nodes 7 and 8 based on the value of feature x6 for a given record. If the value of x6 is less than or equal to 83, the record is represented by node 7. If the value of x6 is greater than 83, the record is represented by node 8.

[0049] The example in Figure 5 shows user 360 selecting node 1 using pointer 500. The decision tree modifier subsystem 310 then provides node split information and options to user 360 in feature window 350 (see Figure 6 and corresponding text for further details).

[0050] FIG. 6 is an example diagram depicting the feature selection user interface window and the split selection user interface window. The decision tree corrector subsystem 310 displays the feature selection user interface window 600 in the feature window 350 when the user 360 selects a node. The example in FIG. 6 shows how the user interface 600 responds to the node 1 selection (610). An indicator 620 indicates that x5 is the currently selected node split feature for node 1. At this point, the user 360 can: i) select feature x5 and adjust the split selection (fit function / split value) for feature x5; ii) select a different feature as the node split feature for node 1; or iii) create an entirely new feature through feature engineering by selecting button 640 (see FIG. 9 and the corresponding text for further details).

[0051] The feature selection user interface window 600 also shows an importance column and a description column for each feature. The importance column value corresponds to the performance of the corresponding machine learning model due to the split of the node using the corresponding feature. The importance may be calculated using the p-value of the test statistic, information gain, accuracy improvement, etc. The description column contains a description for each feature that provides insight into the association between the feature and the target.

[0052] The example in Figure 6 shows user 360 selecting feature x1 as the node split feature for node 1 using pointer 630. When user 360 selects feature x1, decision tree corrector subsystem 310 opens split selection user interface window 650, which displays a default fit function for x1 in drop-down menu 660, a table (670) showing node split values ​​for feature x1, and a node split graph showing a record plot and the node split values ​​from table 670. Drop-down 660 indicates that the current fit function is "mean" and shows graph 680, which shows a node split value of 37.6 from table 670. At this point, user 360 can modify the fit function through drop-down 660, modify the node split threshold by modifying table 670 or graph 680, or both (see Figure 7 and corresponding text for further details).

[0053] 7 is an exemplary diagram depicting a user modifying various node split parameters using a split selection user interface window. Figure 7 shows that within the split selection user interface window 650, the user 360 wishes to change the fitting function using a pointer 700. When the user 360 changes the fitting function, the decision tree modifier subsystem 310 displays the split selection user interface window 710.

[0054] The split selection user interface window 710 indicates that the user 360 changes the fit function to "linear" (720), and as the fit function changes, the decision tree corrector subsystem 310 automatically changes the node split values ​​to maximize feature importance (table 730). In addition, the decision tree corrector subsystem 310 modifies graph 740 to represent the linear fit function with corresponding split value indicators 750 and 760 that correspond to the node split values ​​shown in table 730.

[0055] User 360 can further adjust the node split values ​​by changing them in table 730 or by moving split value indicators 750 and / or 760 accordingly. Then, once user 360 has finished selecting node split features, node split fit functions, and node split values, user 360 accepts the changes and decision tree modifier subsystem 310 displays the modified decision tree based on the changes (see FIG. 8 and corresponding text for further details).

[0056] 8 is an example diagram depicting a user finalizing a set of node split parameter changes to a decision tree. Once the user 360 has determined the split parameters, including the fit function and split values ​​from FIG. 6, the user 360 selects x1 (and the corresponding modified node split parameters) using pointer 800. The decision tree corrector subsystem 310 then automatically displays a modified decision tree 810 (part of which is shown in FIG. 8) with modified child nodes branched from node 1.

[0057] 8 shows that node 1 is now split into three child nodes 3, 4, and 5 based on the node splitting parameters set by user 360 in FIG. 7. As can be seen at 810, the new child nodes are now based on feature x1 (instead of x5). Computer system 300 updates the corresponding machine learning model based on the modified decision tree and accordingly utilizes the updated machine learning model for predictive modeling.

[0058] 9 is an example diagram depicting a user interface window for creating new features using feature engineering. When a user 360 selects the "Create Feature" button 640 in FIG. 6, the decision tree modifier subsystem 310 opens a user interface window 900 that allows the user 360 to create new features for use in node splitting as discussed herein.

[0059] User 360 enters the name of the new feature in window 910 and the expression in window 920. User 360 may create multiple feature interactions (e.g., x1 + x2, x1 * x2, etc.) and / or use mathematical expressions with existing features. User 360 then selects "OK" using pointer 950, and the decision tree modifier subsystem 310 adds the new feature as entry 960 to feature selection user interface window 600. User 360 can then select the new feature entry as the node split feature for node 1.

[0060] FIG. 10 is an exemplary diagram depicting fit function and plot options based on selected features and targets. Table 1000 shows that with a continuous target and selected continuous features, a user 360 can select a mean fit function, a median fit function, a linear fit function, or a polynomial fit function. Table 1000 shows that with a continuous target and selected categorical features, a user 360 can select a conditional mean fit function or a conditional median fit function. With a categorical target and selected continuous features, table 1000 shows that a user 360 can select a mode fit function or a logit fit function. Also, with a categorical target and selected categorical features, table 1000 shows that a user 360 can select a mode fit function.

[0061] Table 1050 shows that with a continuous target and a selected continuous feature, the user 360 can select a scatter plot. Table 1050 shows that with a continuous target and a selected categorical feature, the user 360 can select a box plot by category of the selected feature. With a categorical target and a selected continuous feature, table 1050 shows that the user 360 can select a bar plot of targets at each interval of the selected feature. And with a categorical target and a selected categorical feature, table 1050 shows that the user 360 can select a bar plot grouped by category of the selected feature.

[0062] While particular embodiments of the present disclosure have been shown and described, it will be apparent to those skilled in the art that, based on the teachings herein, changes and modifications can be made without departing from the present disclosure and its broader aspects. Accordingly, the appended claims are intended to encompass within their scope all such changes and modifications as fall within the true scope of the present disclosure. It is to be further understood that the present disclosure is defined solely by the appended claims. Those skilled in the art will understand that where a specific number of introduced claim elements is intended, such intent will be expressly stated in the claims, and that no such limitation exists in the absence of such statement. As an aid to understanding, and by way of non-limiting example, the following appended claims include the use of the phrases "at least one" and "one or more" as prefaces to introduce claim elements. However, the use of such language should not be construed as implying that the introduction of a claim element by the indefinite article "a" or "an" limits a particular claim containing the claim element so introduced to a disclosure containing only one such element, even if the same claim also contains the preamble phrases "one or more" or "at least one" and an indefinite article such as "a" or "an." The same is true for the use of definite articles in a claim.

Claims

1. A method executed by one or more processors, comprising: displaying, on a user interface, in response to receiving a first user selection selecting a node in a decision tree, at least one of a set of node splitting parameters, the set of node splitting parameters including a set of node splitting values, and wherein the selected node branches in the decision tree into a set of child nodes based on the set of node splitting parameters; determining that a second user selection selects a different node splitting feature from the set of node splitting parameters; displaying a node split graph based on the different node split characteristics, wherein a statistical plot of records and a split value indicator of the node split are displayed on the node split graph, and one axis of the node split graph corresponds to the node split value; receiving a third user selection by moving the split value indicator on the one axis on the node split graph; adjusting at least one of the set of node splitting parameters of the selected node in response to receiving the third user selection; modifying the decision tree based on the adjusted set of node splitting parameters, the modified decision tree including a modified set of child nodes that branch from the selected node based on the adjusted set of node splitting parameters; A method comprising:

2. The method of claim 1 , wherein the set of node split parameters further comprises at least one of a node split feature and a node split fit function. receiving a fourth user selection of a different node split fit function in response to displaying the node split graph; displaying different node split graphs based on the different node split features and the different node split fit functions; The method of claim 2 further comprising:

4. the different node split graphs include a set of split value indicators corresponding to the set of node split values, and the method comprises: receiving a fifth user selection including a different set of node split values; modifying the set of split value indicators based on the different set of node split values ​​on the different node split graphs; The method of claim 3 further comprising:

5. In response to receiving user authorization to modify the decision tree, displaying the modified decision tree, wherein the modified set of child nodes displayed on the modified decision tree is based on the modified features, the modified fit function, and the modified set of node split values. The method of claim 4 further comprising: modifying a view of the statistical plot of the record in response to displaying the different node split graph; The method of claim 3 further comprising:

7. determining that the selected different node split feature corresponds to a new node split feature; creating the new node split features based on one or more feature engineering parameters received from the user; displaying the node split graph based on the new node split features; The method of claim 3 further comprising:

8. prior to receiving the first user selection; training a machine learning model using a dataset, wherein the trained machine learning model generates the decision tree based on the dataset; displaying the decision tree on the user interface; modifying the machine learning model based on the modified decision tree; The method of claim 1 further comprising:

9. 1. An information handling system comprising: one or more processors; a memory coupled to at least one of the processors; displaying, on a user interface, in response to receiving a first user selection selecting a node in a decision tree, at least one of a set of node splitting parameters, the set of node splitting parameters including a set of node splitting values, and wherein the selected node branches in the decision tree into a set of child nodes based on the set of node splitting parameters; determining that a second user selection selects a different node splitting feature from the set of node splitting parameters; displaying a node split graph based on the different node split characteristics, wherein a statistical plot of records and a split value indicator of the node split are displayed on the node split graph, and one axis of the node split graph corresponds to the node split value; receiving a third user selection by moving the split value indicator on the one axis on the node split graph; adjusting at least one of the set of node splitting parameters of the selected node in response to receiving the third user selection; modifying the decision tree based on the adjusted set of node splitting parameters, the modified decision tree including a modified set of child nodes that branch from the selected node based on the adjusted set of node splitting parameters; a set of computer program instructions stored in said memory and executed by at least one of said processors to perform the actions of An information handling system comprising:

10. 10. The information handling system of claim 9, wherein the set of node splitting parameters further comprises at least one of a node splitting feature and a node splitting fit function.

11. the processor: receiving a fourth user selection selecting a different node split fit function in response to displaying the node split graph; displaying different node split graphs based on the different node split features and the different node split fit functions; 11. The information handling system of claim 10, further comprising:

12. the different node split graphs including a set of split value indicators corresponding to the set of node split values, and the processor: receiving a fifth user selection including a different set of node split values; modifying the set of split value indicators based on the different set of node split values ​​on the different node split graphs; 12. An information handling system according to claim 11, further comprising:

13. the processor: In response to receiving user authorization to modify the decision tree, displaying the modified decision tree, wherein the modified set of child nodes displayed on the modified decision tree is based on the modified features, the modified fit function, and the modified set of node split values.

13. An information handling system according to claim 12, further comprising:

14. the processor: modifying a view of the statistical plot of the record in response to displaying the different node split graph; 12. An information handling system according to claim 11, further comprising:

15. the processor: determining that the selected different node split feature corresponds to a new node split feature; creating the new node split features based on one or more feature engineering parameters received from the user; displaying the node split graph based on the new node split features; 12. An information handling system according to claim 11, further comprising:

16. the processor: prior to receiving the first user selection; training a machine learning model using a dataset, wherein the trained machine learning model generates the decision tree based on the dataset; displaying the decision tree on the user interface; modifying the machine learning model based on the modified decision tree; 10. The information handling system of claim 9, further comprising:

17. A computer program product for causing one or more processors to carry out the method of any one of claims 1 to 8.

18. A computer-readable storage medium having recorded thereon a computer program for causing one or more processors to perform the method of any one of claims 1 to 8.

19. 1. A method comprising: training a machine learning model using a dataset, wherein the trained machine learning model generates a decision tree based on the dataset; displaying the decision tree on a user interface, the decision tree including a plurality of nodes; displaying at least one of a set of node splitting parameters in response to receiving a first user selection selecting one of the plurality of nodes in the decision tree, the set of node splitting parameters including a set of node splitting values, the selected node branching into a set of child nodes at the plurality of nodes based on the set of node splitting parameters; determining that a second user selection selects a different node splitting feature from the set of node splitting parameters; displaying a node split graph based on the different node split characteristics, wherein a statistical plot of records and a split value indicator of the node split are displayed on the node split graph, and one axis of the node split graph corresponds to the node split value; receiving a third user selection by moving the split value indicator on the one axis on the node split graph; adjusting at least one of the set of node splitting parameters of the selected node in response to receiving the third user selection; modifying the decision tree based on the adjusted set of node splitting parameters, the modified decision tree including a modified set of child nodes that branch from the selected node based on the adjusted set of node splitting parameters; modifying the machine learning model based on the modified decision tree; A method comprising:

Citation Information

Patent Citations

  • Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data

    US20200387832A1

  • Systems and methods of assisted strategy design

    US8930262B1

  • Decision tree generation program, decision tree generation method, and decision tree generation apparatus

    WO2010116450A1