Identifying a source dataset that is suitable for the transfer learning process to the target domain

By preprocessing and calculating similarity scores for source-target dataset pairs, the method effectively identifies suitable source datasets for transfer learning, addressing the challenge of insufficient source datasets for target domains and enabling accurate model training.

JP7665007B2Active Publication Date: 2025-04-18INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023501647
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-07-21
Filing Date
2021-06-14
Publication Date
2025-04-18
Estimated Expiration
2041-06-14

AI Technical Summary

Technical Problem

Existing machine learning techniques face challenges in identifying suitable source datasets for transfer learning, especially when sufficient source datasets are not available for target domains, making it difficult to train accurate models.

Method used

The method involves preprocessing source-target dataset pairs to remove non-intersection sequences and calculating similarity scores, including dataset similarity scores, row similarity scores, and column similarity scores, to identify the most similar source dataset for the target dataset.

Benefits of technology

This approach enables the identification of suitable source datasets for transfer learning, facilitating the training of accurate models for target domains by quantifying the similarity between source and target datasets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007665007000001
    Figure 0007665007000001
  • Figure 0007665007000002
    Figure 0007665007000002
  • Figure 0007665007000003
    Figure 0007665007000003
Patent Text Reader

Abstract

A method for quantifying similarity between a target dataset and multiple source datasets and identifying one or more source datasets that are most similar to the target dataset is provided. The method includes receiving, in a computing system, a source dataset related to a source domain and a target dataset related to a target domain of interest. Each dataset is arranged in a tabular format including columns and rows, and the source dataset and target dataset comprise the same feature space. The method also includes pre-processing each source-target dataset pair through a processor of the computing system to remove non-intersecting columns. The method further includes calculating at least two of a dataset similarity score, a row similarity score, and a column similarity score for each source-target dataset pair, summarizing the calculated similarity scores, and identifying one or more source datasets that are most similar to the target dataset.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to the field of machine learning and transfer learning. More particularly, the present disclosure relates to identifying one or more source datasets that are similar to a target dataset and therefore suitable for a transfer learning process to a target domain. Summary of the Invention

[0002] According to an embodiment described herein, a method is provided for quantifying similarity between a target dataset and a plurality of source datasets and for identifying at least one source dataset that is most similar to the target dataset. The method includes receiving, in a computing system, a source dataset related to a source domain and a target dataset related to a target domain of interest, each dataset arranged in a tabular format with columns corresponding to features of the dataset and rows corresponding to instances of the dataset, and the source dataset and the target dataset include the same feature space. The method also includes pre-processing, through a processor of the computing system, each source-target dataset pair to remove non-intersecting columns. The method further includes calculating, through the processor, at least two of a dataset similarity score, a row similarity score, and a column similarity score for each source-target dataset pair, and summarizing, through the processor, at least two of the dataset similarity score, the row similarity score, and the column similarity score for each source-target dataset pair to identify at least one source dataset that is most similar to the target dataset.

[0003] In another embodiment, a computing system is provided. The computing system includes an interface for receiving a source dataset related to a source domain and a target dataset related to a target domain of interest, each dataset arranged in a tabular format with columns corresponding to features of the dataset and rows corresponding to instances of the dataset, the source dataset and the target dataset comprising the same feature space. The computing system also includes a processor and a computer-readable storage medium storing program instructions instructing the processor to pre-process each source-target dataset pair to remove non-intersecting columns. The computer-readable storage medium also stores program instructions instructing the processor to calculate at least two of a dataset similarity score, a row similarity score, and a column similarity score for each source-target dataset pair. The computer-readable storage medium further stores program instructions instructing the processor to summarize at least two of the dataset similarity score, the row similarity score, and the column similarity score for each source-target dataset pair to identify at least one source dataset that is most similar to the target dataset.

[0004] In yet another embodiment, a computer program product is provided. The computer program product includes a computer readable storage medium having program instructions embodied therein, the computer readable storage medium being not a transitory signal itself. The program instructions are executable by the processor to cause the processor to receive a source dataset associated with a source domain and a target dataset associated with a target domain of interest, each dataset arranged in a tabular format with columns corresponding to features of the dataset and rows corresponding to instances of the dataset, the source dataset and the target dataset comprising the same feature space. The program instructions are also executable by the processor to cause the processor to pre-process each source-target dataset pair to remove non-intersecting columns. The program instructions are further executable by the processor to cause the processor to calculate at least two of a dataset similarity score, a row similarity score, and a column similarity score for each source-target dataset pair, and to summarize at least two of the dataset similarity score, the row similarity score, and the column similarity score for each source-target dataset pair to identify at least one source dataset that is most similar to the target dataset. [Brief description of the drawings]

[0005] [Figure 1] FIG. 1 is a simplified block diagram of an example computing system that can be used to implement the dataset identification techniques described herein. [Diagram 2] FIG. 1 is a process flow diagram of an exemplary embodiment of a dataset identification process described herein. [Diagram 3] 1 is a graphical representation showing how an exemplary similarity score can be calculated using the Pearson correlation function and an associated distribution histogram. [Figure 4]FIG. 1 is a simplified process flow diagram of a method for quantifying similarity between a target dataset and multiple source datasets, and for identifying one or more source datasets that are most similar to the target dataset. [Diagram 5] 1 is a schematic diagram of an exemplary cloud computing environment. [Figure 6] FIG. 6 is a simplified schematic diagram of exemplary functional abstraction layers provided by the cloud computing environment shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0006] Traditional supervised machine learning techniques involve the use of a source dataset to train a model for a particular task and domain. Specifically, the source dataset consists of input data paired with corresponding output data. During the training process, the supervised machine learning algorithm learns from examples by looking for patterns in the input data that correlate with the output data. Once the training process is complete, the resulting supervised machine learning model can be used to label or classify new input data for the same task and domain.

[0007] Such supervised machine learning techniques require a sufficient number of source datasets to train a model for a particular task and domain. Unfortunately, in many real-world scenarios, it is difficult or even impossible to obtain a sufficient number of source datasets for the target domain of interest. However, given a particular target dataset for the target domain, there are often similar source datasets from other related source domains. Thus, the transfer learning process can be conducted to the target domain using the similar source datasets.

