CapÃtulo 13: Proyectos Prácticos de Aprendizaje Automático
13.2 Proyecto 2: Análisis de Sentimiento con Naive Bayes
En este proyecto, desarrollaremos un modelo de análisis de sentimiento utilizando el algoritmo Naive Bayes. El análisis de sentimiento es una aplicación común de Procesamiento de Lenguaje Natural (NLP) y Aprendizaje Automático, y consiste en determinar el sentimiento expresado en un fragmento de texto, como una reseña o un tuit.
13.2.1 Enunciado del Problema
El objetivo de este proyecto es construir un modelo que pueda clasificar con precisión el texto como positivo o negativo en función del sentimiento expresado en él. Esto puede ser útil en una variedad de contextos, como comprender la retroalimentación de los clientes o analizar publicaciones en redes sociales.
13.2.2 Conjunto de Datos
Utilizaremos el conjunto de datos de reseñas de películas de IMDB para este proyecto. Este conjunto de datos consta de 50,000 reseñas de películas de la base de datos de películas en línea Internet Movie Database (IMDB), cada una etiquetada como positiva (1) o negativa (0). El conjunto de datos se divide en partes iguales, con 25,000 reseñas destinadas al entrenamiento y 25,000 para pruebas.
13.2.3 Implementación
Comencemos por cargar el conjunto de datos y examinar su estructura.
from sklearn.datasets import load_files
import numpy as np
# Make sure the path points to the correct location where your training data is stored
# If the data is in the same directory as the script, you can use "aclImdb/train/"
reviews_train = load_files("aclImdb/train/")
# Extract text data and labels from the loaded dataset
text_train, y_train = reviews_train.data, reviews_train.target
# Print the number of documents in the training data
print("Number of documents in training data: {}".format(len(text_train)))
# Print the distribution of samples per class
print("Samples per class (training): {}".format(np.bincount(y_train)))
Desglose del código:
El código primero importa la función load_files
de la biblioteca sklearn.datasets
y la biblioteca numpy
. A continuación, el código utiliza la función load_files()
para cargar los datos de entrenamiento desde el directorio aclImdb/train/
. El código luego divide los datos en dos matrices, text_train
e y_train
, donde text_train
contiene el texto de las reseñas y y_train
contiene el sentimiento de las reseñas (positivo o negativo). Finalmente, el código imprime el número de documentos en los datos de entrenamiento y el número de muestras por clase.
A continuación, procesaremos los datos eliminando las etiquetas HTML y convirtiendo todo el texto a minúsculas.
import re
def preprocess_text(text):
# Remove HTML tags
text = re.sub('<[^>]*>', '', text)
# Find emoticons and remove non-word characters
emoticons = re.findall('(?::|;|=)(?:-)?(?:\)|\(|D|P)', text)
text = re.sub('[\W]+', ' ', text.lower()) + ' '.join(emoticons).replace('-', '')
return text
# Preprocess each text in text_train
text_train = [preprocess_text(text) for text in text_train]
Desglose del código:
El código primero importa la biblioteca re
, que proporciona operaciones de expresiones regulares. A continuación, el código define una función llamada preprocess_text()
, que toma una cadena como entrada y devuelve una cadena procesada. La función primero elimina las etiquetas HTML de la cadena de entrada utilizando la función re.sub()
. Luego, la función encuentra todos los emoticonos en la cadena de entrada utilizando la función re.findall()
. Luego, la función convierte todos los caracteres que no son palabras en espacios en la cadena de entrada utilizando la función re.sub()
. Luego, la función convierte la cadena de entrada a minúsculas. Luego, la función une los emoticonos con espacios. Luego, la función reemplaza todos los guiones con cadenas vacías. Luego, la función devuelve la cadena procesada. Finalmente, el código utiliza una comprensión de lista para aplicar la función preprocess_text()
a todas las cadenas en la matriz text_train
.
A continuación, dividiremos los datos en conjuntos de entrenamiento y prueba.
from sklearn.model_selection import train_test_split
# Split the preprocessed text data and corresponding labels into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(text_train, y_train, test_size=0.2, random_state=42)
Desglose del código:
A continuación, convertiremos los datos de texto en vectores de características numéricas utilizando la técnica de Bolsa de Palabras (Bag of Words).
from sklearn.feature_extraction.text import CountVectorizer
# Initialize CountVectorizer with stop_words='english' to remove common English words
vectorizer = CountVectorizer(stop_words='english')
# Fit and transform the training data
X_train = vectorizer.fit_transform(X_train)
# Transform the testing data
X_test = vectorizer.transform(X_test)
Desglose del código:
El código primero importa la función train_test_split
de la biblioteca sklearn.model_selection
. Luego, el código utiliza la función train_test_split()
para dividir los datos en subconjuntos de entrenamiento y prueba. El parámetro test_size
especifica que el 20% de los datos se utilizarán para las pruebas, y el parámetro random_state
especifica que los datos se deben mezclar de forma aleatoria. Finalmente, el código asigna los subconjuntos de entrenamiento y prueba a las variables X_train
, X_test
, y_train
y y_test
.
Finalmente, entrenaremos un clasificador Naive Bayes en los datos de entrenamiento y evaluaremos su rendimiento en los datos de prueba.
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# Initialize Multinomial Naive Bayes classifier
clf = MultinomialNB()
# Train the classifier on the training data
clf.fit(X_train, y_train)
# Predict labels for the testing data
y_pred = clf.predict(X_test)
# Compute accuracy score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}".format(accuracy))
Desglose del código:
El código primero importa las funciones MultinomialNB
y accuracy_score
de las bibliotecas sklearn.naive_bayes
y sklearn.metrics
, respectivamente. A continuación, el código crea un clasificador MultinomialNB
llamado clf
. Luego, el código ajusta el clasificador a los datos de entrenamiento utilizando la función clf.fit()
. El código luego predice el sentimiento de los datos de prueba utilizando la función clf.predict()
. El código luego calcula la precisión del clasificador utilizando la función accuracy_score()
. Finalmente, el código imprime la precisión del clasificador.
Este proyecto proporciona una aplicación práctica del aprendizaje automático en el campo del procesamiento de lenguaje natural (NLP). Muestra cómo utilizar el algoritmo Naive Bayes para realizar análisis de sentimiento en críticas de películas. El código proporcionado puede servir como punto de partida para una exploración y experimentación posteriores.
13.2 Proyecto 2: Análisis de Sentimiento con Naive Bayes
En este proyecto, desarrollaremos un modelo de análisis de sentimiento utilizando el algoritmo Naive Bayes. El análisis de sentimiento es una aplicación común de Procesamiento de Lenguaje Natural (NLP) y Aprendizaje Automático, y consiste en determinar el sentimiento expresado en un fragmento de texto, como una reseña o un tuit.
13.2.1 Enunciado del Problema
El objetivo de este proyecto es construir un modelo que pueda clasificar con precisión el texto como positivo o negativo en función del sentimiento expresado en él. Esto puede ser útil en una variedad de contextos, como comprender la retroalimentación de los clientes o analizar publicaciones en redes sociales.
13.2.2 Conjunto de Datos
Utilizaremos el conjunto de datos de reseñas de películas de IMDB para este proyecto. Este conjunto de datos consta de 50,000 reseñas de películas de la base de datos de películas en línea Internet Movie Database (IMDB), cada una etiquetada como positiva (1) o negativa (0). El conjunto de datos se divide en partes iguales, con 25,000 reseñas destinadas al entrenamiento y 25,000 para pruebas.
13.2.3 Implementación
Comencemos por cargar el conjunto de datos y examinar su estructura.
from sklearn.datasets import load_files
import numpy as np
# Make sure the path points to the correct location where your training data is stored
# If the data is in the same directory as the script, you can use "aclImdb/train/"
reviews_train = load_files("aclImdb/train/")
# Extract text data and labels from the loaded dataset
text_train, y_train = reviews_train.data, reviews_train.target
# Print the number of documents in the training data
print("Number of documents in training data: {}".format(len(text_train)))
# Print the distribution of samples per class
print("Samples per class (training): {}".format(np.bincount(y_train)))
Desglose del código:
El código primero importa la función load_files
de la biblioteca sklearn.datasets
y la biblioteca numpy
. A continuación, el código utiliza la función load_files()
para cargar los datos de entrenamiento desde el directorio aclImdb/train/
. El código luego divide los datos en dos matrices, text_train
e y_train
, donde text_train
contiene el texto de las reseñas y y_train
contiene el sentimiento de las reseñas (positivo o negativo). Finalmente, el código imprime el número de documentos en los datos de entrenamiento y el número de muestras por clase.
A continuación, procesaremos los datos eliminando las etiquetas HTML y convirtiendo todo el texto a minúsculas.
import re
def preprocess_text(text):
# Remove HTML tags
text = re.sub('<[^>]*>', '', text)
# Find emoticons and remove non-word characters
emoticons = re.findall('(?::|;|=)(?:-)?(?:\)|\(|D|P)', text)
text = re.sub('[\W]+', ' ', text.lower()) + ' '.join(emoticons).replace('-', '')
return text
# Preprocess each text in text_train
text_train = [preprocess_text(text) for text in text_train]
Desglose del código:
El código primero importa la biblioteca re
, que proporciona operaciones de expresiones regulares. A continuación, el código define una función llamada preprocess_text()
, que toma una cadena como entrada y devuelve una cadena procesada. La función primero elimina las etiquetas HTML de la cadena de entrada utilizando la función re.sub()
. Luego, la función encuentra todos los emoticonos en la cadena de entrada utilizando la función re.findall()
. Luego, la función convierte todos los caracteres que no son palabras en espacios en la cadena de entrada utilizando la función re.sub()
. Luego, la función convierte la cadena de entrada a minúsculas. Luego, la función une los emoticonos con espacios. Luego, la función reemplaza todos los guiones con cadenas vacías. Luego, la función devuelve la cadena procesada. Finalmente, el código utiliza una comprensión de lista para aplicar la función preprocess_text()
a todas las cadenas en la matriz text_train
.
A continuación, dividiremos los datos en conjuntos de entrenamiento y prueba.
from sklearn.model_selection import train_test_split
# Split the preprocessed text data and corresponding labels into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(text_train, y_train, test_size=0.2, random_state=42)
Desglose del código:
A continuación, convertiremos los datos de texto en vectores de características numéricas utilizando la técnica de Bolsa de Palabras (Bag of Words).
from sklearn.feature_extraction.text import CountVectorizer
# Initialize CountVectorizer with stop_words='english' to remove common English words
vectorizer = CountVectorizer(stop_words='english')
# Fit and transform the training data
X_train = vectorizer.fit_transform(X_train)
# Transform the testing data
X_test = vectorizer.transform(X_test)
Desglose del código:
El código primero importa la función train_test_split
de la biblioteca sklearn.model_selection
. Luego, el código utiliza la función train_test_split()
para dividir los datos en subconjuntos de entrenamiento y prueba. El parámetro test_size
especifica que el 20% de los datos se utilizarán para las pruebas, y el parámetro random_state
especifica que los datos se deben mezclar de forma aleatoria. Finalmente, el código asigna los subconjuntos de entrenamiento y prueba a las variables X_train
, X_test
, y_train
y y_test
.
Finalmente, entrenaremos un clasificador Naive Bayes en los datos de entrenamiento y evaluaremos su rendimiento en los datos de prueba.
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# Initialize Multinomial Naive Bayes classifier
clf = MultinomialNB()
# Train the classifier on the training data
clf.fit(X_train, y_train)
# Predict labels for the testing data
y_pred = clf.predict(X_test)
# Compute accuracy score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}".format(accuracy))
Desglose del código:
El código primero importa las funciones MultinomialNB
y accuracy_score
de las bibliotecas sklearn.naive_bayes
y sklearn.metrics
, respectivamente. A continuación, el código crea un clasificador MultinomialNB
llamado clf
. Luego, el código ajusta el clasificador a los datos de entrenamiento utilizando la función clf.fit()
. El código luego predice el sentimiento de los datos de prueba utilizando la función clf.predict()
. El código luego calcula la precisión del clasificador utilizando la función accuracy_score()
. Finalmente, el código imprime la precisión del clasificador.
Este proyecto proporciona una aplicación práctica del aprendizaje automático en el campo del procesamiento de lenguaje natural (NLP). Muestra cómo utilizar el algoritmo Naive Bayes para realizar análisis de sentimiento en críticas de películas. El código proporcionado puede servir como punto de partida para una exploración y experimentación posteriores.
13.2 Proyecto 2: Análisis de Sentimiento con Naive Bayes
En este proyecto, desarrollaremos un modelo de análisis de sentimiento utilizando el algoritmo Naive Bayes. El análisis de sentimiento es una aplicación común de Procesamiento de Lenguaje Natural (NLP) y Aprendizaje Automático, y consiste en determinar el sentimiento expresado en un fragmento de texto, como una reseña o un tuit.
13.2.1 Enunciado del Problema
El objetivo de este proyecto es construir un modelo que pueda clasificar con precisión el texto como positivo o negativo en función del sentimiento expresado en él. Esto puede ser útil en una variedad de contextos, como comprender la retroalimentación de los clientes o analizar publicaciones en redes sociales.
13.2.2 Conjunto de Datos
Utilizaremos el conjunto de datos de reseñas de películas de IMDB para este proyecto. Este conjunto de datos consta de 50,000 reseñas de películas de la base de datos de películas en línea Internet Movie Database (IMDB), cada una etiquetada como positiva (1) o negativa (0). El conjunto de datos se divide en partes iguales, con 25,000 reseñas destinadas al entrenamiento y 25,000 para pruebas.
13.2.3 Implementación
Comencemos por cargar el conjunto de datos y examinar su estructura.
from sklearn.datasets import load_files
import numpy as np
# Make sure the path points to the correct location where your training data is stored
# If the data is in the same directory as the script, you can use "aclImdb/train/"
reviews_train = load_files("aclImdb/train/")
# Extract text data and labels from the loaded dataset
text_train, y_train = reviews_train.data, reviews_train.target
# Print the number of documents in the training data
print("Number of documents in training data: {}".format(len(text_train)))
# Print the distribution of samples per class
print("Samples per class (training): {}".format(np.bincount(y_train)))
Desglose del código:
El código primero importa la función load_files
de la biblioteca sklearn.datasets
y la biblioteca numpy
. A continuación, el código utiliza la función load_files()
para cargar los datos de entrenamiento desde el directorio aclImdb/train/
. El código luego divide los datos en dos matrices, text_train
e y_train
, donde text_train
contiene el texto de las reseñas y y_train
contiene el sentimiento de las reseñas (positivo o negativo). Finalmente, el código imprime el número de documentos en los datos de entrenamiento y el número de muestras por clase.
A continuación, procesaremos los datos eliminando las etiquetas HTML y convirtiendo todo el texto a minúsculas.
import re
def preprocess_text(text):
# Remove HTML tags
text = re.sub('<[^>]*>', '', text)
# Find emoticons and remove non-word characters
emoticons = re.findall('(?::|;|=)(?:-)?(?:\)|\(|D|P)', text)
text = re.sub('[\W]+', ' ', text.lower()) + ' '.join(emoticons).replace('-', '')
return text
# Preprocess each text in text_train
text_train = [preprocess_text(text) for text in text_train]
Desglose del código:
El código primero importa la biblioteca re
, que proporciona operaciones de expresiones regulares. A continuación, el código define una función llamada preprocess_text()
, que toma una cadena como entrada y devuelve una cadena procesada. La función primero elimina las etiquetas HTML de la cadena de entrada utilizando la función re.sub()
. Luego, la función encuentra todos los emoticonos en la cadena de entrada utilizando la función re.findall()
. Luego, la función convierte todos los caracteres que no son palabras en espacios en la cadena de entrada utilizando la función re.sub()
. Luego, la función convierte la cadena de entrada a minúsculas. Luego, la función une los emoticonos con espacios. Luego, la función reemplaza todos los guiones con cadenas vacías. Luego, la función devuelve la cadena procesada. Finalmente, el código utiliza una comprensión de lista para aplicar la función preprocess_text()
a todas las cadenas en la matriz text_train
.
A continuación, dividiremos los datos en conjuntos de entrenamiento y prueba.
from sklearn.model_selection import train_test_split
# Split the preprocessed text data and corresponding labels into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(text_train, y_train, test_size=0.2, random_state=42)
Desglose del código:
A continuación, convertiremos los datos de texto en vectores de características numéricas utilizando la técnica de Bolsa de Palabras (Bag of Words).
from sklearn.feature_extraction.text import CountVectorizer
# Initialize CountVectorizer with stop_words='english' to remove common English words
vectorizer = CountVectorizer(stop_words='english')
# Fit and transform the training data
X_train = vectorizer.fit_transform(X_train)
# Transform the testing data
X_test = vectorizer.transform(X_test)
Desglose del código:
El código primero importa la función train_test_split
de la biblioteca sklearn.model_selection
. Luego, el código utiliza la función train_test_split()
para dividir los datos en subconjuntos de entrenamiento y prueba. El parámetro test_size
especifica que el 20% de los datos se utilizarán para las pruebas, y el parámetro random_state
especifica que los datos se deben mezclar de forma aleatoria. Finalmente, el código asigna los subconjuntos de entrenamiento y prueba a las variables X_train
, X_test
, y_train
y y_test
.
Finalmente, entrenaremos un clasificador Naive Bayes en los datos de entrenamiento y evaluaremos su rendimiento en los datos de prueba.
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# Initialize Multinomial Naive Bayes classifier
clf = MultinomialNB()
# Train the classifier on the training data
clf.fit(X_train, y_train)
# Predict labels for the testing data
y_pred = clf.predict(X_test)
# Compute accuracy score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}".format(accuracy))
Desglose del código:
El código primero importa las funciones MultinomialNB
y accuracy_score
de las bibliotecas sklearn.naive_bayes
y sklearn.metrics
, respectivamente. A continuación, el código crea un clasificador MultinomialNB
llamado clf
. Luego, el código ajusta el clasificador a los datos de entrenamiento utilizando la función clf.fit()
. El código luego predice el sentimiento de los datos de prueba utilizando la función clf.predict()
. El código luego calcula la precisión del clasificador utilizando la función accuracy_score()
. Finalmente, el código imprime la precisión del clasificador.
Este proyecto proporciona una aplicación práctica del aprendizaje automático en el campo del procesamiento de lenguaje natural (NLP). Muestra cómo utilizar el algoritmo Naive Bayes para realizar análisis de sentimiento en críticas de películas. El código proporcionado puede servir como punto de partida para una exploración y experimentación posteriores.
13.2 Proyecto 2: Análisis de Sentimiento con Naive Bayes
En este proyecto, desarrollaremos un modelo de análisis de sentimiento utilizando el algoritmo Naive Bayes. El análisis de sentimiento es una aplicación común de Procesamiento de Lenguaje Natural (NLP) y Aprendizaje Automático, y consiste en determinar el sentimiento expresado en un fragmento de texto, como una reseña o un tuit.
13.2.1 Enunciado del Problema
El objetivo de este proyecto es construir un modelo que pueda clasificar con precisión el texto como positivo o negativo en función del sentimiento expresado en él. Esto puede ser útil en una variedad de contextos, como comprender la retroalimentación de los clientes o analizar publicaciones en redes sociales.
13.2.2 Conjunto de Datos
Utilizaremos el conjunto de datos de reseñas de películas de IMDB para este proyecto. Este conjunto de datos consta de 50,000 reseñas de películas de la base de datos de películas en línea Internet Movie Database (IMDB), cada una etiquetada como positiva (1) o negativa (0). El conjunto de datos se divide en partes iguales, con 25,000 reseñas destinadas al entrenamiento y 25,000 para pruebas.
13.2.3 Implementación
Comencemos por cargar el conjunto de datos y examinar su estructura.
from sklearn.datasets import load_files
import numpy as np
# Make sure the path points to the correct location where your training data is stored
# If the data is in the same directory as the script, you can use "aclImdb/train/"
reviews_train = load_files("aclImdb/train/")
# Extract text data and labels from the loaded dataset
text_train, y_train = reviews_train.data, reviews_train.target
# Print the number of documents in the training data
print("Number of documents in training data: {}".format(len(text_train)))
# Print the distribution of samples per class
print("Samples per class (training): {}".format(np.bincount(y_train)))
Desglose del código:
El código primero importa la función load_files
de la biblioteca sklearn.datasets
y la biblioteca numpy
. A continuación, el código utiliza la función load_files()
para cargar los datos de entrenamiento desde el directorio aclImdb/train/
. El código luego divide los datos en dos matrices, text_train
e y_train
, donde text_train
contiene el texto de las reseñas y y_train
contiene el sentimiento de las reseñas (positivo o negativo). Finalmente, el código imprime el número de documentos en los datos de entrenamiento y el número de muestras por clase.
A continuación, procesaremos los datos eliminando las etiquetas HTML y convirtiendo todo el texto a minúsculas.
import re
def preprocess_text(text):
# Remove HTML tags
text = re.sub('<[^>]*>', '', text)
# Find emoticons and remove non-word characters
emoticons = re.findall('(?::|;|=)(?:-)?(?:\)|\(|D|P)', text)
text = re.sub('[\W]+', ' ', text.lower()) + ' '.join(emoticons).replace('-', '')
return text
# Preprocess each text in text_train
text_train = [preprocess_text(text) for text in text_train]
Desglose del código:
El código primero importa la biblioteca re
, que proporciona operaciones de expresiones regulares. A continuación, el código define una función llamada preprocess_text()
, que toma una cadena como entrada y devuelve una cadena procesada. La función primero elimina las etiquetas HTML de la cadena de entrada utilizando la función re.sub()
. Luego, la función encuentra todos los emoticonos en la cadena de entrada utilizando la función re.findall()
. Luego, la función convierte todos los caracteres que no son palabras en espacios en la cadena de entrada utilizando la función re.sub()
. Luego, la función convierte la cadena de entrada a minúsculas. Luego, la función une los emoticonos con espacios. Luego, la función reemplaza todos los guiones con cadenas vacías. Luego, la función devuelve la cadena procesada. Finalmente, el código utiliza una comprensión de lista para aplicar la función preprocess_text()
a todas las cadenas en la matriz text_train
.
A continuación, dividiremos los datos en conjuntos de entrenamiento y prueba.
from sklearn.model_selection import train_test_split
# Split the preprocessed text data and corresponding labels into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(text_train, y_train, test_size=0.2, random_state=42)
Desglose del código:
A continuación, convertiremos los datos de texto en vectores de características numéricas utilizando la técnica de Bolsa de Palabras (Bag of Words).
from sklearn.feature_extraction.text import CountVectorizer
# Initialize CountVectorizer with stop_words='english' to remove common English words
vectorizer = CountVectorizer(stop_words='english')
# Fit and transform the training data
X_train = vectorizer.fit_transform(X_train)
# Transform the testing data
X_test = vectorizer.transform(X_test)
Desglose del código:
El código primero importa la función train_test_split
de la biblioteca sklearn.model_selection
. Luego, el código utiliza la función train_test_split()
para dividir los datos en subconjuntos de entrenamiento y prueba. El parámetro test_size
especifica que el 20% de los datos se utilizarán para las pruebas, y el parámetro random_state
especifica que los datos se deben mezclar de forma aleatoria. Finalmente, el código asigna los subconjuntos de entrenamiento y prueba a las variables X_train
, X_test
, y_train
y y_test
.
Finalmente, entrenaremos un clasificador Naive Bayes en los datos de entrenamiento y evaluaremos su rendimiento en los datos de prueba.
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# Initialize Multinomial Naive Bayes classifier
clf = MultinomialNB()
# Train the classifier on the training data
clf.fit(X_train, y_train)
# Predict labels for the testing data
y_pred = clf.predict(X_test)
# Compute accuracy score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}".format(accuracy))
Desglose del código:
El código primero importa las funciones MultinomialNB
y accuracy_score
de las bibliotecas sklearn.naive_bayes
y sklearn.metrics
, respectivamente. A continuación, el código crea un clasificador MultinomialNB
llamado clf
. Luego, el código ajusta el clasificador a los datos de entrenamiento utilizando la función clf.fit()
. El código luego predice el sentimiento de los datos de prueba utilizando la función clf.predict()
. El código luego calcula la precisión del clasificador utilizando la función accuracy_score()
. Finalmente, el código imprime la precisión del clasificador.
Este proyecto proporciona una aplicación práctica del aprendizaje automático en el campo del procesamiento de lenguaje natural (NLP). Muestra cómo utilizar el algoritmo Naive Bayes para realizar análisis de sentimiento en críticas de películas. El código proporcionado puede servir como punto de partida para una exploración y experimentación posteriores.