input: Write a python function to load data, train a RandomForestClassifier model, and make predictions.
  assert make_prediction([[25, 'male', 25, 0]]) in [0, 1]
  assert make_prediction([[60, 'female', 50, 1]]) in [0, 1]
  assert make_prediction([[45, 'male', 30, 1]]) in [0, 1]
output: def make_prediction(input_data):
      import pandas as pd
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.model_selection import train_test_split
      from sklearn.preprocessing import LabelEncoder
  
      # Sample data
      data = {
          'age': [25, 60, 45, 22, 30, 50, 35],
          'gender': ['male', 'female', 'male', 'female', 'male', 'female', 'male'],
          'work_hours': [25, 50, 30, 20, 40, 60, 35],
          'has_kids': [0, 1, 1, 0, 1, 0, 1],
          'target': [0, 1, 1, 0, 1, 0, 1]
      }
  
      df = pd.DataFrame(data)
  
      # Encode the 'gender' column
      le = LabelEncoder()
      df['gender'] = le.fit_transform(df['gender'])
  
      # Split data into features and target
      X = df[['age', 'gender', 'work_hours', 'has_kids']]
      y = df['target']
  
      # Split data into training and test sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      # Train the RandomForestClassifier
      clf = RandomForestClassifier(n_estimators=100, random_state=42)
      clf.fit(X_train, y_train)
  
      # Transform input_data using the same label encoder
      input_data_df = pd.DataFrame(input_data, columns=['age', 'gender', 'work_hours', 'has_kids'])
      input_data_df['gender'] = le.transform(input_data_df['gender'])
  
      # Make predictions
      prediction = clf.predict(input_data_df)
      return prediction[0]