Хакатон. Регрессионные модели.

Анализируем Trip Advisor Hotel Reviews

Дата публикации

25.04.2025

Аннотация
если нужно вставить аннотацию

Trip Advisor Hotel Reviews.

Команда:
Владлена Гурьева, Карина Чадаева, Анастасия Богданова.


Задача: предсказать рейтинг отеля на основе отзыва на Trip Advisor Hotel Reviews



Данные.


В качестве источника данных используется датасет с оценками 20 тысяч отелей, взятый с сайтa Tripadvisor. Для ограничения выборки применен коэф. 0.3. Данные сократились до 6147 наблюдений.

library(tidyverse)
library(tidymodels)
library(textrecipes)
library(easystats)
library(LiblineaR)
library(parsnip)
library(ranger)
library(ggplot2)

# Загружаем данные
hotels <- read_csv("tripadvisor_hotel_reviews.csv")
set.seed(1)
hotels <- sample_frac(hotels, 0.3)


Данные представляют собой две колонки с отзывом и рейтингом по каждому из отелей. Приводим к нижнему регистру и выводим первые значения.

summary(hotels)
    Review              Rating    
 Length:6147        Min.   :1.00  
 Class :character   1st Qu.:3.00  
 Mode  :character   Median :4.00  
                    Mean   :3.96  
                    3rd Qu.:5.00  
                    Max.   :5.00  
head(hotels)
colnames(hotels) <- tolower(colnames(hotels))


Проводим разведывательный анализ данных.


Для этого сначала чистим данные. Смотрим на распределение рейтингов. Считаем количество знаков в отзывах. Проверяем зависимость рейтинга от длины отзыва.

hotels <- hotels |> 
  mutate(review = str_replace_all(review, "\\b\\d+(\\.\\d+)?\\b", "$"))
  
hotels |> 
  ggplot(aes(x = rating)) +
  geom_bar(fill = "steelblue") +
  labs(title = "Распределение рейтингов", x = "Рейтинг", y = "Количество")

hotels$lengths <- nchar(hotels$review) # подсчет знаков в отзыве
mean_lengths_rev <- mean(hotels$lengths) # среднее

# Зависимость оценки от длины отзыва
length_r <- lm(rating ~ lengths, data = hotels)
summary(length_r)

Call:
lm(formula = rating ~ lengths, data = hotels)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.01134 -0.90930  0.06487  1.01765  1.94278 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  4.017e+00  2.213e-02 181.555  < 2e-16 ***
lengths     -7.698e-05  2.111e-05  -3.647 0.000268 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.232 on 6145 degrees of freedom
Multiple R-squared:  0.002159,  Adjusted R-squared:  0.001997 
F-statistic:  13.3 on 1 and 6145 DF,  p-value: 0.0002679

Формируем выборки для анализа.

Преобразование в количественные переменные.

hotels_split <- hotels |> 
  initial_split()

hotels_train <- training(hotels_split)
hotels_test <- testing(hotels_split)
hotels_rec <- recipe(rating ~ review, 
                    data = hotels_train) |> 
  step_tokenize(review)  |> 
  step_tokenfilter(review, max_tokens = 1000)  |> 
  step_tfidf(review)
# Визуализация после подсчета tfidf.
prep(hotels_rec, hotels_train) |> 
  bake(new_data = NULL) |> 
  head(5) |> 
  gt::gt()  
