Why FeatureTypeEnum.STRING set for all the features

Greetings!
The question is about W1 assignment in Course 2
Maybe somebody understands why for all the features in the feature group the FeatureTypeEnum.STRING is set?

from sagemaker.feature_store.feature_definition import (
    FeatureDefinition,
    FeatureTypeEnum,
)

feature_definitions= [
    # unique ID of the review
    FeatureDefinition(feature_name='review_id', feature_type=FeatureTypeEnum.STRING), 
    # ingestion timestamp
    FeatureDefinition(feature_name='date', feature_type=FeatureTypeEnum.STRING),
    # sentiment: -1 (negative), 0 (neutral) or 1 (positive). It will be found the Rating values (1, 2, 3, 4, 5)
    FeatureDefinition(feature_name='sentiment', feature_type=FeatureTypeEnum.STRING), 
    # label ID of the target class (sentiment)
    FeatureDefinition(feature_name='label_id', feature_type=FeatureTypeEnum.STRING),
    # reviews encoded with the BERT tokenizer
    FeatureDefinition(feature_name='input_ids', feature_type=FeatureTypeEnum.STRING),
    # original Review Text
    FeatureDefinition(feature_name='review_body', feature_type=FeatureTypeEnum.STRING),
    # train/validation/test label
    FeatureDefinition(feature_name='split_type', feature_type=FeatureTypeEnum.STRING)
]

Tags: feature store, amazon, aws, feature group

I think it could be easier to work with all the features as a bundle being string type with one operation, and if one is needed to be numeric can be converted to num easily.

thank you, but what do you mean by saying “easier”? I still can’t get why the sentiment (-1, 0, 1) is not an int or review_id unit? It’s just weird, and i don’t understand how this could be applied to real data, especially if there are gigabytes of it :thinking:

My idea is that if for example you want to manipulate many columns at once that if they are the same type is easier to do rather than convert and then do operation on them. If one specific column is need as num, then for that column you can convert individually. This is generally speaking.

do you maybe have an example of such manipulation? It would be very helpful! Thank you

No nothing comes to my mind at this point, but if you look at the MLOPS specialization there is something similar there!