[0008] In the machine learning community, transfer learning is the process of transferring knowledge between different domains. More specifically, transfer learning involves applying knowledge and skills learned on a previous source domain for a specific task to a new target domain of interest for a specific task by recognizing commonalities or similarities between the two domains. To successfully apply the transfer learning process to the target domain, a suitable source dataset from the source domain needs to be identified. The source dataset is then used to train an accurate model for the target domain. However, in operation, identifying a source dataset that is well-suited for the transfer learning process to the target domain is computationally challenging and often time-consuming.

[0009] Thus, the present disclosure describes techniques for identifying source datasets that are similar to a target dataset and therefore suitable for training an accurate model for a target domain using a transfer learning process. In other words, given several source datasets and a single target dataset, the techniques described herein identify one or more source datasets that may be most suitable for a transfer learning process to the target domain. This is accomplished by performing some method of pairwise comparison between pairs of source and target datasets (i.e., "source-target dataset pairs") to generate a similarity score associated with each source-target dataset pair. The similarity scores are then summarized to identify one or more source datasets that are most similar or closest to the target dataset. The identified source datasets can then be used for a transfer learning process to the target domain.

[0010] In some embodiments, the techniques described herein are used for financial fraud detection. For example, banks often use supervised machine learning techniques to train models that can automatically classify transactions, such as credit card payments, as legitimate or fraudulent based on certain transaction details, such as the payment amount, merchant, location, time, etc. Such models are effective for large banks because they usually have a sufficient number of labeled instances to accurately train classifiers for their particular tasks and domains. However, smaller banks often do not have a sufficient number of labeled instances or other resources to leverage such supervised machine learning techniques. Moreover, although such banks are interested in the same tasks, the domain of the small banks is somewhat different from that of the large banks, making it difficult or impossible to use models learned by the large banks.

[0011] Thus, in some cases, a transfer learning process can be used to apply knowledge and skills learned for a prior domain and task for large banks to a new target domain of interest for the same task for small banks. Specifically, the transfer learning process can use a source dataset from the prior domain related to large banks to train an accurate classifier for the target domain related to small banks. However, for the transfer learning process to be successful, it is necessary to identify a specific source dataset from the prior domain that is similar to the target dataset for the target domain. In various embodiments, this is accomplished using the dataset identification techniques described herein.

[0012] The embodiments described herein relate to the use of dataset identification techniques to aid in financial fraud detection, however, those skilled in the art will appreciate that the dataset identification techniques described herein are useful for any transfer learning task that benefits from the identification of one or more source datasets that are similar to a target dataset.

[0013] 1 is a simplified block diagram of an exemplary computing system 100 that can be used to implement the dataset identification techniques described herein. Computing system 100 can include one or more servers, one or more general-purpose computing devices, one or more special-purpose computing devices, one or more virtual machines, or any other suitable type or combination of computing devices. By way of example, computing system 100 may be a desktop computer, a laptop computer, a tablet computer, or a smartphone. Moreover, in some embodiments, computing system 100 is a cloud computing node.

[0014] The computing system 100 includes a processor 102 adapted to execute stored program instructions, such as program modules, as well as a memory device 104 that provides temporary memory space for the executing program instructions. The processor 102 may include any suitable processing unit or device, such as, for example, a single-core processor, a single-core processor with software multithreaded execution capabilities, a multi-core processor, a multi-core processor with software multithreaded execution capabilities, a computing cluster, a parallel platform, a parallel platform with shared memory, or any number of other configurations. Moreover, the processor 102 may include an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. The memory device 104 may include volatile memory components, non-volatile memory components, or both volatile and non-volatile memory components. Non-volatile memory components may include, for example, read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEROM), flash memory, or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory components may include, for example, RAM that can act as external cache memory. RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), and synchronous dynamic RAM (SDRAM).

[0015] In some embodiments, computing system 100 is practiced in a distributed cloud computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computing devices.

[0016] The processor 102 is connected through a system internal connection 106 (e.g., PCI®, PCI-Express®, etc.) to an input / output (I / O) device interface 108 adapted to connect the computing system 100 to one or more I / O devices 110. The I / O devices 110 may include, for example, a keyboard and a pointing device, where the pointing device may include a touchpad or a touchscreen, among others. The I / O devices 110 may be internal components of the computing system 100 or may be devices externally connected to the computing system 100.

[0017] The processor 102 is also linked to a display interface 112 adapted to connect the computing system 100 to a display device 114 through a system internal connection 106. The display device 114 may include a display screen that is an internal component of the computing system 100. The display device 114 may also include a computer monitor, a television, or a projector, among others, that is externally connected to the computing system 100. In addition, a network interface controller (NIC) 116 is adapted to connect the computing system 100 to a network 118 through the system internal connection 106. In some embodiments, the NIC 116 may transmit data using any suitable interface or protocol, such as an Internet Small Computer System Interface, among others. The network 118 may be a cellular network, a wireless network, a wide area network (WAN), a local area network (LAN), or the Internet, among others. Network 118 may include associated copper transmission cables, optical transmission fibers, wireless transmission devices, routers, firewalls, switches, gateway computers, edge servers, and the like.

[0018] One or more remote devices 120 may optionally be connected to computing system 100 through network 118. Additionally, one or more databases 122 may optionally be connected to computing system 100 through network 118. In some embodiments, one or more databases 122 store data related to machine learning tasks and / or transfer learning tasks. For example, database 122 may include source datasets from one or more relevant source domains. In such embodiments, computing system 100 may access or download at least a portion of the source datasets from the source domains during the dataset identification process described herein.

[0019] The computing system 100 also includes a computer-readable storage medium 124 that includes program instructions that may be executed by the processor 102 to perform various operations, such as the dataset identification process described herein. The computer-readable storage medium 124 may be integrated into the computing system 100 or may be an external device that is connected to the computing system 100 during use. The computer-readable storage medium 124 may include, for example, 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 medium 124 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 on which instructions are recorded, and any suitable combination of the foregoing. Moreover, as used herein, the term "computer-readable storage medium" is not to be construed as being a transitory signal itself, 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 a fiber optic cable), or electrical signals transmitted over electrical wires. In some embodiments, the NIC 116 receives program instructions from the network 118 and transfers the program instructions to a computer-readable storage medium 124 within the computing system 100 for storage.

