input: Write a function named create_text_classifier that will create a machine learning program in Python to classify text data into 3 different categories. The function should load the data from a CSV file, vectorize the text using CountVectorizer, convert the target labels to numerical values, split the data into training and testing sets, train a Multinomial Naive Bayes model, and then test the model with the test data, finally printing out the classification report.
  assert create_text_classifier() == """              precision    recall  f1-score   support
  
             1       0.89      0.92      0.91       100
             2       0.85      0.83      0.84       100
             3       0.91      0.90      0.91       100
  
      accuracy                           0.88       300
     macro avg       0.88      0.88      0.88       300
  weighted avg       0.88      0.88      0.88       300
  """
  assert create_text_classifier() == """              precision    recall  f1-score   support
  
             1       0.92      0.91      0.92       100
             2       0.88      0.89      0.88       100
             3       0.90      0.90      0.90       100
  
      accuracy                           0.90       300
     macro avg       0.90      0.90      0.90       300
  weighted avg       0.90      0.90      0.90       300
  """
output: 
  import pandas as pd
  from sklearn.feature_extraction.text import CountVectorizer
  from sklearn.model_selection import train_test_split
  from sklearn.naive_bayes import MultinomialNB
  from sklearn.metrics import classification_report
  
  def create_text_classifier():
      data = pd.read_csv('data.csv')
      X = data['text']
      y = data['category']
      
      vectorizer = CountVectorizer()
      X = vectorizer.fit_transform(X)
      
      y = y.map({'category1': 1, 'category2': 2, 'category3': 3})
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      model = MultinomialNB()
      model.fit(X_train, y_train)
      
      y_pred = model.predict(X_test)
      
      print(classification_report(y_test, y_pred, target_names=['category1', 'category2', 'category3']))
  