input: Write a function to classify positive and negative sentiment in tweets. The function should first preprocess each tweet by cleaning it, then vectorize the cleaned tweet, and finally predict the sentiment using a predefined prediction model. If the prediction is 1, the sentiment is "Positive"; if the prediction is 0, the sentiment is "Negative". The function should return a list of sentiment classifications.
  
  ### Function:
  def sentiment_analysis(tweets):
      # Initialize a list to store the result 
      results = [] 
  
      # Iterate through each tweet
      for tweet in tweets:
          # Clean the tweet 
          tweet = preprocessing(tweet)
  
          # Vectorize the tweet and obtain the prediction 
          tweet_vector = vectorize(tweet)
          prediction = predict_sentiment(tweet_vector)
  
          # Append the prediction to the result list
          if prediction == 1:
              results.append("Positive")
          elif prediction == 0:
              results.append("Negative")
  
      return results
  
  ### Assertions:
  assert sentiment_analysis(["I love this movie!", "This is the worst day ever."]) == ["Positive", "Negative"]
  assert sentiment_analysis(["Everything is awesome!", "I feel so sad."]) == ["Positive", "Negative"]
  assert sentiment_analysis(["Happy birthday!", "I can't believe it."]) == ["Positive", "Negative"]
  assert sentiment_analysis(["The weather is great!", "This is terrible."]) == ["Positive", "Negative"]
  assert sentiment_analysis([]) == []
output: def sentiment_analysis(tweets):
      results = []
      for tweet in tweets:
          tweet = preprocessing(tweet)
          tweet_vector = vectorize(tweet)
          prediction = predict_sentiment(tweet_vector)
          if prediction == 1:
              results.append("Positive")
          elif prediction == 0:
              results.append("Negative")
      return results