[0020] Generally, the program instructions that comprise a program module include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. For example, the program instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, C++, and traditional procedural programming languages ​​such as the “C” programming language or similar programming languages. The program instructions may be executed entirely on the computing system 100, partially on the computing system 100 as a stand-alone software package, partially on the computing system 100 and partially on a remote computer or server connected to the computing system 100 via the network 118, or entirely on such remote computer or server. 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 program instructions to customize the electronic circuitry by utilizing state information of the program instructions to perform aspects of the techniques described herein.

[0021] According to embodiments described herein, the computer-readable storage medium 124 includes program modules for performing the dataset identification process described herein. In particular, the computer-readable storage medium 124 includes a dataset pre-processing module 126, a feature selection module 128, a dataset similarity calculation module 130, a row similarity calculation module 132, a column similarity calculation module 134, and a similarity score summarization module 136. The manner in which such modules may be executed to perform the dataset identification process described herein is further described with respect to FIGS. 2-4.

[0022] It should be understood that the block diagram of FIG. 1 is not intended to indicate that computing system 100 includes all of the components depicted in FIG. 1. Rather, computing system 100 may include fewer components or additional components not depicted in FIG. 1 (e.g., additional processors, additional memory components, embedded controllers, additional modules, additional network interfaces, etc.). Furthermore, any of the functionality associated with the dataset identification process described herein may be implemented, in part or in whole, in hardware, or in processor 102, or both. For example, such functionality may be implemented using an ASIC, among others, using logic implemented in an embedded controller, or in logic implemented in processor 102, or combinations thereof. In some embodiments, functionality associated with the dataset identification process described herein may be implemented using logic, which as referred to herein may include any suitable hardware (e.g., a processor, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware.

[0023] 2 is a process flow diagram of an exemplary embodiment of a dataset identification process 200 described herein. Like numbered items are as described with respect to FIG. 1. In various embodiments, method 200 is performed by computing system 100 as described with respect to FIG. 1. In particular, method 200 may be performed by processor 102 through execution of modules 126-136 in computer-readable storage medium 124.

[0024] According to embodiments described herein, the dataset identification process 200 includes two forms of input: (1) multiple source datasets 202 related to the source domain, and (2) a single target dataset 204 related to the target domain of interest. In various embodiments, the data in each dataset 202 and 204 is represented as a vector of numbers arranged in a tabular format with multiple rows and multiple columns, where the columns intersect with the rows to define individual cells in the table. Each column in a particular dataset represents a feature of the dataset. Additionally, each row in a particular dataset represents a single instance of the dataset. Moreover, when the numbers in each cell of a particular row, i.e., the instances, are combined into individual vectors, each vector represents a single feature vector of the dataset. According to embodiments described herein, the dataset identification process 200 considers that the source dataset 202 and the target dataset 204 are from the same feature space, meaning that most of the columns in the datasets 202 and 204 are identical, in other words, the columns mostly intersect.

[0025] At block 206, each source-target dataset pair is pre-processed. In various embodiments, this involves utilizing standard data pre-processing techniques to prepare the dataset for the dataset identification process 200. In particular, this includes removing non-intersecting columns from the dataset (if present) so that the dataset contains only the intersecting columns. In addition, pre-processing the dataset may include any (or all) of the following steps: (1) filling missing values ​​in the dataset, (2) removing all irrelevant or unimportant columns from the dataset, (3) aligning the datasets so that the intersecting columns are of the same order, so that vectors of numerical values ​​are directly correlated between the datasets, and (4) standardizing the values ​​in the datasets. Moreover, any number of additional or alternative pre-processing steps may be performed depending on the details of a particular implementation.

[0026] At block 208, feature selection is optionally performed for each source-target dataset pair. In some embodiments, feature selection includes identifying and removing the best-splitting column from each source-target dataset pair. More specifically, for each source-target dataset pair, a predetermined number of columns that best split the datasets are identified and removed. According to embodiments described herein, this is accomplished by first labeling each instance of each source dataset as a "0" and each instance of the target dataset as a "1". Then, for each source-target dataset pair, a machine learning model is trained to distinguish between the two datasets. The machine learning model may include, for example, a decision tree model, a deep learning model, a simple classification model, a regression model, or a maze-based model. In various embodiments, the machine learning model for each source-target dataset pair includes the most important features. The most important features are the features that include the highest level of dissimilarity between the two datasets and may be domain-relevant for each dataset. As an example, if the two datasets differ by country, the most important features may be language features or country features. In various embodiments, the manner in which the most important features are identified varies depending on the type of model used. For example, if the machine learning model is a decision tree model, the model may automatically output various metrics, including ranking the features by importance level.

[0027] Once the most important features are identified, the columns corresponding to the most important features are removed from both datasets in the source-target dataset pair. According to embodiments described herein, the columns corresponding to the most important features are referred to as "optimal splitting columns" because they are the columns that contain the most dissimilar (i.e., most separating) values ​​between the two datasets. Moreover, by removing the optimal splitting columns, the datasets become more similar, and therefore the overall machine learning task becomes more difficult.

[0028] After the optimal splitting sequence is removed, the machine learning model is retrained to distinguish between the two datasets. This process of training the machine learning model and then removing the optimal splitting sequence is repeated for a predetermined number of iterations, k. Thus, for each source-target dataset pair, once this iterative process is complete, the source and target datasets have been filtered to remove the predetermined number, k, of optimal splitting sequences. The dataset identification process 200 may then proceed to the similarity calculation step at blocks 210-214 using the filtered datasets.

[0029] In various embodiments, the value of k varies depending on the number of intersecting columns in the data set. For example, the value of k may be equal to about 10% of the total number of intersecting columns. As a more specific example, if the data set includes 1000 intersecting columns, a total of about 100 optimal partitioning columns may be removed. Moreover, in some embodiments, more than one optimal partitioning column is removed during each iteration. For example, about 2-10 optimal partitioning columns may be removed during each iteration. Using the same example, 10-50 iterations may then be used to remove a total of 100 optimal partitioning columns from the data set. Thus, in such embodiments, the predetermined number of iterations may be represented as n, and the predetermined number of optimal partitioning columns may be represented as k.

[0030] In other embodiments, feature selection involves removing columns with the most dissimilar distribution of values ​​between the source and target datasets in each source-target dataset pair. In some embodiments, this is accomplished by creating a value distribution approximation, such as a distribution histogram, for each column in the source dataset and each column in the target dataset. The value distribution approximation for a particular column in the source dataset may then be compared to the value distribution approximation for the corresponding column in the target dataset. This comparison may be accomplished using any suitable similarity function, such as, for example, a Pearson correlation function, a cosine similarity function, or a Euclidean distance function. In various embodiments, a threshold is set for the similarity function, such as, for example, a threshold for bins of >0.3 when a Pearson correlation function is used. In this manner, the most dissimilar columns are removed from each source-target dataset pair, and the resulting remaining columns or features are selected for the dataset identification process 200. In other embodiments, instead of setting a threshold for the similarity function, a predetermined percentage of columns with the lowest distribution similarity scores are removed, and the remaining columns or features are used for the dataset identification process 200.

[0031] As another example, in embodiments in which the source datasets are labeled, feature selection may include selecting features based on the relative importance of the features for solving the machine learning task for each source-target dataset pair using existing feature selection methods. Examples of such methods include correlation-based feature selection, information gain-based feature selection, and learner-based feature selection. In such embodiments, once the features have been ranked by importance, columns corresponding to the least important features are removed from the dataset, and the remaining columns or features are used in the dataset identification process 200.

[0032] At block 210, a dataset similarity score is calculated for each source-target dataset pair. In embodiments where the feature selection at block 208 includes identifying an optimal split column within each source-target dataset pair, the output of block 208 may be used to calculate a dataset similarity score for each source-target dataset pair. In some embodiments, the process of training the machine learning model and then removing the optimal split column may be repeated for a predetermined number of additional iterations in addition to the k iterations performed in the feature selection step of block 208. In such embodiments, the output of block 208 may be used in combination with the output from the predetermined number of additional iterations to calculate a dataset similarity score for each source-target dataset pair. Additionally, in embodiments where an optimal split column within each source-target dataset pair is not identified at block 208, the iterative optimal split column identification process described with respect to block 208 is performed at block 210. For each source-target dataset pair, the output of this iterative process is a machine learning model for each iteration, where each machine learning model is trained to split the two datasets in the source-target dataset pair after removing one or more optimal split columns during a particular iteration.

[0033] For each source-target dataset pair, the results of the machine learning model from each iteration may then be analyzed, for example, by checking common metrics associated with the model. If the machine learning model for a particular iteration produces low-quality results, this means that the model was unable to distinguish between the two datasets, which therefore contain relatively similar values. Conversely, if the machine learning model produces high-quality results, this means that the model was able to effectively distinguish between the two datasets, which therefore contain relatively dissimilar values. According to embodiments described herein, this concept is utilized to generate a dataset similarity score for each source-target dataset pair. This is accomplished by first determining the overall accuracy of the machine learning model for the source-target dataset pair, where the term "accuracy" refers to the ratio of the number of correct predictions made by the model compared to the total number of predictions made by the model. In various embodiments, the overall accuracy of the model may be determined using any suitable type of evaluation metric associated with the machine learning problem. For example, the overall accuracy of a model may be determined by calculating the average accuracy of all models generated for a particular source-target dataset pair, or by calculating the area-under-the-curve (AUC) score of the models generated during the final iteration of the process.

[0034] A dataset similarity score is then calculated for each source-target dataset pair, where the dataset similarity score is equal to (1-overall accuracy). A higher overall accuracy means that the datasets are less similar, so a lower dataset similarity score also means that the datasets are less similar. As a result, the pairwise comparison method of block 210 determines that the source-target dataset pair with the highest dataset similarity score is the most similar.

[0035] At block 212, a row similarity score is calculated for each source-target dataset pair. In various embodiments, this is accomplished by calculating a distance score between each instance of the target dataset and each instance of each source dataset. In operation, the distance scores may be calculated by comparing feature vectors within each source-target dataset pair. The distance scores for each instance of each source-target dataset pair are then ranked and summarized to find an average (or weighted average) of a predetermined percentage, e.g., 5% of the maximum distance score for each source-target dataset pair. The average minimum distance score obtained for each source-target dataset pair is then output as the row similarity score for the source-target dataset pair.

[0036] In various embodiments, this pairwise comparison method can be computationally challenging and time consuming since each instance in each data set must be compared. Therefore, according to embodiments described herein, a clustering-based optimization process can be used to perform pairwise comparison more quickly and efficiently. In various embodiments, the clustering-based optimization process involves performing several steps for each source-target data set pair. First, the cluster centroids for each instance of each source data set are calculated using a clustering algorithm, such as a k-means clustering algorithm (also referred to as the Lloyd algorithm). Then, each feature vector for each source data set is represented by the closest centroid. Second, the closest centroids for each instance of the target data set are calculated. Third, the shortest distance between each feature vector in the target data set and each feature vector from the source data set that resides in the closest cluster is calculated. Time is saved by only calculating the shortest distance for feature vectors from the source data set that reside in the closest cluster, eliminating unnecessary calculations. Fourth, the distance summarization step described above is performed to find the average minimum distance score for each source-target dataset pair, which is equal to the row similarity score for the source-target dataset pair.

[0037] At block 214, a column similarity score is calculated for each source-target dataset pair. Specifically, since the source dataset and the target dataset contain corresponding columns, a similarity score for each source-target dataset pair is calculated for each column. In various embodiments, such similarity scores are calculated by creating a value distribution approximation, such as a distribution histogram, for the values ​​of each column. The value distribution approximation for a particular column of the source dataset may then be compared to the value distribution approximation for the corresponding column of the target dataset. This comparison may be accomplished using any suitable similarity function, such as, for example, a Pearson correlation function, a cosine similarity function, or a Euclidean distance function. The resulting similarity scores for corresponding columns in each source-target dataset pair are then summarized to output a single column similarity score for each source-target dataset pair. Moreover, one skilled in the art will appreciate that although embodiments are described herein with respect to the use of distribution histograms to calculate column similarity scores, any number of other suitable value distribution approximations may also be used to calculate column similarity scores.

[0038] In some embodiments, the similarity scores for the columns are summarized by finding the average of all the similarity scores. In other embodiments, the similarity scores for the columns are summarized by finding a weighted average of all the similarity scores, where the weights are calculated based on the relative importance of each column. In such embodiments, if the source dataset is labeled, an existing feature ranking method based on the task for the source domain may be used to determine the weight of each feature. Examples of such existing feature ranking methods include information gain techniques and analysis of variance (ANOVA) techniques. Alternatively, if the source dataset is unlabeled, any suitable heuristic process may be used to determine the feature weights, such as a heuristic process that utilizes an entropy metric. In various embodiments, summarizing the similarity scores by calculating a weighted average in this manner allows for more important features to have a greater impact on whether the datasets are similar. Moreover, in other embodiments, any number of other techniques may also be utilized to summarize the similarity scores for the columns such that a single column similarity score is obtained for each source-target dataset pair.

[0039] In some embodiments, two of the similarity calculation steps of blocks 210-214 are performed in each implementation of the dataset identification process 200. For example, in some embodiments, only the dataset similarity scores and row similarity scores are calculated. In other embodiments, only the row similarity scores and column similarity scores are calculated. In other embodiments, only the dataset similarity scores and column similarity scores are calculated. Moreover, in other embodiments, only one of the similarity calculation steps of blocks 210-214 is performed in each implementation of the dataset identification process 200. Furthermore, in other embodiments, all three of the similarity calculation steps of blocks 210-214 are performed in each implementation of the dataset identification process 200.

[0040] In various embodiments, the computer-readable storage medium 124 includes program instructions, e.g., program modules (not shown), that instruct the processor 102 to determine which similarity calculation steps to perform for each implementation of the dataset identification process 200. In some embodiments, this determination may be based on a general evaluation of, e.g., the source and target datasets, the type of task to be performed, or the expected accuracy of each type of similarity score, or a combination thereof. Moreover, in some embodiments, the computer-readable storage medium 124 also (or alternatively) includes program instructions (not shown) that instruct the processor 102 to determine which similarity scores to use for the summarization step described with respect to block 216. For example, in some embodiments, all three similarity scores may be calculated in blocks 210-214. However, if the processor 102 determines that the other similarity scores are less highly relevant or less accurate, the processor 102 may select only two of the calculated similarity scores to be used for the summarization step.

[0041] In block 216, the similarity scores from blocks 210, 212, and / or 214 are summarized for implementations of the dataset identification process 200 in which at least two of the similarity calculation steps of blocks 210-214 are performed. In other words, the dataset similarity scores, row similarity scores, and / or column similarity scores for each source-target dataset pair are combined to find an overall similarity score between each source-target dataset pair. In some embodiments, this involves normalizing the dataset similarity scores, row similarity scores, and / or column similarity scores for each source-target dataset pair and then simply adding the scores to determine an overall similarity score for the source-target dataset pair. In other embodiments, this involves finding the average similarity score, median similarity score, and / or maximum similarity score for each source-target dataset pair. In other embodiments, this includes finding a weighted average of the dataset similarity scores, row similarity scores, or column similarity scores, or a combination thereof, for each source-target dataset pair. In other embodiments, this includes using an aggregation function to determine an overall similarity score for each source-target dataset pair based on the corresponding dataset similarity scores, row similarity scores, or column similarity scores, or a combination thereof. Moreover, one skilled in the art will appreciate that any suitable summarization technique may be used to summarize the similarity scores, depending on the details of a particular implementation.

[0042] At block 218, the dataset identification process 200 outputs the source dataset with the highest score. For example, in some embodiments, the dataset identification process 200 outputs a list of source datasets with the highest overall similarity scores, or a ranking of the source datasets by overall similarity score, or both. In some embodiments, the processor 102 of the computing system 100 displays the list or ranking to a user via the display device 114, or to one or more remote users at one or more remote devices 120 via the network 118, or a combination thereof. For example, the list or ranking may be displayed as one or more charts, diagrams, or graphs, or a combination thereof. Displaying the list or ranking to a user can facilitate user selection of one or more source datasets with the highest overall similarity scores to be used in the transfer learning process to the target domain.

[0043] In other embodiments, the computer-readable storage medium 124 includes program instructions (not shown) that instruct the processor 102 to autonomously select a designated number of source datasets having a maximum overall similarity score to be used in the transfer learning process for the target domain. The designated number of source datasets may be, for example, about 2-5 source datasets, depending on the details of the specific implementation. In some embodiments, the processor 102 of the computing system 100 displays one or more charts, diagrams, and / or graphs to a user to provide an explanation of the autonomous selection.

[0044] 2 is not intended to indicate that blocks 206-218 of dataset identification process 200 are performed in any particular order or that all of blocks 206-218 of dataset identification process 200 are included in all cases. Moreover, any number of additional blocks may be included within dataset identification process 200 depending on the details of a particular implementation. For example, in some embodiments, dataset identification process 200 includes using a selected source dataset with a maximum overall similarity score to train a classification model for the target domain using a transfer learning process. In particular, the selected source dataset may be used to train a classifier for the classification model.

[0045] FIG. 3 is a diagrammatic representation showing how exemplary similarity scores 300A and 300B can be calculated using a Pearson correlation function and associated distribution histograms 302A-302D. According to the example shown in FIG. 3, distribution histograms 302A and 302B, and distribution histograms 302C and 302D are created using corresponding columns in the source and target datasets. In other words, distribution histograms 302A and 302B, and distribution histograms 302C and 302D are associated with the same features. A Pearson correlation function is then used to compare distribution histograms 302A and 302B, and distribution histograms 302C and 302D. The Pearson correlation function then outputs similarity scores 300A and 300B for the two columns, where a similarity score closer to 1 indicates more similar columns. 3, distribution histograms 302C and 302D have a similarity score 300A of 0.4363, and distribution histograms 302A and 302B have a similarity score 300A of -0.3351. Thus, the columns associated with distribution histograms 302C and 302D are relatively similar, while the columns associated with distribution histograms 302A and 302B are very dissimilar.

[0046] 4 is a simplified process flow diagram of a method 400 for quantifying similarity between a target dataset and multiple source datasets and for identifying one or more source datasets that are most similar to the target dataset. In various embodiments, the method 400 is performed by the computing system 100 described with respect to FIG. 1. In particular, the method 400 may be performed by the processor 102 through execution of modules 126-136 in the computer-readable storage medium 124.

[0047] The method 400 begins at block 402, where a source dataset associated with a source domain and a target dataset associated with a target domain of interest are received at a computing system. Each dataset is arranged in a tabular format with columns corresponding to features of the dataset and rows corresponding to instances of the dataset. In addition, the source dataset and the target dataset comprise the same feature space. Moreover, in various embodiments, the source domain and the target domain are associated with the same task, such as, for example, financial fraud detection.

[0048] At block 404, each source-target dataset pair is pre-processed through a processor of the computing system to remove non-intersecting columns. In some embodiments, each source-target dataset pair is also pre-processed to fill missing values, to remove irrelevant or unimportant columns, to align the datasets so that columns are in the same order, and / or to standardize values ​​within the datasets.

[0049] At least two of a dataset similarity score, a row similarity score, and a column similarity score are calculated for each source-target dataset pair via a processor at block 406. In various embodiments, calculating the dataset similarity score for each source-target dataset pair includes iteratively performing the following for each source-target dataset pair until a predetermined number of optimal split columns have been removed from the source-target dataset pair: (1) training a machine learning model to distinguish between the source and target datasets in the source-target dataset pair, (2) identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column in the source-target dataset pair, and (3) removing from each source-target dataset pair the one or more optimal split columns corresponding to the one or more most important features. In addition, calculating a dataset similarity score for each source-target dataset pair includes, for each source-target dataset pair, after a predetermined number of optimal split columns have been removed, performing the following: (1) determining an overall accuracy of the machine learning model generated during each iteration; and (2) calculating a dataset similarity score for the source-target dataset pair, where the dataset similarity score is equal to 1 minus the overall accuracy of the machine learning model, with the dataset similarity score closer to 1 indicating that the source dataset and the target dataset are more similar.Additionally, in various embodiments, computing the row similarity scores includes, for each source-target dataset pair, (1) computing distance scores between each instance of the target dataset and each instance of the source dataset by performing a clustering-based optimization process, (2) summarizing the distance scores to find an average minimum distance score for the source-target dataset pair, and (3) outputting the average minimum distance score as the row similarity score for the source-target dataset pair. Furthermore, in various embodiments, computing the column similarity scores includes, for each source-target dataset pair, (1) creating a value distribution approximation, such as a distribution histogram, for each column in the source dataset and for each column in the target dataset, (2) comparing the value distribution approximations for corresponding columns in the source dataset and the target dataset using a similarity function, where the output of the similarity function is a similarity score for each corresponding column, and (3) summarizing the similarity scores for corresponding columns to find a column similarity score for the source-target dataset pair.

[0050] At block 408, the calculated similarity scores for each source-target dataset pair are summarized through a processor to identify one or more source datasets that are most similar to the target dataset. In various embodiments, this includes finding the sum, average, median, maximum, weighted average, aggregate, or another summary statistic of the calculated similarity scores for each source-target dataset pair, and outputting the sum, average, median, maximum, weighted average, aggregate, or another summary statistic of the calculated similarity scores as an overall similarity score for each source-target dataset pair.

[0051] The block diagram of FIG. 4 is not intended to indicate that blocks 402-408 of method 400 are performed in any particular order or that all of blocks 402-408 of method 400 are included in all instances. Moreover, any number of additional blocks may be included in method 400 depending on the details of a particular implementation. For example, in some embodiments, method 400 also includes training a classification model via a transfer learning process for the target domain using at least one source dataset that is most similar to the target dataset. Furthermore, in some embodiments, method 400 includes displaying a list or ranking of source datasets that are most similar to the target dataset through a display device of the computing system. This may facilitate user selection of one or more source datasets to use for the transfer learning process. In other embodiments, the computing system autonomously selects one or more datasets to use for the transfer learning process and optionally displays one or more charts, diagrams, or graphs, or a combination thereof, to the user to provide an explanation of the autonomous selection.

[0052] In various embodiments, the method 400 also includes performing, via the processor, feature selection for each source-target dataset pair prior to calculating at least two of the dataset similarity score, row similarity score, and column similarity score for each source-target dataset pair. In some embodiments, performing feature selection includes iteratively performing, for each source-target dataset pair, the following until a predetermined number of optimal split columns have been removed from the source-target dataset pair: (1) training a machine learning model to distinguish between the source and target datasets in the source-target dataset pair; (2) identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column in the source-target dataset pair; and (3) removing the one or more optimal split columns corresponding to the one or more most important features from each source-target dataset pair. Additionally, in such embodiments, performing feature selection includes identifying columns remaining in the source-target dataset pair as selected features. Moreover, in such embodiments, the results of the feature selection process may be used to calculate a dataset similarity score for the source-target dataset pair, thus simplifying the overall dataset similarity score calculation process.

[0053] The present invention may be a computing system, a method, and / or a computer program product, which may include a computer-readable storage medium having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0054] 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.

