input: Write a python function to return a list of features sorted by feature importance using an Extra Trees Classifier.
  assert sorted_features(data) == [(0.3, 'feature1'), (0.25, 'feature2'), (0.2, 'feature3'), (0.15, 'feature4'), (0.1, 'feature5')]
  assert sorted_features(data2) == [(0.4, 'featureA'), (0.35, 'featureB'), (0.15, 'featureC'), (0.1, 'featureD')]
output: def sorted_features(data):
      from sklearn.ensemble import ExtraTreesClassifier
      import numpy as np
  
      X = np.array([item[:-1] for item in data])
      y = np.array([item[-1] for item in data])
      feature_names = [f'feature{i+1}' for i in range(X.shape[1])]
  
      model = ExtraTreesClassifier()
      model.fit(X, y)
  
      feature_importances = model.feature_importances_
      sorted_features = sorted(zip(feature_importances, feature_names), reverse=True)
  
      return sorted_features