# Importing necessary libraries
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# Load dataset (replace 'dataset.csv' with your dataset file)
data = pd.DataFrame({
'text': ["I love this movie!", "This movie is terrible.", "Neutral tweet about something."],
'sentiment': ['positive', 'negative', 'neutral']
})
# Split data into features (X) and target (y)
X = data['text']
y = data['sentiment']
# Vectorize text data using Bag-of-Words representation
vectorizer = CountVectorizer()
X_vect = vectorizer.fit_transform(X)
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X_vect, y, test_size=0.2, random_state=42)
# Build and train Logistic Regression model
model = LogisticRegression()
model.fit(X_train, y_train)
# Evaluate model
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
IyBJbXBvcnRpbmcgbmVjZXNzYXJ5IGxpYnJhcmllcwppbXBvcnQgcGFuZGFzIGFzIHBkCmZyb20gc2tsZWFybi5mZWF0dXJlX2V4dHJhY3Rpb24udGV4dCBpbXBvcnQgQ291bnRWZWN0b3JpemVyCmZyb20gc2tsZWFybi5tb2RlbF9zZWxlY3Rpb24gaW1wb3J0IHRyYWluX3Rlc3Rfc3BsaXQKZnJvbSBza2xlYXJuLmxpbmVhcl9tb2RlbCBpbXBvcnQgTG9naXN0aWNSZWdyZXNzaW9uCmZyb20gc2tsZWFybi5tZXRyaWNzIGltcG9ydCBhY2N1cmFjeV9zY29yZQoKIyBMb2FkIGRhdGFzZXQgKHJlcGxhY2UgJ2RhdGFzZXQuY3N2JyB3aXRoIHlvdXIgZGF0YXNldCBmaWxlKQpkYXRhID0gcGQuRGF0YUZyYW1lKHsKICAgICd0ZXh0JzogWyJJIGxvdmUgdGhpcyBtb3ZpZSEiLCAiVGhpcyBtb3ZpZSBpcyB0ZXJyaWJsZS4iLCAiTmV1dHJhbCB0d2VldCBhYm91dCBzb21ldGhpbmcuIl0sCiAgICAnc2VudGltZW50JzogWydwb3NpdGl2ZScsICduZWdhdGl2ZScsICduZXV0cmFsJ10KfSkKCiMgU3BsaXQgZGF0YSBpbnRvIGZlYXR1cmVzIChYKSBhbmQgdGFyZ2V0ICh5KQpYID0gZGF0YVsndGV4dCddCnkgPSBkYXRhWydzZW50aW1lbnQnXQoKIyBWZWN0b3JpemUgdGV4dCBkYXRhIHVzaW5nIEJhZy1vZi1Xb3JkcyByZXByZXNlbnRhdGlvbgp2ZWN0b3JpemVyID0gQ291bnRWZWN0b3JpemVyKCkKWF92ZWN0ID0gdmVjdG9yaXplci5maXRfdHJhbnNmb3JtKFgpCgojIFNwbGl0IGRhdGEgaW50byB0cmFpbmluZyBhbmQgdGVzdGluZyBzZXRzClhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gdHJhaW5fdGVzdF9zcGxpdChYX3ZlY3QsIHksIHRlc3Rfc2l6ZT0wLjIsIHJhbmRvbV9zdGF0ZT00MikKCiMgQnVpbGQgYW5kIHRyYWluIExvZ2lzdGljIFJlZ3Jlc3Npb24gbW9kZWwKbW9kZWwgPSBMb2dpc3RpY1JlZ3Jlc3Npb24oKQptb2RlbC5maXQoWF90cmFpbiwgeV90cmFpbikKCiMgRXZhbHVhdGUgbW9kZWwKeV9wcmVkID0gbW9kZWwucHJlZGljdChYX3Rlc3QpCmFjY3VyYWN5ID0gYWNjdXJhY3lfc2NvcmUoeV90ZXN0LCB5X3ByZWQpCgpwcmludCgiQWNjdXJhY3k6IiwgYWNjdXJhY3kpCg==