rating tfidf_review_1st tfidf_review_2nd tfidf_review_3rd tfidf_review_a tfidf_review_able tfidf_review_absolutely tfidf_review_access tfidf_review_activities tfidf_review_actually tfidf_review_adequate tfidf_review_adults tfidf_review_advance tfidf_review_advantage tfidf_review_advice tfidf_review_advisor tfidf_review_afternoon tfidf_review_agent tfidf_review_ago tfidf_review_agree tfidf_review_air tfidf_review_airport tfidf_review_all tfidf_review_allowed tfidf_review_alot tfidf_review_amazing tfidf_review_amenities tfidf_review_american tfidf_review_amsterdam tfidf_review_anniversary tfidf_review_annoying tfidf_review_apple tfidf_review_appointed tfidf_review_april tfidf_review_area tfidf_review_areas tfidf_review_arrival tfidf_review_arrive tfidf_review_arrived tfidf_review_ask tfidf_review_asked tfidf_review_asking tfidf_review_ate tfidf_review_atmosphere tfidf_review_attention tfidf_review_attentive tfidf_review_attractions tfidf_review_august tfidf_review_available tfidf_review_average tfidf_review_avoid tfidf_review_aware tfidf_review_away tfidf_review_awesome tfidf_review_awful tfidf_review_b tfidf_review_bad tfidf_review_bag tfidf_review_bags tfidf_review_balcony tfidf_review_bali tfidf_review_bar tfidf_review_barcelona tfidf_review_bars tfidf_review_based tfidf_review_basic tfidf_review_basically tfidf_review_bath tfidf_review_bathroom tfidf_review_bathrooms tfidf_review_bavaro tfidf_review_bay tfidf_review_beach tfidf_review_beaches tfidf_review_beat tfidf_review_beautiful tfidf_review_bed tfidf_review_bedroom tfidf_review_beds tfidf_review_beer tfidf_review_believe tfidf_review_berlin tfidf_review_best tfidf_review_better tfidf_review_beware tfidf_review_big tfidf_review_birthday tfidf_review_bit tfidf_review_block tfidf_review_blocks tfidf_review_blue tfidf_review_board tfidf_review_boat tfidf_review_book tfidf_review_booked tfidf_review_booking tfidf_review_boston tfidf_review_bother tfidf_review_bottle tfidf_review_bottled tfidf_review_bottles tfidf_review_boutique tfidf_review_boyfriend tfidf_review_bread tfidf_review_break tfidf_review_breakfast tfidf_review_breakfasts tfidf_review_bridge tfidf_review_brilliant tfidf_review_bring tfidf_review_broken tfidf_review_brought tfidf_review_budget tfidf_review_buffet tfidf_review_buffets tfidf_review_bugs tfidf_review_building tfidf_review_buildings tfidf_review_bus tfidf_review_business tfidf_review_busy tfidf_review_buy tfidf_review_c tfidf_review_ca tfidf_review_cab tfidf_review_cable tfidf_review_cafe tfidf_review_called tfidf_review_came tfidf_review_cana tfidf_review_canal tfidf_review_car tfidf_review_card tfidf_review_care tfidf_review_careful tfidf_review_caribbean tfidf_review_caribe tfidf_review_carte tfidf_review_case tfidf_review_casino tfidf_review_ceiling tfidf_review_center tfidf_review_central tfidf_review_centre tfidf_review_certainly tfidf_review_chain tfidf_review_chair tfidf_review_chairs tfidf_review_champagne tfidf_review_change tfidf_review_changed tfidf_review_charge tfidf_review_charged tfidf_review_charming tfidf_review_cheap tfidf_review_cheaper tfidf_review_check tfidf_review_checked tfidf_review_checking tfidf_review_cheese tfidf_review_chicken tfidf_review_children tfidf_review_chinese tfidf_review_chocolate tfidf_review_choice tfidf_review_choices tfidf_review_choose tfidf_review_chose tfidf_review_city tfidf_review_class tfidf_review_clean tfidf_review_cleaned tfidf_review_cleaning tfidf_review_clear tfidf_review_close tfidf_review_closed tfidf_review_closer tfidf_review_closet tfidf_review_clothes tfidf_review_club tfidf_review_coffee tfidf_review_cold tfidf_review_come tfidf_review_comes tfidf_review_comfortable tfidf_review_comfy tfidf_review_coming tfidf_review_compared tfidf_review_complain tfidf_review_complaint tfidf_review_complaints tfidf_review_complete tfidf_review_completely tfidf_review_complimentary tfidf_review_concierge tfidf_review_conditioning tfidf_review_consider tfidf_review_considering tfidf_review_construction tfidf_review_continental tfidf_review_convenient tfidf_review_cool tfidf_review_corner tfidf_review_cost tfidf_review_country tfidf_review_couple tfidf_review_couples tfidf_review_course tfidf_review_courteous tfidf_review_courtyard tfidf_review_credit tfidf_review_crowded tfidf_review_cruise tfidf_review_customer tfidf_review_daily tfidf_review_dancing tfidf_review_dark tfidf_review_daughter tfidf_review_day tfidf_review_days tfidf_review_deal tfidf_review_decent tfidf_review_decided tfidf_review_decor tfidf_review_decorated tfidf_review_definately tfidf_review_definitely tfidf_review_delicious tfidf_review_deluxe tfidf_review_design tfidf_review_desk tfidf_review_despite tfidf_review_did tfidf_review_didn__ç_é_ tfidf_review_didnt tfidf_review_different tfidf_review_difficult tfidf_review_dining tfidf_review_dinner tfidf_review_directions tfidf_review_directly tfidf_review_dirty tfidf_review_disappointed tfidf_review_disappointing tfidf_review_disco tfidf_review_distance tfidf_review_district tfidf_review_does tfidf_review_doing tfidf_review_dollar tfidf_review_dollars tfidf_review_dominican tfidf_review_don__ç_é_ tfidf_review_dont tfidf_review_door tfidf_review_doors tfidf_review_double tfidf_review_downtown tfidf_review_dr tfidf_review_drink tfidf_review_drinks tfidf_review_drive tfidf_review_driver tfidf_review_e tfidf_review_early tfidf_review_easily tfidf_review_easy tfidf_review_eat tfidf_review_eating tfidf_review_efficient tfidf_review_eggs tfidf_review_el tfidf_review_elevator tfidf_review_elevators tfidf_review_email tfidf_review_end tfidf_review_ended tfidf_review_english tfidf_review_enjoy tfidf_review_enjoyable tfidf_review_enjoyed tfidf_review_entertainment tfidf_review_entire tfidf_review_entrance tfidf_review_especially tfidf_review_euro tfidf_review_europe tfidf_review_european tfidf_review_euros tfidf_review_evening tfidf_review_everyday tfidf_review_exactly tfidf_review_excellence tfidf_review_excellent tfidf_review_exceptional tfidf_review_excursions tfidf_review_executive tfidf_review_expect tfidf_review_expectations tfidf_review_expected tfidf_review_expecting tfidf_review_expensive tfidf_review_experience tfidf_review_experienced tfidf_review_extra tfidf_review_extremely tfidf_review_fabulous tfidf_review_facilities tfidf_review_facing tfidf_review_fact tfidf_review_fairly tfidf_review_families tfidf_review_family tfidf_review_fantastic tfidf_review_far tfidf_review_fast tfidf_review_fault tfidf_review_favorite tfidf_review_feel tfidf_review_feet tfidf_review_felt tfidf_review_finally tfidf_review_finding tfidf_review_fine tfidf_review_fish tfidf_review_flat tfidf_review_flight tfidf_review_floor tfidf_review_floors tfidf_review_florence tfidf_review_flowers tfidf_review_following tfidf_review_food tfidf_review_forget tfidf_review_forward tfidf_review_francisco tfidf_review_free tfidf_review_french tfidf_review_fresh tfidf_review_fridge tfidf_review_friend tfidf_review_friendly tfidf_review_friends tfidf_review_fruit tfidf_review_fun tfidf_review_furniture tfidf_review_games tfidf_review_garden tfidf_review_gave tfidf_review_gem tfidf_review_general tfidf_review_generally tfidf_review_gets tfidf_review_getting tfidf_review_gift tfidf_review_given tfidf_review_glad tfidf_review_glass tfidf_review_goes tfidf_review_going tfidf_review_golf tfidf_review_gone tfidf_review_good tfidf_review_gorgeous tfidf_review_got tfidf_review_grand tfidf_review_great tfidf_review_greeted tfidf_review_grill tfidf_review_ground tfidf_review_grounds tfidf_review_group tfidf_review_guess tfidf_review_guest tfidf_review_guests tfidf_review_guy tfidf_review_guys tfidf_review_gym tfidf_review_hair tfidf_review_half tfidf_review_hand tfidf_review_happy tfidf_review_harbour tfidf_review_hard tfidf_review_having tfidf_review_head tfidf_review_hear tfidf_review_heard tfidf_review_heart tfidf_review_heat tfidf_review_help tfidf_review_helped tfidf_review_helpful tfidf_review_high tfidf_review_higher tfidf_review_highly tfidf_review_hilton tfidf_review_holiday tfidf_review_home tfidf_review_honeymoon tfidf_review_hong tfidf_review_hope tfidf_review_horrible tfidf_review_hot tfidf_review_hotel tfidf_review_hotels tfidf_review_hour tfidf_review_hours tfidf_review_house tfidf_review_housekeeping tfidf_review_huge tfidf_review_husband tfidf_review_iberostar tfidf_review_ice tfidf_review_idea tfidf_review_ideal tfidf_review_imagine tfidf_review_immediately tfidf_review_important tfidf_review_impressed tfidf_review_in tfidf_review_included tfidf_review_including tfidf_review_inclusive tfidf_review_incredible tfidf_review_information tfidf_review_inn tfidf_review_inside tfidf_review_instead tfidf_review_interesting tfidf_review_internet tfidf_review_island tfidf_review_issue tfidf_review_issues tfidf_review_it__ç_é_ tfidf_review_italian tfidf_review_items tfidf_review_jacuzzi tfidf_review_japanese tfidf_review_job tfidf_review_juan tfidf_review_juice tfidf_review_july tfidf_review_june tfidf_review_junior tfidf_review_just tfidf_review_kept tfidf_review_key tfidf_review_kids tfidf_review_kind tfidf_review_king tfidf_review_kitchen tfidf_review_knew tfidf_review_know tfidf_review_kong tfidf_review_la tfidf_review_lack tfidf_review_lady tfidf_review_language tfidf_review_large tfidf_review_larger tfidf_review_las tfidf_review_late tfidf_review_later tfidf_review_leave tfidf_review_leaving tfidf_review_left tfidf_review_let tfidf_review_level tfidf_review_life tfidf_review_light tfidf_review_like tfidf_review_liked tfidf_review_limited tfidf_review_line tfidf_review_lines tfidf_review_list tfidf_review_literally tfidf_review_little tfidf_review_live tfidf_review_living tfidf_review_lobby tfidf_review_lobster tfidf_review_local tfidf_review_locals tfidf_review_located tfidf_review_location tfidf_review_london tfidf_review_long tfidf_review_longer tfidf_review_look tfidf_review_looked tfidf_review_looking tfidf_review_looks tfidf_review_lost tfidf_review_lot tfidf_review_lots tfidf_review_loud tfidf_review_lounge tfidf_review_love tfidf_review_loved tfidf_review_lovely tfidf_review_low tfidf_review_luggage tfidf_review_lunch tfidf_review_luxurious tfidf_review_luxury tfidf_review_machine tfidf_review_maid tfidf_review_main tfidf_review_maintained tfidf_review_majestic tfidf_review_major tfidf_review_make tfidf_review_makes tfidf_review_making tfidf_review_mall tfidf_review_man tfidf_review_management tfidf_review_manager tfidf_review_marble tfidf_review_march tfidf_review_market tfidf_review_marriott tfidf_review_massage tfidf_review_matter tfidf_review_maybe tfidf_review_meal tfidf_review_meals tfidf_review_mean tfidf_review_means tfidf_review_meet tfidf_review_melia tfidf_review_member tfidf_review_mention tfidf_review_mentioned tfidf_review_menu tfidf_review_met tfidf_review_metro tfidf_review_mexican tfidf_review_mexico tfidf_review_middle tfidf_review_min tfidf_review_mind tfidf_review_mini tfidf_review_minor tfidf_review_mins tfidf_review_minute tfidf_review_minutes tfidf_review_miss tfidf_review_modern tfidf_review_moment tfidf_review_money tfidf_review_month tfidf_review_months tfidf_review_morning tfidf_review_moved tfidf_review_museum tfidf_review_music tfidf_review_n't tfidf_review_near tfidf_review_nearby tfidf_review_need tfidf_review_needed tfidf_review_needs tfidf_review_negative tfidf_review_neighborhood tfidf_review_new tfidf_review_nice tfidf_review_nicely tfidf_review_nicer tfidf_review_night tfidf_review_nights tfidf_review_no tfidf_review_noise tfidf_review_noisy tfidf_review_non tfidf_review_none tfidf_review_north tfidf_review_not tfidf_review_note tfidf_review_nothing tfidf_review_noticed tfidf_review_number tfidf_review_nyc tfidf_review_obviously tfidf_review_ocean tfidf_review_offer tfidf_review_offered tfidf_review_offers tfidf_review_oh tfidf_review_ok tfidf_review_okay tfidf_review_old tfidf_review_older tfidf_review_ones tfidf_review_open tfidf_review_opened tfidf_review_opinion tfidf_review_options tfidf_review_order tfidf_review_ordered tfidf_review_orleans tfidf_review_out tfidf_review_outside tfidf_review_outstanding tfidf_review_overall tfidf_review_overlooking tfidf_review_overpriced tfidf_review_package tfidf_review_paid tfidf_review_palace tfidf_review_paradise tfidf_review_paris tfidf_review_park tfidf_review_parking tfidf_review_particularly tfidf_review_party tfidf_review_pass tfidf_review_past tfidf_review_patio tfidf_review_pay tfidf_review_paying tfidf_review_people tfidf_review_perfect tfidf_review_perfectly tfidf_review_person tfidf_review_phone tfidf_review_pick tfidf_review_picked tfidf_review_pictures tfidf_review_pillows tfidf_review_pizza tfidf_review_place tfidf_review_places tfidf_review_plan tfidf_review_planning tfidf_review_play tfidf_review_plaza tfidf_review_pleasant tfidf_review_pleased tfidf_review_plenty tfidf_review_plus tfidf_review_pm tfidf_review_point tfidf_review_points tfidf_review_polite tfidf_review_pool tfidf_review_pools tfidf_review_poor tfidf_review_positive tfidf_review_possible tfidf_review_prepared tfidf_review_pressure tfidf_review_pretty tfidf_review_previous tfidf_review_price tfidf_review_priced tfidf_review_prices tfidf_review_pricey tfidf_review_princess tfidf_review_prior tfidf_review_private tfidf_review_probably tfidf_review_problem tfidf_review_problems tfidf_review_professional tfidf_review_property tfidf_review_provide tfidf_review_provided tfidf_review_public tfidf_review_puerto tfidf_review_punta tfidf_review_quality tfidf_review_quarter tfidf_review_queen tfidf_review_questions tfidf_review_quick tfidf_review_quickly tfidf_review_quiet tfidf_review_quite tfidf_review_rain tfidf_review_ramblas tfidf_review_range tfidf_review_rate tfidf_review_rates tfidf_review_read tfidf_review_reading tfidf_review_ready tfidf_review_real tfidf_review_really tfidf_review_reason tfidf_review_reasonable tfidf_review_reasonably tfidf_review_received tfidf_review_recently tfidf_review_reception tfidf_review_recommend tfidf_review_recommended tfidf_review_red tfidf_review_regular tfidf_review_relax tfidf_review_relaxing tfidf_review_remember tfidf_review_renovated tfidf_review_republic tfidf_review_request tfidf_review_requested tfidf_review_reservation tfidf_review_reservations tfidf_review_reserve tfidf_review_resort tfidf_review_resorts tfidf_review_rest tfidf_review_restaurant tfidf_review_restaurants tfidf_review_return tfidf_review_returned tfidf_review_returning tfidf_review_review tfidf_review_reviewers tfidf_review_reviews tfidf_review_ride tfidf_review_right tfidf_review_ritz tfidf_review_riu tfidf_review_road tfidf_review_romantic tfidf_review_roof tfidf_review_room tfidf_review_rooms tfidf_review_royal tfidf_review_rude tfidf_review_rum tfidf_review_run tfidf_review_running tfidf_review_s tfidf_review_safe tfidf_review_said tfidf_review_san tfidf_review_sand tfidf_review_save tfidf_review_saw tfidf_review_say tfidf_review_saying tfidf_review_screen tfidf_review_sea tfidf_review_seafood tfidf_review_seattle tfidf_review_second tfidf_review_security tfidf_review_seeing tfidf_review_seen tfidf_review_selection tfidf_review_sent tfidf_review_separate tfidf_review_served tfidf_review_service tfidf_review_services tfidf_review_set tfidf_review_shade tfidf_review_sheets tfidf_review_shop tfidf_review_shopping tfidf_review_shops tfidf_review_short tfidf_review_shower tfidf_review_shows tfidf_review_shuttle tfidf_review_sick tfidf_review_sights tfidf_review_sightseeing tfidf_review_sign tfidf_review_simple tfidf_review_simply tfidf_review_singapore tfidf_review_single tfidf_review_sink tfidf_review_sit tfidf_review_site tfidf_review_sites tfidf_review_sitting tfidf_review_situated tfidf_review_size tfidf_review_sized tfidf_review_sleep tfidf_review_sleeping tfidf_review_slept tfidf_review_slightly tfidf_review_slow tfidf_review_small tfidf_review_smaller tfidf_review_smell tfidf_review_smile tfidf_review_smoke tfidf_review_smoking tfidf_review_snacks tfidf_review_soft tfidf_review_somewhat tfidf_review_son tfidf_review_soon tfidf_review_sound tfidf_review_spa tfidf_review_space tfidf_review_spacious tfidf_review_spanish tfidf_review_speak tfidf_review_speaking tfidf_review_special tfidf_review_spectacular tfidf_review_spend tfidf_review_spending tfidf_review_spent tfidf_review_spoke tfidf_review_sports tfidf_review_spot tfidf_review_spotless tfidf_review_square tfidf_review_st tfidf_review_staff tfidf_review_stairs tfidf_review_standard tfidf_review_standards tfidf_review_star tfidf_review_stars tfidf_review_start tfidf_review_started tfidf_review_station tfidf_review_stay tfidf_review_stayed tfidf_review_staying tfidf_review_steak tfidf_review_steps tfidf_review_stocked tfidf_review_stop tfidf_review_stops tfidf_review_store tfidf_review_straight tfidf_review_street tfidf_review_streets tfidf_review_stuff tfidf_review_style tfidf_review_stylish tfidf_review_subway tfidf_review_suggest tfidf_review_suite tfidf_review_suites tfidf_review_sun tfidf_review_super tfidf_review_superb tfidf_review_superior tfidf_review_sure tfidf_review_surprise tfidf_review_surprised tfidf_review_swim tfidf_review_swimming tfidf_review_sydney tfidf_review_t tfidf_review_table tfidf_review_tables tfidf_review_taken tfidf_review_takes tfidf_review_taking tfidf_review_taxi tfidf_review_tea tfidf_review_tell tfidf_review_terrace tfidf_review_terrible tfidf_review_terrific tfidf_review_thank tfidf_review_thanks tfidf_review_the tfidf_review_thing tfidf_review_things tfidf_review_think tfidf_review_thought tfidf_review_time tfidf_review_times tfidf_review_tiny tfidf_review_tip tfidf_review_tipped tfidf_review_tips tfidf_review_tired tfidf_review_toilet tfidf_review_toiletries tfidf_review_tokyo tfidf_review_told tfidf_review_took tfidf_review_totally tfidf_review_touch tfidf_review_tour tfidf_review_tourist tfidf_review_tourists tfidf_review_tours tfidf_review_towel tfidf_review_towels tfidf_review_tower tfidf_review_town tfidf_review_traffic tfidf_review_train tfidf_review_tram tfidf_review_transport tfidf_review_transportation tfidf_review_travel tfidf_review_traveled tfidf_review_traveling tfidf_review_travelling tfidf_review_treat tfidf_review_treated tfidf_review_trees tfidf_review_tried tfidf_review_trip tfidf_review_tripadvisor tfidf_review_trips tfidf_review_tropical tfidf_review_trouble tfidf_review_true tfidf_review_truly tfidf_review_try tfidf_review_trying tfidf_review_tub tfidf_review_turn tfidf_review_turned tfidf_review_tv tfidf_review_twice tfidf_review_type tfidf_review_typical tfidf_review_understand tfidf_review_unfortunately tfidf_review_unless tfidf_review_up tfidf_review_upgrade tfidf_review_upgraded tfidf_review_use tfidf_review_used tfidf_review_using tfidf_review_usual tfidf_review_usually tfidf_review_vacation tfidf_review_valet tfidf_review_value tfidf_review_variety tfidf_review_various tfidf_review_view tfidf_review_views tfidf_review_villa tfidf_review_visit tfidf_review_visited tfidf_review_visiting tfidf_review_w tfidf_review_waikiki tfidf_review_wait tfidf_review_waiting tfidf_review_walk tfidf_review_walked tfidf_review_walking tfidf_review_wall tfidf_review_walls tfidf_review_want tfidf_review_wanted tfidf_review_warm tfidf_review_watch tfidf_review_water tfidf_review_waves tfidf_review_way tfidf_review_weather tfidf_review_website tfidf_review_wedding tfidf_review_week tfidf_review_weekend tfidf_review_weeks tfidf_review_welcome tfidf_review_welcoming tfidf_review_well tfidf_review_went tfidf_review_westin tfidf_review_white tfidf_review_wide tfidf_review_wife tfidf_review_willing tfidf_review_window tfidf_review_windows tfidf_review_wine tfidf_review_wireless tfidf_review_wish tfidf_review_wo tfidf_review_wonderful tfidf_review_word tfidf_review_work tfidf_review_worked tfidf_review_working tfidf_review_world tfidf_review_worst tfidf_review_worth tfidf_review_wow tfidf_review_wrong tfidf_review_year tfidf_review_years tfidf_review_yes tfidf_review_york tfidf_review_young
5 0 0 0 0.00000000 0 0 0 0 0 0 0.04977045 0 0.05235291 0 0 0 0 0.00000 0 0 0.00000000 0 0 0 0 0.04220621 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0 0.000000000 0 0.000000000 0.00000000 0.03715364 0 0.00000000 0 0 0 0.00000000 0 0.0000000 0 0.000000000 0.000000000 0.00000000 0 0.000000000 0 0 0.03949152 0 0.02385848 0 0.00000000 0 0 0 0 0.000000000 0 0.00000000 0 0.02330160 0 0.00000000 0.00000000 0 0 0 0 0.000000000 0 0.00000000 0.00000000 0.00000000 0.000000000 0 0.02617046 0 0 0.00000000 0 0.05113809 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.034607621 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.000000000 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0.0000000 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0 0.016543751 0.00000000 0.00000000 0 0.00000000 0 0 0 0 0.00000000 0 0.00000000 0 0 0.023446868 0 0 0 0.00000000 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0.00000000 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0.00000000 0.02675486 0.04518279 0 0 0.000000000 0.00000000 0.00000000 0 0 0.00000000 0 0.00000000 0.000000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0.000000000 0.030566724 0 0 0 0.00000000 0 0 0.03017607 0.00000000 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0.068671724 0.0000000 0 0 0.02195298 0 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0 0 0.03288910 0.02961587 0 0.04774632 0.0000000 0 0.00000000 0 0.00000000 0 0 0.00000000 0.00000000 0 0.00000000 0 0.0000000 0 0 0 0.000000000 0 0 0 0.000000000 0 0.00000000 0 0 0.01911182 0 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0 0.000000000 0 0 0 0.03890066 0 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.02127567 0 0 0 0 0 0.00000000 0 0 0 0 0.0000000 0.082864533 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0.03804273 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0.000000000 0.00000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.000000000 0.00000000 0.00000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0.000000000 0.000000000 0.00000000 0 0 0.00000000 0 0.00000000 0.00000000 0.00000000 0 0 0 0.03775449 0 0 0 0 0.00000000 0 0.000000000 0 0 0.00000000 0 0.000000000 0.000000000 0 0.00000000 0.00000000 0 0.02908402 0 0.000000000 0.036798928 0 0 0 0 0.061484494 0.00000000 0 0 0.000000000 0.000000000 0.0000000 0 0.00000000 0 0 0 0.00000000 0.04220621 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.029684285 0 0 0 0.00000000 0 0.000000000 0.01566044 0 0 0.00000000 0.000000000 0.000000000 0.00000000 0 0 0.00000000 0 0 0.00000000 0.02328959 0.000000000 0 0 0 0 0 0.00000000 0.00000000 0 0 0.04491906 0 0 0.07569954 0 0.000000000 0.000000 0 0.00000000 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0 0.0000000 0.0000000 0 0 0 0 0.0000000 0 0 0 0 0 0.00000000 0.05914100 0 0.00000000 0 0 0 0 0 0.00000000 0.040510493 0.000000000 0 0 0 0 0.00000000 0 0 0 0.00000000 0.00000000 0.00000000 0 0.02290201 0.00000000 0 0.0000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0 0.000000000 0 0 0.00000000 0 0 0 0 0.00000000 0.000000000 0 0 0 0 0 0 0.000000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.045394644 0 0 0 0.04432523 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0 0.04679638 0.023349768 0.000000000 0 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0 0.000000000 0.031171533 0 0.0000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.000000000 0.000000000 0 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.000000000 0.00000000 0.00000000 0.04179724 0 0 0 0 0.04023061 0 0 0.00000000 0 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0.000000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0.021114216 0 0 0 0 0 0 0.00000000 0 0 0 0 0.04095673 0 0 0.00000000 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0.013232874 0 0 0 0 0 0 0.00000000 0 0 0.03155745 0 0 0 0 0 0 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0 0.0425581 0.04591554 0 0.0509943 0 0 0 0 0.00000000 0 0 0.0000000 0 0 0 0.04321889 0 0 0 0 0.0000000 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.039657987 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.024249053 0 0 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.04375932 0 0 0 0 0.03282763 0.04591554 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.00000000 0.000000000 0.00000000 0.04424273 0.00000000 0 0.00000000 0.00000000 0.000000000 0 0.00000000 0 0 0 0 0 0.000000000 0 0.0000000 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0.05284104 0.00000000 0 0.000000000 0 0 0.000000000 0 0.000000000 0.00000000 0 0.00000000 0 0
5 0 0 0 0.00000000 0 0 0 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0.00000 0 0 0.00000000 0 0 0 0 0.00000000 0.01538964 0 0 0 0 0 0.01754652 0.00000000 0 0.01357003 0 0.000000000 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0.00000000 0 0.0000000 0 0.000000000 0.000000000 0.00000000 0 0.000000000 0 0 0.00000000 0 0.01669024 0 0.01263421 0 0 0 0 0.000000000 0 0.00000000 0 0.04075167 0 0.00000000 0.01718086 0 0 0 0 0.000000000 0 0.00000000 0.00000000 0.01825633 0.000000000 0 0.00000000 0 0 0.01670051 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0.01187702 0 0 0 0 0.000000000 0.02504146 0 0 0 0.014619662 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0.0133924 0.00000000 0 0 0 0 0 0 0 0 0.01493606 0 0 0 0 0.01483612 0 0 0 0.005786604 0.03095007 0.00000000 0 0.00000000 0 0 0 0 0.00000000 0 0.01340982 0 0 0.000000000 0 0 0 0.00000000 0 0.01602725 0 0 0 0.000000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0.00000000 0 0 0 0.01316599 0.000000000 0 0 0.02839345 0 0 0.00000000 0.00000000 0.00000000 0 0 0.000000000 0.00000000 0.03544993 0 0 0.02267019 0 0.00000000 0.000000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.00000000 0 0.01626308 0 0 0 0 0 0 0 0 0.000000000 0.000000000 0 0 0 0.01125345 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0.00000000 0 0 0.012465181 0 0.02131373 0 0.01486088 0 0.00000000 0 0 0.01589815 0 0.000000000 0.0160933 0 0 0.00767862 0 0 0 0.00000000 0 0 0 0.011841571 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0 0 0.01150381 0.00000000 0 0.01670051 0.0000000 0 0.00000000 0 0.00000000 0 0 0.01147161 0.00000000 0 0.00000000 0 0.0000000 0 0 0 0.006914201 0 0 0 0.000000000 0 0.00000000 0 0 0.00668485 0 0.00000000 0 0 0.01866025 0 0 0 0.00000000 0 0 0.01173711 0 0 0.01804136 0 0 0 0 0 0.01054337 0.00000000 0.00000000 0 0.033105293 0 0 0 0.00000000 0 0 0.000000000 0.01219858 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0.01147161 0 0 0 0 0.0225069 0.000000000 0 0.00000000 0.00000000 0 0 0 0.00000000 0.02070525 0.01583505 0 0 0 0.00000000 0.01759353 0 0 0 0.00000000 0.01577287 0 0 0 0 0.000000000 0 0 0 0 0 0 0.000000000 0.01673907 0.00000000 0 0 0 0 0 0 0 0.005718793 0.000000000 0.00000000 0.01301123 0 0 0 0 0.01039889 0 0 0 0 0 0 0 0 0 0 0 0 0.02152349 0.000000000 0.000000000 0 0.000000000 0.006911394 0.01395035 0 0 0.01820158 0 0.00000000 0.01551120 0.01654965 0 0 0 0.00000000 0 0 0 0 0.01026472 0 0.011924804 0 0 0.00000000 0 0.020813864 0.000000000 0 0.00000000 0.01383249 0 0.00000000 0 0.000000000 0.000000000 0 0 0 0 0.010752894 0.00000000 0 0 0.009014847 0.000000000 0.0142607 0 0.00000000 0 0 0 0.01677798 0.00000000 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.01736346 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.029872121 0.03834349 0 0 0.01005394 0.025443012 0.000000000 0.00000000 0 0 0.01780719 0 0 0.01879323 0.00000000 0.006050397 0 0 0 0 0 0.03070350 0.01496142 0 0 0.00000000 0 0 0.00000000 0 0.000000000 0.000000 0 0.01155809 0.00000000 0.000000000 0 0.00000000 0.01130427 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0.01091555 0 0 0 0 0.0000000 0.0174085 0 0 0 0 0.0000000 0 0 0 0 0 0.01587009 0.00000000 0 0.01317255 0 0 0 0 0 0.01701918 0.007084795 0.012046877 0 0 0 0 0.00000000 0 0 0 0.00000000 0.01511692 0.00000000 0 0.02403171 0.00000000 0 0.0000000 0.00000000 0 0 0 0 0.009263264 0 0 0 0 0 0 0 0.000000000 0 0 0.00000000 0 0 0 0 0.02495799 0.000000000 0 0 0 0 0 0 0.000000000 0.01750002 0 0 0 0 0.000000000 0 0 0 0.029554138 0 0.000000000 0 0 0 0 0.007938974 0 0 0 0.00000000 0 0.01536156 0 0 0 0 0 0.01340982 0.01842485 0.01871641 0.02914611 0 0.01636824 0.000000000 0.000000000 0 0 0 0 0.00000000 0.000000000 0 0 0.05731673 0 0 0 0.004038735 0.005451524 0 0.0155622 0 0.01369915 0 0 0 0 0 0.01547504 0.00000000 0.000000000 0.009455794 0 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.000000000 0.01286893 0.00000000 0.00000000 0 0 0 0 0.00000000 0 0 0.03066732 0 0.04625375 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0.015064443 0.00000000 0 0 0 0 0 0 0 0 0 0 0.007385241 0 0 0 0 0 0 0.01651276 0 0 0 0 0.00000000 0 0 0.02710383 0 0 0.01288667 0.00000000 0.01373681 0 0 0 0 0 0 0 0 0.004628539 0 0 0 0 0 0 0.00000000 0 0 0.01103803 0 0 0 0 0 0 0 0 0.009304482 0 0.00000000 0 0 0 0 0 0 0.0000000 0.00000000 0 0.0000000 0 0 0 0 0.00000000 0 0 0.0142607 0 0 0 0.00000000 0 0 0 0 0.0000000 0 0 0 0 0.00000000 0.011283864 0.030405891 0 0.03275336 0.010142784 0 0.01401057 0.03618822 0 0.01693726 0 0 0 0.000000000 0.04108990 0 0 0.000000000 0 0 0 0 0.01188891 0 0 0 0 0 0 0 0 0 0 0 0 0 0.01848252 0 0.008481732 0 0 0 0 0 0.01626308 0.02157687 0 0 0.00000000 0 0 0 0.00000000 0 0.03167009 0 0 0.00000000 0 0 0.01034304 0 0 0 0.000000000 0.01113417 0 0 0.01530595 0 0 0 0 0.00000000 0.00000000 0 0 0 0.011818113 0 0.007537068 0 0 0 0 0.01782578 0.000000000 0.01353388 0.00000000 0.01822864 0 0.00000000 0.01483612 0.000000000 0 0.00000000 0 0 0 0 0 0.000000000 0 0.0150906 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0.00000000 0.00000000 0 0.000000000 0 0 0.000000000 0 0.015064443 0.00000000 0 0.01358823 0 0
3 0 0 0 0.00000000 0 0 0 0 0 0 0.00000000 0 0.02402075 0 0 0 0 0.00000 0 0 0.02036706 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0.00000000 0.01038835 0 0.00000000 0 0.006481786 0 0.007407572 0.01127322 0.00000000 0 0.01183301 0 0 0 0.01524829 0 0.0109285 0 0.005814818 0.009932294 0.01223893 0 0.006712202 0 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0 0 0.005176304 0 0.00000000 0 0.01603698 0 0.01173168 0.00563431 0 0 0 0 0.009512988 0 0.00000000 0.00000000 0.00000000 0.006527979 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0.01166608 0 0.003969698 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.007917652 0.00000000 0 0 0 0.009588778 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0.0000000 0.01130157 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0 0.003795331 0.01014980 0.02151813 0 0.00000000 0 0 0 0 0.05952031 0 0.00000000 0 0 0.005378987 0 0 0 0.01110885 0 0.03153596 0 0 0 0.009022165 0 0 0 0 0 0 0 0 0 0 0.01477514 0.01130157 0 0 0 0 0 0 0 0.00982967 0 0 0 0.01295301 0.006067946 0 0 0.00000000 0 0 0.00000000 0.00000000 0.00000000 0 0 0.005856235 0.02119864 0.01162549 0 0 0.00000000 0 0.00000000 0.007283527 0.01166608 0 0 0 0 0 0 0 0.007774405 0.01044824 0 0.00000000 0 0 0 0 0 0 0 0 0.007950602 0.007012366 0 0 0 0.00738094 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0.01499227 0 0 0.008175692 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0.007877051 0.0000000 0 0 0.00000000 0 0 0 0.00000000 0 0 0 0.007766677 0.00000000 0 0.01544159 0 0 0.00933928 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0.0000000 0 0.01428242 0 0.01482855 0 0 0.00000000 0.01097886 0 0.00911086 0 0.0101498 0 0 0 0.022674513 0 0 0 0.005930613 0 0.01627953 0 0 0.00000000 0 0.01723628 0 0 0.00000000 0 0 0 0.01133021 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.03457604 0.00000000 0.02564281 0 0.003101882 0 0 0 0.01784854 0 0 0.009730751 0.03200333 0.01113559 0 0.03241931 0 0 0 0 0 0 0 0 0 0.01007538 0 0 0.008104324 0 0.00000000 0 0 0 0 0 0.00000000 0 0 0 0 0.0000000 0.009505049 0 0.03163792 0.02304956 0 0 0 0.02835073 0.00000000 0.00000000 0 0 0 0.01110885 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0 0.009967373 0 0 0 0 0 0 0.009453841 0.00000000 0.01141793 0 0 0 0 0 0 0 0.022505133 0.008472329 0.01068948 0.00000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.02823376 0.008334182 0.009967373 0 0.009311382 0.013599184 0.00000000 0 0 0.00000000 0 0.00000000 0.02034704 0.01085463 0 0 0 0.00000000 0 0 0 0 0.02019734 0 0.007821268 0 0 0.01085463 0 0.006825723 0.007461701 0 0.02710397 0.00000000 0 0.00000000 0 0.008997353 0.008442107 0 0 0 0 0.007052633 0.01110885 0 0 0.000000000 0.009967373 0.0000000 0 0.01144778 0 0 0 0.00000000 0.00000000 0 0.02416907 0.01113559 0 0.01862276 0 0 0 0.00000000 0 0 0 0 0.00000000 0.01972691 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.006809924 0 0 0 0.01032498 0 0.009796298 0.03592688 0 0 0.01318841 0.008343811 0.009604193 0.01962587 0 0 0.02725199 0 0 0.00000000 0.00000000 0.011905045 0 0 0 0 0 0.03452209 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0.009229375 0.000000 0 0.00000000 0.01055531 0.006879145 0 0.01064404 0.00000000 0 0 0 0.01870668 0.02346336 0 0 0.00000000 0 0.00000000 0 0 0 0 0.0000000 0.0000000 0 0 0 0 0.0000000 0 0 0 0 0 0.00000000 0.00000000 0 0.01727929 0 0 0 0 0 0.00000000 0.004646792 0.007901334 0 0 0 0 0.02426036 0 0 0 0.01127322 0.00000000 0.01186761 0 0.03152395 0.01865059 0 0.0109285 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0 0.006642662 0 0 0.02670103 0 0 0 0 0.00000000 0.008258396 0 0 0 0 0 0 0.006339789 0.00000000 0 0 0 0 0.007735999 0 0 0 0.004846009 0 0.009635286 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.00613788 0.00000000 0 0.02147128 0.005356711 0.007420995 0 0 0 0 0.01191922 0.008806738 0 0 0.00000000 0 0 0 0.010595741 0.003575558 0 0.0000000 0 0.00000000 0 0 0 0 0 0.00000000 0.01163385 0.009072488 0.000000000 0 0 0 0.01157045 0 0 0.02277677 0 0 0 0 0 0.009215946 0.01266076 0.02254644 0.00000000 0 0 0 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0.01138839 0.01087904 0 0 0.01204721 0.009880503 0.00929754 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0 0 0 0.00000000 0 0 0 0 0.01879191 0 0 0.00000000 0 0 0.00000000 0.01110885 0.00000000 0 0 0 0 0 0 0 0 0.009107331 0 0 0 0 0 0 0.01113559 0 0 0.00000000 0 0 0 0 0 0 0 0 0.000000000 0 0.03153596 0 0 0 0 0 0 0.0000000 0.00000000 0 0.0000000 0 0 0 0 0.01053357 0 0 0.0000000 0 0 0 0.00000000 0 0 0 0 0.0000000 0 0 0 0 0.00000000 0.007400887 0.006647562 0 0.00429647 0.006652473 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.007545147 0.04042521 0 0 0.009098009 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0.00000000 0.00000000 0 0 0.01011234 0 0 0 0.01026535 0 0.00000000 0 0 0.01150845 0 0 0.02035146 0 0 0 0.009932294 0.00000000 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0.007751292 0 0.000000000 0 0 0 0 0.00000000 0.007441265 0.00000000 0.00000000 0.00000000 0 0.01187565 0.00000000 0.009353338 0 0.00000000 0 0 0 0 0 0.005863213 0 0.0000000 0 0.00000000 0 0 0 0.008829833 0 0 0 0 0.00000000 0.03052580 0 0.009863454 0 0 0.006831013 0 0.009880503 0.00000000 0 0.00000000 0 0
2 0 0 0 0.05655775 0 0 0 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0.00000 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0 0.000000000 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0.03927589 0 0.0000000 0 0.000000000 0.000000000 0.00000000 0 0.034578010 0 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0 0 0.000000000 0 0.05554699 0 0.05507650 0 0.06043593 0.00000000 0 0 0 0 0.000000000 0 0.02607987 0.05901209 0.00000000 0.000000000 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0 0 0 0.06078185 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.000000000 0.00000000 0 0 0 0.000000000 0.06060786 0 0 0 0 0 0 0 0 0 0 0.06225368 0 0 0 0 0 0.0000000 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0 0.00000000 0 0.00000000 0 0 0.000000000 0 0 0 0.00000000 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0.05822023 0 0 0 0 0 0 0 0.00000000 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0.00000000 0.00000000 0.00000000 0 0 0.000000000 0.00000000 0.01996296 0 0 0.00000000 0 0.05162253 0.000000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0.040957646 0.000000000 0 0 0 0.00000000 0 0 0.00000000 0.05350326 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0.000000000 0.0000000 0 0 0.00000000 0 0 0 0.00000000 0 0 0 0.000000000 0.06415036 0 0.00000000 0 0 0.04811144 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0.0000000 0 0.00000000 0 0.00000000 0 0 0.00000000 0.00000000 0 0.00000000 0 0.0000000 0 0 0 0.070084860 0 0 0 0.000000000 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.00000000 0.05029593 0.05283973 0 0.000000000 0 0 0 0.00000000 0 0 0.000000000 0.04121641 0.05736514 0 0.00000000 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0.00000000 0 0 0 0 0.0000000 0.000000000 0 0.00000000 0.03958005 0 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0.048701603 0.00000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.000000000 0.00000000 0.00000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0.000000000 0.000000000 0.00000000 0 0 0.00000000 0 0.06009801 0.00000000 0.00000000 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0.000000000 0 0 0.00000000 0 0.000000000 0.000000000 0 0.00000000 0.00000000 0 0.00000000 0 0.000000000 0.000000000 0 0 0 0 0.000000000 0.00000000 0 0 0.000000000 0.000000000 0.0000000 0 0.00000000 0 0 0 0.00000000 0.00000000 0 0.00000000 0.05736514 0 0.00000000 0 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.000000000 0.00000000 0 0 0.00000000 0.000000000 0.000000000 0.00000000 0 0 0.06016672 0 0 0.00000000 0.00000000 0.000000000 0 0 0 0 0 0.02964018 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0.000000000 0.000000 0 0.00000000 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0.03688133 0 0 0 0 0.1662765 0.0000000 0 0 0 0 0.1065864 0 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0 0 0.00000000 0.000000000 0.040703844 0 0 0 0 0.00000000 0 0 0 0.00000000 0.00000000 0.00000000 0 0.00000000 0.00000000 0 0.0000000 0.05518552 0 0 0 0 0.000000000 0 0 0 0 0 0 0 0.000000000 0 0 0.00000000 0 0 0 0 0.00000000 0.000000000 0 0 0 0 0 0 0.000000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0 0.02765241 0.082785541 0.000000000 0 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0 0.000000000 0.000000000 0 0.0000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.000000000 0.031949123 0 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.000000000 0.00000000 0.00000000 0.00000000 0 0 0 0 0.00000000 0 0 0.00000000 0 0.15628159 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0.000000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0 0 0 0.00000000 0 0 0.03729517 0 0 0 0 0 0 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0 0.0000000 0.00000000 0 0.0000000 0 0 0 0 0.00000000 0 0 0.0000000 0 0 0 0.00000000 0 0 0 0 0.1141819 0 0 0 0 0.03636166 0.000000000 0.000000000 0 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.000000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.00000000 0.000000000 0.00000000 0.00000000 0.03079535 0 0.00000000 0.05012811 0.000000000 0 0.03521737 0 0 0 0 0 0.030204432 0 0.0000000 0 0.04273704 0 0 0 0.000000000 0 0 0 0 0.00000000 0.03931353 0 0.050811730 0 0 0.000000000 0 0.000000000 0.00000000 0 0.00000000 0 0
5 0 0 0 0.00000000 0 0 0 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0.11063 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0 0.000000000 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0.00000000 0 0.0000000 0 0.000000000 0.000000000 0.00000000 0 0.000000000 0 0 0.00000000 0 0.00000000 0 0.00000000 0 0 0 0 0.000000000 0 0.00000000 0 0.05192927 0 0.00000000 0.05473330 0 0 0 0 0.000000000 0 0.00000000 0.00000000 0.00000000 0.000000000 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.000000000 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0 0.0000000 0.00000000 0 0 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0.00000000 0 0.06113108 0 0 0 0 0.33039847 0 0.00000000 0 0 0.000000000 0 0 0 0.00000000 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0.00000000 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0.09972052 0.00000000 0.00000000 0 0 0.000000000 0.00000000 0.00000000 0 0 0.00000000 0 0.09734535 0.000000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0.000000000 0.000000000 0 0 0 0.00000000 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0.00000000 0 0.07485524 0 0 0.00000000 0 0.000000000 0.0000000 0 0 0.04892378 0 0 0 0.07651992 0 0 0 0.075447721 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0.00000000 0.1084365 0 0.00000000 0 0.00000000 0 0 0.00000000 0.00000000 0 0.00000000 0 0.0000000 0 0 0 0.000000000 0 0 0 0.000000000 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.03358815 0.00000000 0.00000000 0 0.060265145 0 0 0 0.00000000 0 0 0.000000000 0.00000000 0.00000000 0 0.00000000 0 0 0 0 0 0 0 0 0 0.00000000 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0.00000000 0 0 0 0 0.0000000 0.023083691 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0.000000000 0.00000000 0.00000000 0 0 0 0 0 0 0 0.000000000 0.000000000 0.00000000 0.00000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0.000000000 0.000000000 0.00000000 0 0 0.00000000 0 0.00000000 0.00000000 0.00000000 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0.000000000 0 0 0.00000000 0 0.000000000 0.000000000 0 0.08776524 0.00000000 0 0.00000000 0 0.000000000 0.000000000 0 0 0 0 0.000000000 0.00000000 0 0 0.000000000 0.000000000 0.0000000 0 0.00000000 0 0 0 0.00000000 0.00000000 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.00000000 0 0 0 0 0.09787508 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.000000000 0.03490040 0 0 0.00000000 0.000000000 0.000000000 0.00000000 0 0 0.03781908 0 0 0.00000000 0.05190252 0.000000000 0 0 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0.000000000 0.111207 0 0.00000000 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0.06996311 0 0.00000000 0 0 0 0 0.0000000 0.0000000 0 0 0 0 0.0000000 0 0 0 0 0 0.00000000 0.06589997 0 0.00000000 0 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0 0 0 0.00000000 0 0 0 0.00000000 0.00000000 0.00000000 0 0.00000000 0.00000000 0 0.0000000 0.00000000 0 0 0 0 0.000000000 0 0 0 0 0 0 0 0.000000000 0 0 0.00000000 0 0 0 0 0.00000000 0.000000000 0 0 0 0 0 0 0.061586526 0.00000000 0 0 0 0 0.000000000 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.000000000 0 0 0 0.00000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0 0.00000000 0.052036626 0.000000000 0 0 0 0 0.00000000 0.000000000 0 0 0.00000000 0 0 0 0.025732513 0.000000000 0 0.0000000 0 0.00000000 0 0 0 0 0 0.00000000 0.00000000 0.000000000 0.000000000 0 0 0 0.00000000 0 0 0.00000000 0 0 0 0 0 0.000000000 0.04099675 0.10951128 0.00000000 0 0 0 0 0.00000000 0 0 0.00000000 0 0.00000000 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0.000000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0 0 0 0.00000000 0 0 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0.000000000 0 0 0 0 0 0 0.00000000 0 0 0.03516402 0 0 0 0 0 0 0 0 0.000000000 0 0.00000000 0 0 0 0 0 0 0.0000000 0.00000000 0 0.0000000 0 0 0 0 0.00000000 0 0 0.0000000 0 0 0 0.00000000 0 0 0 0 0.0000000 0 0 0 0 0.00000000 0.000000000 0.000000000 0 0.00000000 0.000000000 0 0.00000000 0.00000000 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.000000000 0 0 0 0 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0 0.000000000 0 0 0 0 0 0.00000000 0.00000000 0 0 0.00000000 0 0 0 0.00000000 0 0.00000000 0 0 0.00000000 0 0 0.00000000 0 0 0 0.000000000 0.00000000 0 0 0.00000000 0 0 0 0 0.00000000 0.00000000 0 0 0 0.000000000 0 0.000000000 0 0 0 0 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0 0.00000000 0.00000000 0.000000000 0 0.00000000 0 0 0 0 0 0.000000000 0 0.0000000 0 0.00000000 0 0 0 0.000000000 0 0 0 0 0.00000000 0.00000000 0 0.000000000 0 0 0.066358407 0 0.000000000 0.07350263 0 0.00000000 0 0
# Добавляем модель и результаты препроцессинга в воркфлоу.
svm_spec <- svm_linear() |>
  set_engine("LiblineaR") |> 
  set_mode("regression")

