def get_cat_num_features(x):
    """ Identifies categorical and numerical
    features from the columns of a dataframe 
    using data type. 
​
    Parameters
    ----------
    x : DateFrame
        Training data.
​
    Returns
    -------
    categoric_features, numeric_features : tuple
        Tuple containinig lists of categoric 
        feature names and numeric feature names
    """
    data_types = x.dtypes
    categoric_features = []
    numeric_features = []
    for d_type, feature in zip(data_types, data_types.index):
        if d_type == "object":
            categoric_features.append(feature)
        else:
            numeric_features.append(feature)

    return categoric_features, numeric_features