[0055] 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 of the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing the specified logical function. 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 in fact be executed substantially simultaneously, 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 illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or executes a combination of dedicated hardware and computer instructions.

[0056] In some scenarios, the techniques described herein may be implemented in a cloud computing environment, as described in more detail with respect to Figures 5 and 6. Although the present disclosure may include descriptions of cloud computing, it should be understood in advance that implementations of the techniques described herein are not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0057] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing units, memory, storage devices, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with the service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0058] At least five characteristics are:

[0059] (1) On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed without requiring human interaction with the service provider.

[0060] (2) Broad Network Access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin-client and thick-client platforms (e.g., cell phones, laptops, and PDAs).

[0061] (3) Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated according to demand. There is a sense of location independence, in that consumers typically have no control or information about the exact location of the resources provided, although location may be specified at a higher level of abstraction (e.g., country, state, or data center).

[0062] (4) Rapid Scalability: Capabilities can be provisioned quickly and elastically, in some cases automatically, quickly scaled out, quickly released, and quickly scaled in. To the consumer, the capabilities available for provisioning often appear unlimited, and any amount can be purchased at any time.

[0063] (5) Metering of Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at several levels of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being used.

[0064] There are at least three service models:

[0065] (1) Software as a Service (SaaS): The functionality provided to the consumer is the use of the provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functions, with the exception of limited user-specific application configuration settings.

