Pada kode ini
import pickle
import pandas as pd
import numpy as np
from keras.preprocessing.text import Tokenizer
from keras.utils import pad_sequences
from keras.models import Sequential
from keras.layers import Embedding, LSTM, Dense, Dropout, Conv1D, MaxPooling1D, Flatten
from keras.callbacks import EarlyStopping
from keras.utils import to_categorical
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
from skopt import gp_minimize
from skopt.space import Integer, Categorical
from skopt.utils import use_named_args

# Membaca dataset
data_list = pickle.load(open('filtered_pre_processed_berita_2_joined_done.pkl', 'rb'))
data = pd.DataFrame(data_list, columns=['judul', 'isi', 'pre_processed', 'Label'])
data['Isi Berita'] = data['pre_processed']

# Tokenisasi dan Padding
max_words = 10000 # mengurangi jumlah kata maksimum
max_len = 500 # mengurangi panjang input
tokenizer = Tokenizer(num_words=max_words)
tokenizer.fit_on_texts(data['Isi Berita'])
sequences = tokenizer.texts_to_sequences(data['Isi Berita'])
X = pad_sequences(sequences, maxlen=max_len)
y = to_categorical(data['Label'].astype('category').cat.codes)

# Membagi data menjadi data latih dan data uji
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

# Fungsi untuk membuat model
def create_model(lstm_units, conv_filters, kernel_size, dense_units, optimizer):
    model = Sequential()
    model.add(Embedding(max_words, 64, input_length=max_len))
    model.add(LSTM(lstm_units, return_sequences=True, dropout=0.2))
    model.add(Conv1D(conv_filters, kernel_size, activation='relu'))
    model.add(MaxPooling1D(pool_size=4))
    model.add(Dropout(0.25))
    model.add(Flatten())
    model.add(Dense(dense_units, activation='relu'))
    model.add(Dense(3, activation='softmax'))

    model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy'])
    return model

# Definisikan rentang pencarian untuk masing-masing parameter
space = [
    Integer(32, 128, name='lstm_units'),
    Integer(32, 128, name='conv_filters'),
    Integer(3, 7, name='kernel_size'),
    Integer(16, 64, name='dense_units'),
    Categorical(['adam', 'rmsprop'], name='optimizer')
]

# Definisikan fungsi objektif yang akan di-minimalkan
@use_named_args(space)
def objective(**params):
    model = create_model(**params)
    early_stopping = EarlyStopping(patience=2)
    history = model.fit(X_train, y_train, validation_split=0.15, epochs=20, batch_size=64, callbacks=[early_stopping], verbose=0)

    # Mengambil validasi terbaik
    best_val_loss = min(history.history['val_loss'])
    print(f"Trying combination: {params} - Best validation loss: {best_val_loss}")

    return best_val_loss

# Melakukan optimasi Gaussian Process
result = gp_minimize(objective, space, n_calls=20, random_state=42, verbose=1)

# Mencetak parameter terbaik yang ditemukan
best_params = {dim.name: result.x[i] for i, dim in enumerate(space)}
print(f"Best parameters: {best_params}")

# Melatih model terbaik
best_model = create_model(**best_params)
best_model.fit(X_train, y_train, epochs=20, batch_size=64)

# Mengevaluasi model terbaik
y_pred = best_model.predict(X_test)
y_pred = np.argmax(y_pred, axis=1)
y_true = np.argmax(y_test, axis=1)

# Menghitung akurasi
accuracy = accuracy_score(y_true, y_pred)
print(f"Akurasi: {accuracy}")

# Menampilkan classification report
report = classification_report(y_true, y_pred, target_names=['Negatif', 'Netral', 'Positif'])
print("Classification Report:")
print(report)

# Menyimpan model terbaik
best_model.save('best_lstm_cnn_model.h5')
pickle.dump(tokenizer, open('tokenizer.pkl', 'wb'))

Muncul error 
"    value_tuple = tuple(value)
                  ^^^^^^^^^^^^
TypeError: 'numpy.int64' object is not iterable"
dan
"    result = gp_minimize(objective, space, n_calls=20, random_state=42, verbose=1)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    raise ValueError(error_msg)
ValueError: The `kernel_size` argument must be a tuple of 1 integers. Received: 6"
Bagaimana cara mengatasinya?