3
$\begingroup$

I am seeking guidance on a machine learning problem involving the tagging of data columns. Currently, I have a system where users can add multiple tags to a columns in a table. However, I want to automate the tagging of new columns by using Multi Label Classification. I have extracted 21 features from each column by doing a column analysis on the column values. The features obtained would include statistical values such standard deviation, max,min, kurtosis and etc. Am I on the right path in using these features as inputs for a Multi Label Classification model ? Right now I am focusing on numeric values in columns

Example:

enter image description here

As an example, the above table on the left represent some arbitrary table which consist of 3 columns. As a user I would tag the column with the appropriate tags. So the Rainfall column would have rainfall and precipitation and Temperature column would have temperature. The table on the right just represents the tags being assigned to a column in a table format.

enter image description here

Example sample data set in the above image

In order for me to do multi-label classification to automate the tagging of columns automatically, when tables with similar columns are ingested into the system, I would need to extract some features or properties that describes the already tagged columns to use as input for the multi label model. So I did some column analysis and placed just several example features in the table above. This includes standard deviation, maximum,minimum, median and kurtosis. I have about 21 features in total. The output labels are also represented for each column in the above image where 1 signifies the label is present and 0 is not present.

enter image description here

In the end the model will decide which tags are assigned to a newly discovered column based on its features.

$\endgroup$
12
  • $\begingroup$ Ok, Sure go ahead $\endgroup$
    – DPascal
    Feb 10, 2018 at 13:43
  • $\begingroup$ What are the questions do you want me to answer ? $\endgroup$
    – DPascal
    Feb 10, 2018 at 20:47
  • $\begingroup$ Apologize for the previous comment, had an issue with the phone app. Continuing that comment, the following questions I have for you are: 1. When you mean multiple tags to a column in a table, are you referring to the value of the labels being added to the numerous values present for every row and column in the table? 2. Does every row have multiple labels assigned to them? $\endgroup$
    – Nischal Hp
    Feb 11, 2018 at 9:37
  • $\begingroup$ That's ok. When I refer to multiple tags I meant that a user can add more than one label/tag to a specific column in a table. Example, let say there is a column named rainfall, a user can add the tags rainfaĺl and precipitation which presents all the values inside that column. Secondly, No. Every row does not have multiple label assigned to them. $\endgroup$
    – DPascal
    Feb 11, 2018 at 11:29
  • $\begingroup$ So in the end I would have a training set which will have standard deviation , max,min ,kurtosis, range and etc as features that represents a column and mapped to multiple labels $\endgroup$
    – DPascal
    Feb 11, 2018 at 11:34

1 Answer 1

1
$\begingroup$

@DPascal Here is something you could definitely try doing:

  1. Using the features you generated, you could add a label to each of the column for these features.

  2. You could generate these feature value for different time slices.

  3. Once that is done, you can then run something as simple as Random Forest Classifier on this data.

$\endgroup$
1
  • $\begingroup$ Could this also be applied to other columns that have no time relations ?Example, column F which have values representing petal lengths for a Rose and column G which have values for the ticket price from Canada to New York. Would the time slice still be relevant ? $\endgroup$
    – DPascal
    Feb 26, 2018 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.