Вот пошаговая разбивка предоставленного скрипта Ruby для анализа настроений:
require 'scikit-learn' # Prepare your data x_train = [ "I love this movie", "The plot was intriguing", "Great performance by the actors", "It was a terrible experience", "The ending was disappointing" ] # Training text y_train = [1, 1, 1, 0, 0] # Training labels (1 for positive sentiment, 0 for negative sentiment) # Vectorize the text data vectorizer = Scikit::Learn::FeatureExtraction::Text::CountVectorizer.new x_train_vectorized = vectorizer.fit_transform(x_train) # Define and train your model model = Scikit::Learn::NaiveBayes::MultinomialNB.new model.fit(x_train_vectorized, y_train) # Prepare new test data x_test = [ "This movie is amazing", "I didn't like the acting" ] # Testing text # Vectorize the test data x_test_vectorized = vectorizer.transform(x_test) # Make predictions y_pred = model.predict(x_test_vectorized) # Print the predictions puts "Predictions:" y_pred.each { |prediction| puts prediction == 1 ? "Positive" : "Negative" }
Шаг 1: Подготовьте данные
- Определите обучающие текстовые данные
x_train
, которые состоят из обзоров фильмов. - Назначьте метки тональности
y_train
(1 для положительного, 0 для отрицательного), соответствующие каждому отзыву.
Шаг 2: Векторизуйте текстовые данные
- Создайте экземпляр
CountVectorizer
из scikit-learn, используяScikit::Learn::FeatureExtraction::Text::CountVectorizer.new
. - Используйте метод
fit_transform
для преобразования обучающих текстовых данныхX_train
в числовой формат, подходящий для машинного обучения. Сохраните результат вx_train_vectorized
.
Шаг 3: Определите и обучите модель
- Создайте экземпляр наивного байесовского классификатора (
MultinomialNB
), используяScikit::Learn::NaiveBayes::MultinomialNB.new
. - Обучите модель, используя векторизованные обучающие данные
x_train_vectorized
и метки настроенийy_train
, используя методfit
.
Шаг 4: Подготовьте тестовые данные
- Определите новые тестовые текстовые данные
X_test
, которые включают дополнительные обзоры фильмов, требующие анализа тональности.
Шаг 5: Векторизация тестовых данных
- Используйте тот же экземпляр
CountVectorizer
для преобразования тестовых текстовых данныхx_test
в числовой формат. Сохраните результат вx_test_vectorized
.
Шаг 6: Делайте прогнозы
- Используйте обученную модель для прогнозирования меток настроений для векторизованных тестовых данных
x_test_vectorized
с помощью методаpredict
. Сохраните прогнозы вy_pred
.
Шаг 7: Распечатайте предсказания
- Переберите массив
y_pred
и напечатайте каждый прогноз как «Положительный» или «Отрицательный», используя методputs
.
Испытайте инновационную революцию вместе с Химаншу Шармой. Присоединяйтесь ко мне, чтобы получать эксклюзивные идеи, мнения экспертов и самые свежие новости. Следуйте за мной сейчас, чтобы оставаться на шаг впереди. Давайте вместе отправимся в это увлекательное путешествие! #FollowMe #Innovation #HimanshuSharma #MachineLearning #Ruby #RubyOnRails