Ето разбивка стъпка по стъпка на предоставения 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: Дефинирайте и обучете модела
- Създайте екземпляр на класификатора Naive Bayes (
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
.
Изживейте иновационната революция с Himanshu Sharma, присъединете се към мен за ексклузивни прозрения, експертни гледни точки и авангардни актуализации. Следвайте ме сега, за да останете пред кривата. Нека се впуснем в това вълнуващо пътешествие заедно! #FollowMe #Innovation #HimanshuSharma #MachineLearning #Ruby #RubyOnRails