[0066] (2) Platform as a Service (PaaS): The functionality offered to the consumer is the deployment of consumer-created or acquired applications written using programming languages ​​and tools supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the application hosting environment configuration.

[0067] (3) Infrastructure as a Service (IaaS): The functionality provided to the consumer is the provisioning of processing, storage, network, and other basic computing resources on which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and in some cases limited control over select networking components (e.g., host firewalls).

[0068] There are at least four deployment models:

[0069] (1) Private Cloud: The cloud infrastructure is operated exclusively for an organization, can be managed by that organization or a third party, and can exist on-premise or off-premise.

[0070] (2) Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with a shared set of objectives (e.g., mission, security requirements, policies, and compliance concerns). It may be managed by the organization or a third party and can exist on-premise or off-premise.

[0071] (3) Public Cloud: The cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services.

[0072] (4) Hybrid Cloud: Cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a unique entity, but are joined by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing across clouds).

[0073] Cloud computing environments are service-oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0074] FIG. 5 is a schematic diagram of an exemplary cloud computing environment 500. As shown, the cloud computing environment 500 includes one or more cloud computing nodes 502 that can communicate with local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or cell phone 504A, a desktop computer 504B, a laptop computer 504C, or an automobile computer system 504N, or a combination thereof. The cloud computing nodes 502 can communicate with each other. They can be physically or virtually grouped in one or more networks (not shown), such as a private, community, public, or hybrid cloud, or a combination thereof, as described herein above. This allows the cloud computing environment 500 to provide infrastructure, platform, and / or software as a service without the cloud consumer having to maintain resources on a local computing device. It will be understood that the types of computing devices 504A-N shown in FIG. 5 are intended for illustration only, and that the cloud computing node 502 and cloud computing environment 500 can communicate with any type of computerized device over any type of network or network addressable connection (e.g., using a web browser), or both.