svm_wflow <- workflow() |> 
  add_model(svm_spec)
svm_wflow <- svm_wflow |> 
  add_recipe(hotels_rec)

# Тренировка
svm_fit <- svm_wflow |>
  fit(data = hotels_train)

# Визуализация после тренировки
svm_fit |> 
  tidy() |> 
  arrange(-estimate) |> 
  head(6) |> 
  gt::gt()#для кода
term estimate
Bias 3.8485815
tfidf_review_great 0.9689887
tfidf_review_excellent 0.7501967
tfidf_review_wonderful 0.6036187
tfidf_review_fantastic 0.5546654
tfidf_review_loved 0.5225242
# Модель: что выбрали и почему.
# Первый вариант.
pred_data <- tibble(
  truth = hotels_test$rating,
  estimate = predict(svm_fit, hotels_test)$.pred
)

hotels_metrics <- yardstick::metric_set(
  yardstick::rmse,
  yardstick::rsq,
  yardstick::mae
)

hotels_metrics(pred_data, truth = truth, estimate = estimate) |> 
  gt::gt()
.metric .estimator .estimate
rmse standard 1.1336908
rsq standard 0.4776157
mae standard 0.9029065
# Контрольная выборка
set.seed(25042025)
hotels_folds <- vfold_cv(hotels_train, v = 10) 

