From 4b0c20ddc6dd1442944fed535c37ece6072357fc Mon Sep 17 00:00:00 2001 From: Yevhenii Poliakov Date: Sun, 14 May 2023 19:55:04 +0200 Subject: [PATCH] nn new try --- script5.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 script5.py diff --git a/script5.py b/script5.py new file mode 100644 index 0000000..233039f --- /dev/null +++ b/script5.py @@ -0,0 +1,41 @@ +import pandas as pd +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.preprocessing import MultiLabelBinarizer +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import Dense, Embedding, Flatten +from tensorflow.keras.optimizers import Adam + +# Load the dataset from the CSV file +data = pd.read_csv('data.csv') + +# Prepare the data +X = data[['movie title', 'User Rating', 'Genres', 'Plot Keyword', 'Director', 'Top 5 Casts', 'Writer', 'Year']] +y = data['Rating'] + +# Preprocess the data +# Convert the categorical columns into numerical representations +mlb = MultiLabelBinarizer() +X['Genres'] = mlb.fit_transform(X['Generes']) +X['Plot Keyword'] = mlb.fit_transform(X['Plot Kyeword']) +X['Top 5 Casts'] = mlb.fit_transform(X['Top 5 Casts']) + +# Split the data into training and testing sets +X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) + +# Create the neural network model +model = Sequential() +model.add(Embedding(input_dim=len(mlb.classes_), output_dim=10, input_length=X.shape[1])) +model.add(Flatten()) +model.add(Dense(32, activation='relu')) +model.add(Dense(1)) + +# Compile the model +model.compile(optimizer=Adam(), loss='mse') + +# Train the model +model.fit(X_train, y_train, batch_size=64, epochs=10, validation_data=(X_test, y_test)) + +# Evaluate the model +mse = model.evaluate(X_test, y_test) +print("Mean Squared Error:", mse) \ No newline at end of file