[0075] Figure 6 is a simplified schematic diagram of exemplary functional abstraction layers 600 provided by the cloud computing environment 500 shown in Figure 5. It should be understood in advance that the components, layers, and functions shown in Figure 6 are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:

[0076] The hardware and software layer 602 includes hardware and software components. Examples of hardware components include mainframes, such as IBM® zSeries® systems, RISC (reduced instruction set computer) architecture-based servers, such as IBM pSeries® systems, IBM xSeries® systems, and IBM BladeCenter® systems, storage devices, networks, and networking components. Examples of software components include network application server software, such as IBM WebSphere® application server software, and database software, such as IBM DB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, and DB2 are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide.)

[0077] The virtualization layer 604 provides an abstraction layer that can provide the following examples of virtual entities: virtual servers, virtual storage, virtual networks including virtual private networks, virtual applications and operating systems, and virtual clients. In one example, the management layer 606 can provide the functions described below. Resource provisioning provides dynamic procurement of computing and other resources utilized to perform tasks within the cloud computing environment. Metering and billing provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. A user portal provides consumers and system administrators with access to the cloud computing environment. Service level management provides allocation and management of cloud computing resources such that required service levels are met. Service level agreement (SLA) planning and fulfillment provides advance agreement on cloud computing resources where future demand is anticipated according to SLAs, and procurement of cloud computing resources.

