code: def get_seasonality_changes_from_adaptive_lasso(
      x,
      y,
      changepoint_dates,
      initial_coef,
      seasonality_components_df,
      min_index_distance=2,
      regularization_strength=0.6,
  ):
      """Parses the adaptive lasso estimator to get change point dates.
  
      The functions calls ``adaptive_lasso_cv`` to selected potential seasonality change points.
      Then a filter is applied to eliminate change points that are too close.
      Specifically, in a set of close change points, the one with the largest absolute
      coefficient will be kept.
  
      Parameters
      ----------
      x : `numpy.array`
          The design matrix.
      y : `numpy.array`
          The response vector.
      changepoint_dates : `pandas.Series`
          A pandas Series of all potential change point dates that were used to generate ``x``.
      initial_coef : `str` in ["ridge", "lasso", "old"] or `numpy.array'
          How to obtain the initial estimator. If a `str` is provided, the corresponding model is trained
          to obtain the initial estimator. If a `numpy.array` is provided, it is used as the initial
          estimator.
      seasonality_components_df : `pandas.DataFrame`
          The df to generate seasonality design matrix, which is compatible with
          ``seasonality_components_df`` in
          `~greykite.algo.changepoint.adalasso.changepoint_detector.ChangepointDetector.find_seasonality_changepoints`
      min_index_distance : `int`
          The minimal index distance that is allowed between two change points.
      regularization_strength : `float` in [0, 1]
          The regularization power for change points. Greater values imply fewer change points.
          0 indicates all change points, and 1 indicates no change point.
  
      Returns
      -------
      result : `dict`
          The detected seasonality change points result dictionary. Keys are the component names,
          and values are the corresponding detected change points.
      """
      intercept, beta = adaptive_lasso_cv(
          x=x,
          y=y,
          initial_coef=initial_coef,
          regularization_strength=regularization_strength,
          # Typically, seasonality has fewer changepoints than trend. Lower ratio results in higher lambda.
          max_min_ratio=1e4,
      )
      change_result = get_changes_from_beta(
          beta=beta, seasonality_components_df=seasonality_components_df
      )
      result = dict()
      for component, changes in change_result.items():
          nonzero_idx = [i for i, val in enumerate(changes) if val != 0]
          cp_blocks = find_neighbor_changepoints(
              cp_idx=nonzero_idx,
              min_index_distance=min_index_distance,
          )
          cp_idx = filter_changepoints(
              cp_blocks, changes, min_index_distance
          )
          result[component] = changepoint_dates.iloc[cp_idx].tolist()
      return result
  
imports: import warnings
  from datetime import timedelta
  import numpy
  import pandas
  import plotly.graph_objects
  from pandas.plotting import register_matplotlib_converters
  from pandas.tseries.frequencies import to_offset
  from sklearn.linear_model import Lasso
  from sklearn.linear_model import LassoCV
  from sklearn.linear_model import LinearRegression
  from sklearn.linear_model import RidgeCV
  from greykite.common.constants import CHANGEPOINT_COL_PREFIX
  from greykite.common.constants import TimeFeaturesEnum
  from greykite.common.features.timeseries_features import add_time_features_df
  from greykite.common.features.timeseries_features import build_time_features_df
  from greykite.common.features.timeseries_features import fourier_series_multi_fcn
  from greykite.common.features.timeseries_features import get_changepoint_dates_from_changepoints_dict
  from greykite.common.features.timeseries_features import get_changepoint_features
  from greykite.common.features.timeseries_features import get_changepoint_features_and_values_from_config
  from greykite.common.features.timeseries_features import get_default_origin_for_time_vars
  from greykite.common.python_utils import get_pattern_cols
  from greykite.common.python_utils import unique_elements_in_list
label_desc: Use image node_id 13 for calling a global function with example usage: get_seasonality_changes_from_adaptive_lasso(x, y, changepoint_dates, initial_coef, seasonality_components_df, min_index_distance, regularization_strength) and returns: result