set.seed(25042025)
svm_rs <- fit_resamples(
  svm_wflow,
  hotels_folds,
  control = control_resamples(save_pred = TRUE)
)
collect_metrics(svm_rs) |> 
  gt::gt()
.metric .estimator mean n std_err .config
rmse standard 1.1402216 10 0.00949115 Preprocessor1_Model1
rsq standard 0.4697863 10 0.01042010 Preprocessor1_Model1
# Визуализация!!!
  svm_rs |> 
  collect_predictions() |> 
  ggplot(aes(rating, .pred, color = id)) +
  geom_jitter(alpha = 0.3) +
  geom_abline(lty = 2, color = "grey80") + 
  theme_minimal()

rf_spec <- rand_forest(
  mode = "regression",
  trees = 1000,
  mtry = 500,
  min_n = 5
) |> 
  set_engine("ranger")

rf_wflow <- workflow() |> 
  add_model(rf_spec) |> 
  add_recipe(hotels_rec)

rf_fit <- rf_wflow |> fit(data = hotels_train)

rf_preds <- tibble(
  truth = hotels_test$rating,
  estimate = predict(rf_fit, hotels_test)$.pred
)

hotels_metrics <- yardstick::metric_set(
  yardstick::rmse,
  yardstick::rsq,
  yardstick::mae
)

hotels_metrics(rf_preds, truth = truth, estimate = estimate) |> 
  gt::gt()
.metric .estimator .estimate
rmse standard 0.8472213
rsq standard 0.5384154
mae standard 0.6667333