[0078] The Workload Layer 608 provides examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functions that may come from this layer include: mapping and navigation, software development and lifecycle management, virtual classroom instructional delivery, data analytics processing, transaction processing, and running source data set identification techniques.

[0079] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used in this specification is chosen to best explain the principles of the embodiments, practical applications, or technical improvements over the art found in the market, or to allow others skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A method for quantifying similarity between a target dataset and a plurality of source datasets and for identifying at least one source dataset that is most similar to said target dataset, comprising: In a computing system, receiving a source dataset related to a source domain and a target dataset related to a target domain of interest, each dataset arranged in a tabular format with columns corresponding to features of the dataset and rows corresponding to instances of the dataset, the source dataset and the target dataset comprising the same feature space; pre-processing, via a processor of said computing system, each source-target dataset pair to remove non-intersecting columns; calculating, through the processor, at least two of a dataset similarity score, a row similarity score, and a column similarity score for each source-target dataset pair; summarizing, through the processor, the at least two of the dataset similarity scores, the row similarity scores, and the column similarity scores for each source-target dataset pair to identify at least one source dataset that is most similar to the target dataset; A method comprising: Calculating the dataset similarity score includes, for each source-target dataset pair: for said source-target data set pair, until a predetermined number of optimal splitting columns have been removed from said source-target data set pair. training a machine learning model to distinguish between the source dataset and the target dataset in the source-target dataset pair; identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column within the source-target dataset pair; and removing the one or more optimal splitting sequences corresponding to the one or more most important features from the source-target dataset pair; Repeatedly executing determining an overall accuracy of the machine learning model generated during each iteration; and calculating the dataset similarity score for the source-target dataset pair, the dataset similarity score being equal to 1 minus the overall accuracy of the machine learning model, a dataset similarity score closer to 1 indicating that the source and target datasets are more similar; Calculating the row similarity scores includes, for each source-target dataset pair: calculating a distance score between each instance of the target dataset and each instance of the source dataset by performing a clustering-based optimization process; summarizing the distance scores to find an average minimum distance score for the source-target dataset pair; and outputting the average minimum distance score as the row similarity score for the source-target dataset pair; Calculating the column similarity scores includes, for each source-target dataset pair: generating a value distribution approximation for each column in the source data set and for each column in the target data set; comparing the value distribution approximations for corresponding columns in the source and target datasets using a similarity function, the output of the similarity function being a similarity score for each corresponding column; and summarizing the similarity scores for the corresponding columns to find the column similarity scores for the source-target data set pair. method.

2. 10. The method of claim 1, comprising training a classification model for the target domain via a transfer learning process that utilizes the at least one source dataset that is most similar to the target dataset.

3. Pre-processing each source-target dataset pair includes: filling in missing values ​​in each source-target dataset pair; removing irrelevant or unimportant columns from each source-target dataset pair; aligning the source and target data sets in each source-target data set pair so that the columns are in the same order; and standardizing the values ​​in each source-target data set pair. The method of claim 1 , further comprising at least one of:

4. 2. The method of claim 1 , further comprising performing, via the processor, feature selection for each source-target dataset pair prior to calculating the at least two of the dataset similarity score, the row similarity score, and the column similarity score for each source-target dataset pair.

5. performing feature selection for each source-target dataset pair; for each source-target data set pair, until a predetermined number of optimal splitting columns have been removed from said source-target data set pair; training a machine learning model to distinguish between the source dataset and the target dataset in the source-target dataset pair; identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column within the source-target dataset pair; and removing the one or more optimal splitting sequences corresponding to the one or more most important features from the source-target dataset pair; Repeatedly executing identifying the remaining columns in each source-target dataset pair as selected features; The method of claim 4 , comprising:

6. Summarizing the at least two of the dataset similarity scores, the row similarity scores, and the column similarity scores for each source-target dataset pair, for each source-target dataset pair, finding a sum, mean, median, maximum, weighted average, aggregation, or another summary statistic of the at least two of the dataset similarity score, the row similarity score, and the column similarity score; outputting the sum, the mean, the median, the maximum, the weighted average, the aggregation, or another summary statistic of the at least two of the dataset similarity score, the row similarity score, and the column similarity score as an overall similarity score for each source-target dataset pair; The method of claim 1 , comprising:

7. 1. A computing system comprising: an interface for receiving a source dataset related to a source domain and a target dataset related to a target domain of interest, each dataset arranged in a tabular format with columns corresponding to features of said dataset and rows corresponding to instances of said dataset, said source dataset and said target dataset comprising the same feature space; A processor; The processor, pre-processing each source-target dataset pair to remove non-intersecting columns; For each source-target dataset pair, computing at least two of a dataset similarity score, a row similarity score, and a column similarity score; summarizing the at least two of the dataset similarity scores, the row similarity scores, and the column similarity scores for each source-target dataset pair to identify at least one source dataset that is most similar to the target dataset; A computer-readable storage medium storing program instructions for instructing a computer to: Calculating the row similarity scores comprises: for each source-target data set pair, until a predetermined number of optimal splitting columns have been removed from said source-target data set pair; training a machine learning model to distinguish between the source dataset and the target dataset in the source-target dataset pair; identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column within the source-target dataset pair; and removing the one or more optimal splitting sequences corresponding to the one or more most important features from the source-target dataset pair; Repeatedly executing determining an overall accuracy of the machine learning model generated during each iteration for each source-target dataset pair; calculating the dataset similarity score for each source-target dataset pair, the dataset similarity score being equal to 1 minus the overall accuracy of the machine learning model, a dataset similarity score closer to 1 indicating that the source and target datasets are more similar; Calculating the row similarity scores comprises: calculating a distance score between each instance of the target dataset and each instance of the source dataset by performing a clustering-based optimization process; summarizing the distance scores to find an average minimum distance score for the source-target dataset pair; outputting the average minimum distance score as the row similarity score for the source-target dataset pair; and calculating the row similarity score for each source-target dataset pair by: Calculating the string similarity scores comprises: generating a value distribution approximation for each column in the source data set and for each column in the target data set; comparing the value distribution approximations for corresponding columns in the source and target datasets using a similarity function, the output of the similarity function being a similarity score for each corresponding column; summarizing the similarity scores for the corresponding columns to find the column similarity scores for the source-target dataset pair; and calculating the column similarity scores for each source-target dataset pair by the computer-readable storage medium; A computing system comprising:

8. 8. The system of claim 7, wherein the computer-readable storage medium stores program instructions that instruct the processor to train a classification model for the target domain via a transfer learning process that utilizes the at least one source dataset that is most similar to the target dataset.

9. The computer readable storage medium may further include a processor configured to: filling in missing values ​​in each source-target dataset pair; removing irrelevant or unimportant columns from each source-target dataset pair; aligning the source and target datasets in each source-target dataset pair such that the columns are in the same order; 8. The system of claim 7, further storing program instructions directing the system to further pre-process each source-target dataset pair to perform at least one of: filtering the values ​​in each source-target dataset pair; and standardizing the values ​​in each source-target dataset pair.

10. 8. The system of claim 7, wherein the computer-readable storage medium stores program instructions instructing the processor to perform feature selection for each source-target dataset pair prior to calculating the at least two of the dataset similarity score, the row similarity score, and the column similarity score for each source-target dataset pair.

11. The computer readable storage medium may further include a processor configured to: for each source-target data set pair, until a predetermined number of optimal splitting columns have been removed from said source-target data set pair; training a machine learning model to distinguish between the source dataset and the target dataset in the source-target dataset pair; identifying one or more most important features for the machine learning model, each of the one or more most important features corresponding to an optimal split column within the source-target dataset pair; and removing the one or more optimal splitting sequences corresponding to the one or more most important features from the source-target dataset pair; Repeatedly executing identifying the remaining columns in each source-target dataset pair as selected features; 11. The system of claim 10, further comprising program instructions for performing feature selection for each source-target dataset pair by:

12. The computer readable storage medium may further include a processor configured to: for each source-target dataset pair, finding a sum, mean, median, maximum, weighted average, aggregation, or another summary statistic of the at least two of the dataset similarity score, the row similarity score, and the column similarity score; outputting the sum, the mean, the median, the maximum, the weighted average, the aggregation, or another summary statistic of the at least two of the dataset similarity score, the row similarity score, and the column similarity score as an overall similarity score for each source-target dataset pair; 8. The system of claim 7, further storing program instructions for summarizing the at least two of the dataset similarity scores, the row similarity scores, and the column similarity scores for each source-target dataset pair by:

13. A computer program product, the computer program product being configured to cause a computer to carry out the method according to any one of claims 1 to 6.

14. A computer readable storage medium having recorded thereon the computer program of claim 13.

Citation Information

Patent Citations

  • Data classification predicting device, method and program

    JP2013171329A

  • Information processing device, information processing method and program

    JP2017224156A

  • Action recognition system and action recognition method

    JP2020101948A

  • Content-aware domain adaptation for cross-domain classification

    US20160253597A1