Use Random Forest model, sklearn, python and the Alexa Amazon Review dataset to predict positive or negative reviews based on text

About:

This project / case study is for phase 1 of my 100 days of machine learning code challenge.

This is a homework solution to a section in Machine Learning Classification Bootcamp in Python.

Problem Statement:

Predict if feedback is Positive or Negative on Amazon Alexa reviews based on the text of the review.

Technology used:

Model(s):

Dataset(s):

Libraries:

Resources:

Contact:

If for any reason you would like to contact me please do so at the following:

Import Data & Libraries

In [1]:
# Import Libraries
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
In [2]:
alexa_df = pd.read_csv('../datasets/amazon/amazon_alexa.tsv', sep = '\t')
In [3]:
alexa_df.head()
Out[3]:
rating date variation verified_reviews feedback
0 5 31-Jul-18 Charcoal Fabric Love my Echo! 1
1 5 31-Jul-18 Charcoal Fabric Loved it! 1
2 4 31-Jul-18 Walnut Finish Sometimes while playing a game, you can answer... 1
3 5 31-Jul-18 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1
4 5 31-Jul-18 Charcoal Fabric Music 1
In [4]:
alexa_df.shape
Out[4]:
(3150, 5)
In [5]:
alexa_df.keys()
Out[5]:
Index(['rating', 'date', 'variation', 'verified_reviews', 'feedback'], dtype='object')

Explore Data

In [6]:
alexa_df['verified_reviews']
Out[6]:
0                                           Love my Echo!
1                                               Loved it!
2       Sometimes while playing a game, you can answer...
3       I have had a lot of fun with this thing. My 4 ...
4                                                   Music
5       I received the echo as a gift. I needed anothe...
6       Without having a cellphone, I cannot use many ...
7       I think this is the 5th one I've purchased. I'...
8                                             looks great
9       Love it! I’ve listened to songs I haven’t hear...
10      I sent it to my 85 year old Dad, and he talks ...
11      I love it! Learning knew things with it eveyda...
12      I purchased this for my mother who is having k...
13                                     Love, Love, Love!!
14                               Just what I expected....
15                              I love it, wife hates it.
16      Really happy with this purchase.  Great speake...
17      We have only been using Alexa for a couple of ...
18      We love the size of the 2nd generation echo. S...
19      I liked the original Echo. This is the same bu...
20      Love the Echo and how good the music sounds pl...
21      We love Alexa! We use her to play music, play ...
22      Have only had it set up for a few days. Still ...
23      I love it. It plays my sleep sounds immediatel...
24      I got a second unit for the bedroom, I was exp...
25                                        Amazing product
26      I love my Echo. It's easy to operate, loads of...
27                              Sounds great!! Love them!
28      Fun item to play with and get used to using.  ...
29                                Just like the other one
                              ...                        
3120                                                     
3121    I like the hands free operation vs the Tap. We...
3122    I dislike that it confuses my requests all the...
3123                                                     
3124    Love my Alexa! Actually have 3 throughout the ...
3125    This product is easy to use and very entertain...
3126                                                     
3127    works great but speaker is not the good for mu...
3128      Outstanding product - easy to use.  works great
3129    We have six of these throughout our home and t...
3130            Use the product for music and it’s great!
3131                           Easy to set-up and to use.
3132                                     It works great!!
3133    I like having more Alexa devices in my house a...
3134                                           PHENOMENAL
3135                 I loved it does exactly what it says
3136    I used it to control my smart home devices. Wo...
3137                                      Very convenient
3138    Este producto llegó y a la semana se quedó sin...
3139              Easy to set up Ready to use in minutes.
3140                                                Barry
3141                                                     
3142    My three year old loves it.  Good for doing ba...
3143           Awesome device wish I bought one ages ago.
3144                                              love it
3145    Perfect for kids, adults and everyone in betwe...
3146    Listening to music, searching locations, check...
3147    I do love these things, i have them running my...
3148    Only complaint I have is that the sound qualit...
3149                                                 Good
Name: verified_reviews, Length: 3150, dtype: object
In [7]:
alexa_df['variation']
Out[7]:
0           Charcoal Fabric 
1           Charcoal Fabric 
2             Walnut Finish 
3           Charcoal Fabric 
4           Charcoal Fabric 
5       Heather Gray Fabric 
6          Sandstone Fabric 
7           Charcoal Fabric 
8       Heather Gray Fabric 
9       Heather Gray Fabric 
10          Charcoal Fabric 
11          Charcoal Fabric 
12               Oak Finish 
13          Charcoal Fabric 
14               Oak Finish 
15      Heather Gray Fabric 
16      Heather Gray Fabric 
17      Heather Gray Fabric 
18          Charcoal Fabric 
19         Sandstone Fabric 
20          Charcoal Fabric 
21          Charcoal Fabric 
22      Heather Gray Fabric 
23          Charcoal Fabric 
24         Sandstone Fabric 
25         Sandstone Fabric 
26          Charcoal Fabric 
27          Charcoal Fabric 
28          Charcoal Fabric 
29          Charcoal Fabric 
                ...         
3120              Black  Dot
3121              Black  Dot
3122              Black  Dot
3123              Black  Dot
3124              Black  Dot
3125              Black  Dot
3126              Black  Dot
3127              Black  Dot
3128              White  Dot
3129              White  Dot
3130              Black  Dot
3131              Black  Dot
3132              Black  Dot
3133              White  Dot
3134              Black  Dot
3135              White  Dot
3136              Black  Dot
3137              Black  Dot
3138              White  Dot
3139              White  Dot
3140              White  Dot
3141              Black  Dot
3142              White  Dot
3143              Black  Dot
3144              Black  Dot
3145              Black  Dot
3146              Black  Dot
3147              Black  Dot
3148              White  Dot
3149              Black  Dot
Name: variation, Length: 3150, dtype: object
In [8]:
positive = alexa_df[alexa_df['feedback']==1]
negative = alexa_df[alexa_df['feedback']==0]
In [9]:
positive
Out[9]:
rating date variation verified_reviews feedback
0 5 31-Jul-18 Charcoal Fabric Love my Echo! 1
1 5 31-Jul-18 Charcoal Fabric Loved it! 1
2 4 31-Jul-18 Walnut Finish Sometimes while playing a game, you can answer... 1
3 5 31-Jul-18 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1
4 5 31-Jul-18 Charcoal Fabric Music 1
5 5 31-Jul-18 Heather Gray Fabric I received the echo as a gift. I needed anothe... 1
6 3 31-Jul-18 Sandstone Fabric Without having a cellphone, I cannot use many ... 1
7 5 31-Jul-18 Charcoal Fabric I think this is the 5th one I've purchased. I'... 1
8 5 30-Jul-18 Heather Gray Fabric looks great 1
9 5 30-Jul-18 Heather Gray Fabric Love it! I’ve listened to songs I haven’t hear... 1
10 5 30-Jul-18 Charcoal Fabric I sent it to my 85 year old Dad, and he talks ... 1
11 5 30-Jul-18 Charcoal Fabric I love it! Learning knew things with it eveyda... 1
12 5 30-Jul-18 Oak Finish I purchased this for my mother who is having k... 1
13 5 30-Jul-18 Charcoal Fabric Love, Love, Love!! 1
14 5 30-Jul-18 Oak Finish Just what I expected.... 1
15 5 30-Jul-18 Heather Gray Fabric I love it, wife hates it. 1
16 5 30-Jul-18 Heather Gray Fabric Really happy with this purchase. Great speake... 1
17 5 30-Jul-18 Heather Gray Fabric We have only been using Alexa for a couple of ... 1
18 5 30-Jul-18 Charcoal Fabric We love the size of the 2nd generation echo. S... 1
19 4 30-Jul-18 Sandstone Fabric I liked the original Echo. This is the same bu... 1
20 5 30-Jul-18 Charcoal Fabric Love the Echo and how good the music sounds pl... 1
21 5 30-Jul-18 Charcoal Fabric We love Alexa! We use her to play music, play ... 1
22 4 30-Jul-18 Heather Gray Fabric Have only had it set up for a few days. Still ... 1
23 5 30-Jul-18 Charcoal Fabric I love it. It plays my sleep sounds immediatel... 1
24 3 30-Jul-18 Sandstone Fabric I got a second unit for the bedroom, I was exp... 1
25 5 30-Jul-18 Sandstone Fabric Amazing product 1
26 5 30-Jul-18 Charcoal Fabric I love my Echo. It's easy to operate, loads of... 1
27 5 30-Jul-18 Charcoal Fabric Sounds great!! Love them! 1
28 4 30-Jul-18 Charcoal Fabric Fun item to play with and get used to using. ... 1
29 5 30-Jul-18 Charcoal Fabric Just like the other one 1
... ... ... ... ... ...
3120 5 30-Jul-18 Black Dot 1
3121 5 30-Jul-18 Black Dot I like the hands free operation vs the Tap. We... 1
3122 3 30-Jul-18 Black Dot I dislike that it confuses my requests all the... 1
3123 4 30-Jul-18 Black Dot 1
3124 5 30-Jul-18 Black Dot Love my Alexa! Actually have 3 throughout the ... 1
3125 4 30-Jul-18 Black Dot This product is easy to use and very entertain... 1
3126 5 30-Jul-18 Black Dot 1
3127 4 30-Jul-18 Black Dot works great but speaker is not the good for mu... 1
3128 5 30-Jul-18 White Dot Outstanding product - easy to use. works great 1
3129 4 30-Jul-18 White Dot We have six of these throughout our home and t... 1
3130 5 30-Jul-18 Black Dot Use the product for music and it’s great! 1
3131 5 30-Jul-18 Black Dot Easy to set-up and to use. 1
3132 5 30-Jul-18 Black Dot It works great!! 1
3133 4 30-Jul-18 White Dot I like having more Alexa devices in my house a... 1
3134 5 30-Jul-18 Black Dot PHENOMENAL 1
3135 5 30-Jul-18 White Dot I loved it does exactly what it says 1
3136 4 30-Jul-18 Black Dot I used it to control my smart home devices. Wo... 1
3137 5 30-Jul-18 Black Dot Very convenient 1
3138 5 30-Jul-18 White Dot Este producto llegó y a la semana se quedó sin... 1
3139 5 30-Jul-18 White Dot Easy to set up Ready to use in minutes. 1
3140 4 30-Jul-18 White Dot Barry 1
3141 3 30-Jul-18 Black Dot 1
3142 4 30-Jul-18 White Dot My three year old loves it. Good for doing ba... 1
3143 5 30-Jul-18 Black Dot Awesome device wish I bought one ages ago. 1
3144 5 30-Jul-18 Black Dot love it 1
3145 5 30-Jul-18 Black Dot Perfect for kids, adults and everyone in betwe... 1
3146 5 30-Jul-18 Black Dot Listening to music, searching locations, check... 1
3147 5 30-Jul-18 Black Dot I do love these things, i have them running my... 1
3148 5 30-Jul-18 White Dot Only complaint I have is that the sound qualit... 1
3149 4 29-Jul-18 Black Dot Good 1

2893 rows × 5 columns

In [10]:
negative
Out[10]:
rating date variation verified_reviews feedback
46 2 30-Jul-18 Charcoal Fabric It's like Siri, in fact, Siri answers more acc... 0
111 2 30-Jul-18 Charcoal Fabric Sound is terrible if u want good music too get... 0
141 1 30-Jul-18 Charcoal Fabric Not much features. 0
162 1 30-Jul-18 Sandstone Fabric Stopped working after 2 weeks ,didn't follow c... 0
176 2 30-Jul-18 Heather Gray Fabric Sad joke. Worthless. 0
187 2 29-Jul-18 Charcoal Fabric Really disappointed Alexa has to be plug-in to... 0
205 2 29-Jul-18 Sandstone Fabric It's got great sound and bass but it doesn't w... 0
233 2 29-Jul-18 Sandstone Fabric I am not super impressed with Alexa. When my P... 0
299 2 29-Jul-18 Charcoal Fabric Too difficult to set up. It keeps timing out ... 0
341 1 28-Jul-18 Charcoal Fabric Alexa hardly came on.. 0
350 1 31-Jul-18 Black Item no longer works after just 5 months of us... 0
361 1 29-Jul-18 Black This thing barely works. You have to select 3r... 0
368 1 28-Jul-18 Black I returned 2 Echo Dots & am only getting refun... 0
369 1 28-Jul-18 Black not working 0
373 1 27-Jul-18 Black I'm an Echo fan but this one did not work 0
374 1 26-Jul-18 Black 0
376 2 26-Jul-18 Black Doesn't always respond when spoken to with pro... 0
381 1 25-Jul-18 White It worked for a month or so then it stopped. I... 0
382 2 25-Jul-18 Black Poor quality. Gave it away. 0
388 1 24-Jul-18 Black Never could get it to work. A techie friend lo... 0
394 2 22-Jul-18 White Initially, this echo dot worked very well. Ove... 0
396 1 20-Jul-18 Black I bought an echo dot that had been refurbished... 0
398 1 19-Jul-18 Black Dont trust this.... 0
406 1 16-Jul-18 White 0
418 1 13-Jul-18 Black I wanted to use these as a radio and intercom ... 0
420 1 12-Jul-18 Black Item has never worked. Out of box it is broken... 0
424 1 11-Jul-18 Black Great product but returning for new Alexa Dot.... 0
434 1 9-Jul-18 Black "NEVER BUY CERTIFIED AND REFURBISHED ECHO ... 0
470 1 1-Jul-18 White This item did not work. Certified refurbished ... 0
473 2 29-Jun-18 White None 0
... ... ... ... ... ...
2688 2 30-Jul-18 Black Dot Weak sound. Compared to the Google Home Mini t... 0
2696 1 30-Jul-18 Black Dot Echo Dot responds to us when we aren't even ta... 0
2697 1 30-Jul-18 White Dot NOT CONNECTED TO MY PHONE PLAYLIST :( 0
2716 2 30-Jul-18 Black Dot The only negative we have on this product is t... 0
2740 1 30-Jul-18 Black Dot I didn’t order it 0
2745 1 30-Jul-18 White Dot The product sounded the same as the emoji spea... 0
2812 1 30-Jul-18 Black Dot I am quite disappointed by this product.There ... 0
2823 2 30-Jul-18 Black Dot Nope. Still a lot to be improved. For most of ... 0
2842 1 30-Jul-18 Black Dot I reached out to Amazon, because the device wa... 0
2851 1 30-Jul-18 Black Dot I didn't like that almost everytime i asked Al... 0
2866 1 30-Jul-18 Black Dot The volume is very low 0
2876 1 30-Jul-18 Black Dot 0
2892 1 30-Jul-18 Black Dot Cheap and cheap sound. 0
2909 2 30-Jul-18 Black Dot For the price, the product is nice quality and... 0
2922 1 30-Jul-18 White Dot Used twice not working!!!!!!! 0
2932 1 30-Jul-18 Black Dot This device does not interact with my home fil... 0
2940 2 30-Jul-18 White Dot Not all that happy. The speaker isn’t great an... 0
2945 2 30-Jul-18 Black Dot When you think about it this really doesn’t do... 0
2962 1 30-Jul-18 Black Dot This worked well for about 6 months but then s... 0
2964 2 30-Jul-18 Black Dot Ask it to play Motown radio on Pandora and it ... 0
2979 1 30-Jul-18 White Dot 0
3010 2 30-Jul-18 Black Dot Sound is terrible. Cannot pair with echo to pl... 0
3016 1 30-Jul-18 White Dot I am having real difficulty working with the E... 0
3024 1 30-Jul-18 Black Dot I was really happy with my original echo so i ... 0
3039 2 30-Jul-18 Black Dot Weak sound. Compared to the Google Home Mini t... 0
3047 1 30-Jul-18 Black Dot Echo Dot responds to us when we aren't even ta... 0
3048 1 30-Jul-18 White Dot NOT CONNECTED TO MY PHONE PLAYLIST :( 0
3067 2 30-Jul-18 Black Dot The only negative we have on this product is t... 0
3091 1 30-Jul-18 Black Dot I didn’t order it 0
3096 1 30-Jul-18 White Dot The product sounded the same as the emoji spea... 0

257 rows × 5 columns

In [11]:
sns.countplot(alexa_df['feedback'], label = 'Count')
Out[11]:
<matplotlib.axes._subplots.AxesSubplot at 0x10f3db470>
In [12]:
sns.countplot(alexa_df['rating'], label = 'Count')
Out[12]:
<matplotlib.axes._subplots.AxesSubplot at 0x113b41e48>
In [13]:
alexa_df['rating'].hist(bins = 5)
Out[13]:
<matplotlib.axes._subplots.AxesSubplot at 0x113c2cd30>
In [14]:
plt.figure(figsize = (30,15))
sns.barplot(x='variation', y='rating',
            data=alexa_df, palette='deep')
Out[14]:
<matplotlib.axes._subplots.AxesSubplot at 0x113d6ce80>

Data Clean / Prep

For this example we will be only looking at the text to see if the review is positive or negative. Binary Classification.

Drop: Date, Rating

In [15]:
alexa_df.head()
Out[15]:
rating date variation verified_reviews feedback
0 5 31-Jul-18 Charcoal Fabric Love my Echo! 1
1 5 31-Jul-18 Charcoal Fabric Loved it! 1
2 4 31-Jul-18 Walnut Finish Sometimes while playing a game, you can answer... 1
3 5 31-Jul-18 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1
4 5 31-Jul-18 Charcoal Fabric Music 1
In [16]:
alexa_df = alexa_df.drop(['date', 'rating'], axis = 1)
In [17]:
alexa_df.head()
Out[17]:
variation verified_reviews feedback
0 Charcoal Fabric Love my Echo! 1
1 Charcoal Fabric Loved it! 1
2 Walnut Finish Sometimes while playing a game, you can answer... 1
3 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1
4 Charcoal Fabric Music 1
In [19]:
variation_dummies = pd.get_dummies(alexa_df['variation'], drop_first = True)
In [20]:
variation_dummies
Out[20]:
Black Dot Black Plus Black Show Black Spot Charcoal Fabric Configuration: Fire TV Stick Heather Gray Fabric Oak Finish Sandstone Fabric Walnut Finish White White Dot White Plus White Show White Spot
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
7 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
10 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
13 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
15 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
17 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
18 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
20 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
21 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
22 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
23 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
24 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
25 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
26 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
27 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
28 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
29 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3120 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3121 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3122 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3123 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3124 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3125 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3126 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3127 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3128 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3129 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3130 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3131 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3132 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3133 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3134 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3135 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3136 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3137 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3138 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3139 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3140 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3141 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3142 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3143 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3144 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3145 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3146 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3147 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3148 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3149 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3150 rows × 15 columns

In [22]:
alexa_df.drop(['variation'], axis = 1, inplace = True)
In [23]:
alexa_df
Out[23]:
verified_reviews feedback
0 Love my Echo! 1
1 Loved it! 1
2 Sometimes while playing a game, you can answer... 1
3 I have had a lot of fun with this thing. My 4 ... 1
4 Music 1
5 I received the echo as a gift. I needed anothe... 1
6 Without having a cellphone, I cannot use many ... 1
7 I think this is the 5th one I've purchased. I'... 1
8 looks great 1
9 Love it! I’ve listened to songs I haven’t hear... 1
10 I sent it to my 85 year old Dad, and he talks ... 1
11 I love it! Learning knew things with it eveyda... 1
12 I purchased this for my mother who is having k... 1
13 Love, Love, Love!! 1
14 Just what I expected.... 1
15 I love it, wife hates it. 1
16 Really happy with this purchase. Great speake... 1
17 We have only been using Alexa for a couple of ... 1
18 We love the size of the 2nd generation echo. S... 1
19 I liked the original Echo. This is the same bu... 1
20 Love the Echo and how good the music sounds pl... 1
21 We love Alexa! We use her to play music, play ... 1
22 Have only had it set up for a few days. Still ... 1
23 I love it. It plays my sleep sounds immediatel... 1
24 I got a second unit for the bedroom, I was exp... 1
25 Amazing product 1
26 I love my Echo. It's easy to operate, loads of... 1
27 Sounds great!! Love them! 1
28 Fun item to play with and get used to using. ... 1
29 Just like the other one 1
... ... ...
3120 1
3121 I like the hands free operation vs the Tap. We... 1
3122 I dislike that it confuses my requests all the... 1
3123 1
3124 Love my Alexa! Actually have 3 throughout the ... 1
3125 This product is easy to use and very entertain... 1
3126 1
3127 works great but speaker is not the good for mu... 1
3128 Outstanding product - easy to use. works great 1
3129 We have six of these throughout our home and t... 1
3130 Use the product for music and it’s great! 1
3131 Easy to set-up and to use. 1
3132 It works great!! 1
3133 I like having more Alexa devices in my house a... 1
3134 PHENOMENAL 1
3135 I loved it does exactly what it says 1
3136 I used it to control my smart home devices. Wo... 1
3137 Very convenient 1
3138 Este producto llegó y a la semana se quedó sin... 1
3139 Easy to set up Ready to use in minutes. 1
3140 Barry 1
3141 1
3142 My three year old loves it. Good for doing ba... 1
3143 Awesome device wish I bought one ages ago. 1
3144 love it 1
3145 Perfect for kids, adults and everyone in betwe... 1
3146 Listening to music, searching locations, check... 1
3147 I do love these things, i have them running my... 1
3148 Only complaint I have is that the sound qualit... 1
3149 Good 1

3150 rows × 2 columns

In [24]:
alexa_df = pd.concat([alexa_df, variation_dummies], axis = 1)
In [25]:
alexa_df
Out[25]:
verified_reviews feedback Black Dot Black Plus Black Show Black Spot Charcoal Fabric Configuration: Fire TV Stick Heather Gray Fabric Oak Finish Sandstone Fabric Walnut Finish White White Dot White Plus White Show White Spot
0 Love my Echo! 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 Loved it! 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 Sometimes while playing a game, you can answer... 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
3 I have had a lot of fun with this thing. My 4 ... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
4 Music 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
5 I received the echo as a gift. I needed anothe... 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
6 Without having a cellphone, I cannot use many ... 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
7 I think this is the 5th one I've purchased. I'... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
8 looks great 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
9 Love it! I’ve listened to songs I haven’t hear... 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
10 I sent it to my 85 year old Dad, and he talks ... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
11 I love it! Learning knew things with it eveyda... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
12 I purchased this for my mother who is having k... 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
13 Love, Love, Love!! 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
14 Just what I expected.... 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
15 I love it, wife hates it. 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
16 Really happy with this purchase. Great speake... 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
17 We have only been using Alexa for a couple of ... 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
18 We love the size of the 2nd generation echo. S... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
19 I liked the original Echo. This is the same bu... 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
20 Love the Echo and how good the music sounds pl... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
21 We love Alexa! We use her to play music, play ... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
22 Have only had it set up for a few days. Still ... 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
23 I love it. It plays my sleep sounds immediatel... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
24 I got a second unit for the bedroom, I was exp... 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
25 Amazing product 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
26 I love my Echo. It's easy to operate, loads of... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
27 Sounds great!! Love them! 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
28 Fun item to play with and get used to using. ... 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
29 Just like the other one 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3120 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3121 I like the hands free operation vs the Tap. We... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3122 I dislike that it confuses my requests all the... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3123 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3124 Love my Alexa! Actually have 3 throughout the ... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3125 This product is easy to use and very entertain... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3126 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3127 works great but speaker is not the good for mu... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3128 Outstanding product - easy to use. works great 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3129 We have six of these throughout our home and t... 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3130 Use the product for music and it’s great! 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3131 Easy to set-up and to use. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3132 It works great!! 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3133 I like having more Alexa devices in my house a... 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3134 PHENOMENAL 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3135 I loved it does exactly what it says 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3136 I used it to control my smart home devices. Wo... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3137 Very convenient 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3138 Este producto llegó y a la semana se quedó sin... 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3139 Easy to set up Ready to use in minutes. 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3140 Barry 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3141 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3142 My three year old loves it. Good for doing ba... 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3143 Awesome device wish I bought one ages ago. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3144 love it 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3145 Perfect for kids, adults and everyone in betwe... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3146 Listening to music, searching locations, check... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3147 I do love these things, i have them running my... 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3148 Only complaint I have is that the sound qualit... 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
3149 Good 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3150 rows × 17 columns

In [26]:
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
alexa_countcetorizer = vectorizer.fit_transform(alexa_df['verified_reviews'])
In [27]:
alexa_countcetorizer.shape
Out[27]:
(3150, 4044)
In [28]:
print(vectorizer.get_feature_names())
['00', '000', '07', '10', '100', '100x', '11', '1100sf', '12', '129', '12am', '15', '150', '18', '19', '1964', '1990', '1gb', '1rst', '1st', '20', '200', '2000', '2017', '229', '23', '24', '25', '29', '2nd', '2package', '30', '300', '30pm', '34', '360', '39', '3rd', '3x', '3xs', '40', '45', '48', '4am', '4ghz', '4k', '4th', '50', '54', '5am', '5ghz', '5th', '600', '62', '672', '6th', '70', '75', '79', '80', '80s', '81', '83', '85', '88', '888', '8gb', '90', '91', '911', '99', '_specifically_', 'a1', 'a19', 'abay', 'abc', 'abd', 'abilities', 'ability', 'able', 'abode', 'about', 'above', 'absolutely', 'absolutly', 'ac', 'accent', 'acceptable', 'accepting', 'access', 'accessable', 'accessible', 'accessing', 'accessories', 'accesss', 'accident', 'accidentally', 'accompanying', 'accomplish', 'accomplished', 'according', 'accordingly', 'account', 'accounts', 'accuracy', 'accurate', 'accurately', 'accustom', 'acknowledge', 'acoustical', 'across', 'act', 'acting', 'action', 'actions', 'activate', 'activated', 'activates', 'activating', 'activation', 'actively', 'activities', 'acts', 'actually', 'ad', 'adapted', 'adapter', 'adapting', 'add', 'added', 'addict', 'addicted', 'addicts', 'adding', 'addition', 'additional', 'additionally', 'addons', 'addressed', 'addresses', 'adds', 'adept', 'adequate', 'adjacent', 'adjust', 'adjusting', 'adjustment', 'adjusts', 'admit', 'adopters', 'adorable', 'ads', 'adults', 'advance', 'advanced', 'advantage', 'advantages', 'advertise', 'advertised', 'advertisement', 'advertising', 'advice', 'advise', 'advised', 'aesthetic', 'af', 'affirm', 'affirmations', 'afford', 'affordable', 'afraid', 'after', 'afternoon', 'afterwards', 'again', 'age', 'agent', 'ages', 'ago', 'agree', 'agreement', 'ahead', 'ai', 'aide', 'aint', 'air', 'aka', 'al', 'alabama', 'alarm', 'alarms', 'albeit', 'alcohol', 'alert', 'alerts', 'alex', 'alexa', 'alexas', 'alexi', 'alexia', 'alexis', 'alexus', 'algo', 'alive', 'all', 'alleviate', 'allow', 'allowed', 'allowing', 'allows', 'allrecipes', 'almost', 'alone', 'along', 'alongside', 'alot', 'alots', 'aloud', 'alread', 'already', 'alright', 'also', 'altering', 'alternative', 'alternatives', 'although', 'always', 'am', 'amaonmazing', 'amaxing', 'amaze', 'amazed', 'amazin', 'amazing', 'amazingly', 'amazon', 'amazonia', 'amazons', 'ambient', 'american', 'americans', 'among', 'amount', 'amounts', 'amozon', 'amplifier', 'amused', 'amusing', 'an', 'analog', 'and', 'android', 'ands', 'angle', 'annoying', 'another', 'answer', 'answered', 'answering', 'answers', 'ant', 'anti', 'anticipate', 'anticipated', 'any', 'anybody', 'anyhow', 'anylist', 'anymore', 'anyone', 'anypod', 'anything', 'anytime', 'anyway', 'anyways', 'anywhere', 'apartment', 'app', 'apparent', 'apparently', 'appealing', 'appear', 'appears', 'apple', 'appliance', 'appliances', 'application', 'applications', 'appointments', 'appreciated', 'apprehensive', 'approaching', 'appropriate', 'approximately', 'apps', 'are', 'area', 'areas', 'aren', 'arent', 'argue', 'argument', 'arguments', 'arises', 'arlo', 'arm', 'around', 'array', 'arrive', 'arrived', 'arriving', 'articles', 'artist', 'artists', 'as', 'asap', 'ase', 'ask', 'asked', 'askes', 'asking', 'asleep', 'aspect', 'aspects', 'ass', 'assigned', 'assist', 'assistance', 'assistant', 'assume', 'assumed', 'assuming', 'assumption', 'at', 'atención', 'atmosphere', 'atrás', 'attach', 'attached', 'attachment', 'attempt', 'attempted', 'attempting', 'attention', 'attractive', 'audible', 'audibles', 'audio', 'audioapple', 'audiobook', 'audiobooks', 'audiophile', 'august', 'aunt', 'auto', 'automatic', 'automatically', 'automation', 'aux', 'auxiliary', 'av', 'avail', 'availability', 'available', 'avoid', 'awake', 'aware', 'away', 'awesome', 'awful', 'awhile', 'awkward', 'awsome', 'b073sqyxtw', 'baby', 'back', 'background', 'backgrounds', 'backyard', 'bad', 'baffle', 'baffled', 'ball', 'ban', 'band', 'bandwagon', 'bandwidth', 'bang', 'bar', 'bare', 'barely', 'bargain', 'bark', 'barn', 'barret', 'barry', 'base', 'baseball', 'based', 'basement', 'basic', 'basically', 'bass', 'bathroom', 'bathrooms', 'batman', 'batteries', 'battery', 'bc', 'be', 'beam', 'beat', 'beautiful', 'beautifully', 'beauty', 'became', 'because', 'becausse', 'become', 'becomes', 'becoming', 'bed', 'bedroom', 'bedrooms', 'bedside', 'bedtime', 'beefy', 'been', 'before', 'begin', 'beginners', 'beginning', 'begun', 'behaved', 'behind', 'being', 'believe', 'believer', 'bells', 'belong', 'below', 'benefit', 'benefits', 'beside', 'besides', 'best', 'bet', 'beta', 'better', 'bettter', 'between', 'beyond', 'bezel', 'bezos', 'bf', 'bff', 'bible', 'big', 'bigger', 'biggest', 'bill', 'billboard', 'bills', 'bing', 'birth', 'birthday', 'bit', 'bizarre', 'black', 'blanket', 'blast', 'blasting', 'blessing', 'blind', 'blink', 'blinks', 'blocking', 'bloods', 'bloomberg', 'blown', 'blows', 'blue', 'blueprints', 'bluetooth', 'blurring', 'board', 'boat', 'bob', 'body', 'bolt', 'bonkers', 'bonus', 'book', 'books', 'boom', 'boombox', 'booming', 'boost', 'boring', 'born', 'bose', 'boss', 'bot', 'both', 'bother', 'bothered', 'bothers', 'bothersome', 'bottom', 'bough', 'bought', 'box', 'boyfriend', 'brainer', 'brand', 'brandnew', 'brands', 'bread', 'break', 'breakfast', 'breeze', 'bridge', 'brief', 'briefing', 'briefings', 'briefs', 'bright', 'brightness', 'bring', 'bringing', 'british', 'broadway', 'broke', 'broken', 'brought', 'bt', 'bucks', 'buddies', 'budget', 'buffer', 'buffering', 'buffet', 'bug', 'bugging', 'bugs', 'build', 'building', 'built', 'bulb', 'bulbs', 'buld', 'bulky', 'bummed', 'bunch', 'bundle', 'bundled', 'burns', 'business', 'busy', 'but', 'buts', 'button', 'buttons', 'buy', 'buyer', 'buyers', 'buying', 'buys', 'buzzing', 'by', 'bye', 'cable', 'calendar', 'calendars', 'call', 'called', 'calling', 'calls', 'calm', 'calmer', 'cam', 'cambiar', 'came', 'camelot', 'camera', 'cameras', 'campus', 'cams', 'can', 'canary', 'cancel', 'canceling', 'cancelled', 'cancels', 'cannot', 'cant', 'capabilities', 'capability', 'capable', 'capacity', 'capasity', 'car', 'card', 'cards', 'cardsrotate', 'care', 'carefully', 'careless', 'carful', 'carolina', 'carrier', 'carry', 'cart', 'cartoons', 'case', 'cases', 'cat', 'catch', 'catches', 'categories', 'cause', 'caused', 'cave', 'cbs', 'cd', 'ceases', 'ceiling', 'ceilings', 'celebs', 'cell', 'cellphone', 'cent', 'center', 'certain', 'certainly', 'certified', 'chachki', 'chair', 'chalk', 'challenge', 'challenged', 'champ', 'chance', 'change', 'changed', 'changer', 'changes', 'changing', 'channel', 'channels', 'characteristics', 'charge', 'chargeable', 'charger', 'charging', 'charlotte', 'charm', 'charmed', 'chart', 'chat', 'chatting', 'cheap', 'cheaper', 'cheapest', 'check', 'checked', 'checking', 'child', 'childhood', 'children', 'chocolate', 'choice', 'choices', 'choose', 'choosing', 'choppy', 'chores', 'chose', 'chosen', 'christmas', 'chromebook', 'chromecast', 'circle', 'citizens', 'city', 'clapper', 'clarity', 'classes', 'classic', 'classical', 'classroom', 'clean', 'cleaner', 'cleaning', 'clear', 'clearer', 'clearly', 'click', 'clients', 'clips', 'clock', 'clockhome', 'clocking', 'clocks', 'clone', 'close', 'closed', 'closer', 'clothes', 'cloud', 'clue', 'cm_cr_ryp_prd_ttl_sol_18', 'cnn', 'co', 'coast', 'codes', 'coffee', 'cohesive', 'collection', 'collections', 'collectors', 'college', 'colon', 'color', 'colors', 'com', 'comands', 'combination', 'combine', 'combined', 'come', 'comeletely', 'comes', 'comfort', 'comfortable', 'comforting', 'coming', 'command', 'commanded', 'commands', 'comment', 'comments', 'commercials', 'commodity', 'common', 'communicate', 'communicated', 'communicating', 'communication', 'community', 'commute', 'como', 'compacity', 'compact', 'companion', 'company', 'comparable', 'compare', 'compared', 'compatible', 'competition', 'complacated', 'complain', 'complained', 'complaining', 'complaint', 'complaints', 'complete', 'completed', 'completely', 'complicated', 'compliment', 'compliments', 'components', 'compound', 'computer', 'computers', 'con', 'concept', 'concern', 'concerned', 'concerning', 'concerns', 'concise', 'condition', 'conditioning', 'conditions', 'conectado', 'conferencing', 'confident', 'configure', 'configured', 'conflict', 'confused', 'confuses', 'confusing', 'confusion', 'connect', 'connected', 'connecting', 'connection', 'connectivity', 'connects', 'cons', 'conscious', 'consider', 'considering', 'consistent', 'consistently', 'conspiracy', 'constant', 'constantly', 'constructed', 'consulting', 'consumer', 'contact', 'contacted', 'contacts', 'contains', 'content', 'contents', 'continous', 'continually', 'continue', 'continues', 'continuous', 'continuously', 'control', 'controll', 'controllable', 'controlled', 'controller', 'controlling', 'controls', 'convenience', 'convenient', 'conversation', 'conversations', 'convert', 'convinced', 'cook', 'cooking', 'cool', 'cooler', 'coolest', 'coop', 'coordinator', 'cord', 'cordless', 'cordthank', 'core', 'correct', 'corrected', 'correctly', 'corresponds', 'cortna', 'cost', 'costs', 'cotton', 'couch', 'could', 'couldn', 'counter', 'counters', 'countless', 'countries', 'country', 'county', 'couple', 'course', 'cousin', 'cousins', 'cover', 'covered', 'covers', 'cozi', 'cpr', 'cracked', 'crackle', 'crackling', 'crap', 'crappy', 'crashed', 'crashes', 'crashing', 'crazy', 'creapy', 'create', 'created', 'credited', 'creepy', 'crib', 'crisp', 'critically', 'cropping', 'cross', 'crunchyroll', 'csi', 'cualquier', 'cue', 'cumbersome', 'cups', 'current', 'currently', 'cursed', 'curve', 'custom', 'customer', 'customers', 'customizable', 'customization', 'customize', 'cut', 'cute', 'cutie', 'cutting', 'cycle', 'cycled', 'cycles', 'cylinder', 'cylindercal', 'dad', 'daily', 'damage', 'dance', 'dancing', 'dare', 'dark', 'darn', 'dash', 'data', 'date', 'dated', 'dates', 'daughter', 'day', 'days', 'de', 'deactivate', 'dead', 'deaf', 'deal', 'deals', 'debating', 'dec', 'decent', 'decide', 'decided', 'decides', 'decision', 'deck', 'decor', 'decorated', 'decrease', 'dedicated', 'deep', 'deeper', 'default', 'defeats', 'defective', 'defence', 'defently', 'definately', 'define', 'definitely', 'definition', 'definitively', 'defuser', 'degree', 'degrees', 'del', 'delay', 'delete', 'deliver', 'delivered', 'delivers', 'delivery', 'demand', 'dementia', 'den', 'denon', 'dense', 'dented', 'department', 'dependable', 'dependence', 'depending', 'deployed', 'depreciates', 'depth', 'described', 'description', 'design', 'designed', 'designers', 'desired', 'desk', 'desktop', 'despite', 'detailed', 'details', 'detect', 'determined', 'developed', 'developers', 'development', 'device', 'deviceoverall', 'devices', 'devise', 'devises', 'dhiw', 'diagnostics', 'dial', 'dictionary', 'did', 'didn', 'didnt', 'died', 'dies', 'differ', 'difference', 'differences', 'different', 'differentiate', 'difficult', 'difficulty', 'dig', 'digital', 'digitol', 'digs', 'dim', 'dimat', 'dimension', 'dimmer', 'dimming', 'dims', 'dining', 'dinner', 'dinosaurs', 'direct', 'direction', 'directions', 'directly', 'directtv', 'directv', 'disability', 'disable', 'disabled', 'disagree', 'disappoint', 'disappointed', 'disappointing', 'disappointment', 'disappointments', 'disarm', 'disaster', 'disconcerting', 'disconnect', 'disconnected', 'disconnecting', 'disconnections', 'disconnects', 'discount', 'discounts', 'discourage', 'discover', 'discovered', 'discoveredthat', 'discovering', 'discovery', 'dish', 'dislike', 'dislikes', 'dismiss', 'dismissed', 'display', 'displayed', 'displaying', 'displays', 'disposable', 'dissatisfaction', 'distance', 'distorted', 'distracting', 'distraction', 'disturbing', 'ditch', 'ditched', 'diversity', 'divertido', 'dj', 'do', 'docking', 'doctor', 'documentation', 'dodging', 'does', 'doesn', 'doesnt', 'dog', 'dogs', 'doing', 'dollar', 'dollars', 'domain', 'don', 'done', 'dont', 'door', 'doorbell', 'doors', 'dorm', 'dot', 'dots', 'doubtful', 'down', 'downfall', 'download', 'downloaded', 'downloading', 'downright', 'downside', 'downstairs', 'dp', 'drag', 'draw', 'drawback', 'drawing', 'dressed', 'drive', 'driven', 'drivers', 'drives', 'driving', 'drop', 'dropped', 'dropping', 'drops', 'dryer', 'due', 'dumb', 'dumber', 'dunce', 'dunno', 'during', 'dust', 'duty', 'dying', 'dylan', 'each', 'ear', 'early', 'earn', 'ease', 'easier', 'easily', 'east', 'easy', 'eavesdropping', 'echo', 'echoes', 'echoplus', 'echos', 'eco', 'ecobee3', 'ecoo', 'ecosystem', 'ed', 'edge', 'edit', 'educated', 'educational', 'eeaanh', 'effected', 'effective', 'effects', 'efficiency', 'efficient', 'effort', 'effortless', 'efforts', 'eg', 'eh', 'either', 'el', 'elderly', 'electeonically', 'electrician', 'electricity', 'electronic', 'electronically', 'electronics', 'elegant', 'element', 'eliminate', 'else', 'elsewhere', 'em', 'email', 'embarrassed', 'emergency', 'emoji', 'employees', 'en', 'enable', 'enabled', 'enables', 'encyclopedias', 'end', 'ended', 'endless', 'ends', 'engage', 'engagement', 'engaging', 'engine', 'engineers', 'english', 'enhanced', 'enjoy', 'enjoyable', 'enjoyed', 'enjoying', 'enjoyment', 'enjoys', 'enough', 'enrolment', 'enter', 'entering', 'enters', 'entertained', 'entertaining', 'entertainment', 'entire', 'entirely', 'entry', 'eq', 'equal', 'equalized', 'equalizer', 'equipment', 'equipo', 'error', 'errors', 'es', 'escencia', 'esp', 'espanol', 'español', 'especially', 'essential', 'essentially', 'esta', 'estar', 'este', 'estudio', 'estés', 'etc', 'etekcity', 'ethernet', 'evaluate', 'even', 'evening', 'event', 'events', 'eventually', 'ever', 'every', 'everybody', 'everyday', 'everyone', 'everything', 'everytime', 'everywhere', 'eveyday', 'evolve', 'evrything', 'ex', 'exact', 'exactly', 'example', 'examples', 'exasperation', 'exceeded', 'exceeds', 'excelente', 'excellent', 'excellently', 'except', 'exception', 'exceptionally', 'excessive', 'exchange', 'exchanges', 'exchanging', 'excited', 'excitement', 'excuses', 'exho', 'existence', 'existent', 'existing', 'expanded', 'expanding', 'expect', 'expectation', 'expectations', 'expected', 'expecting', 'expensive', 'experience', 'experienced', 'experiences', 'expert', 'expired', 'expires', 'explanation', 'explicit', 'explore', 'explored', 'exploring', 'extend', 'extended', 'extender', 'extends', 'extension', 'extent', 'external', 'extra', 'extras', 'extremely', 'extrimelly', 'eye', 'eyes', 'fabric', 'fabulous', 'face', 'facebook', 'faces', 'facetime', 'fact', 'factor', 'factory', 'facts', 'fail', 'failed', 'failing', 'fails', 'fair', 'fairly', 'fairness', 'fall', 'falling', 'falls', 'false', 'familiar', 'family', 'fan', 'fanatic', 'fans', 'fantastic', 'far', 'farther', 'fascinating', 'fashioned', 'fast', 'faster', 'fat', 'father', 'fathers', 'fault', 'faulty', 'favorite', 'favorites', 'featues', 'feature', 'featured', 'features', 'fee', 'feed', 'feedback', 'feeds', 'feee', 'feel', 'feeling', 'feels', 'fees', 'feet', 'fell', 'felt', 'fencing', 'few', 'fi', 'fiances', 'fidelity', 'figure', 'figured', 'figuring', 'fill', 'filled', 'filling', 'fills', 'final', 'finally', 'find', 'finding', 'finds', 'fine', 'fingertips', 'finicky', 'finish', 'fios', 'fire', 'firestick', 'firmare', 'firmware', 'first', 'fit', 'fits', 'five', 'fix', 'fixed', 'fixes', 'fixing', 'fixture', 'fixtures', 'flash', 'flashes', 'flat', 'flaw', 'flawless', 'flawlessly', 'flaws', 'fledged', 'flexibility', 'flexible', 'flickering', 'floating', 'floor', 'floored', 'fm', 'folks', 'follow', 'followed', 'font', 'foot', 'football', 'footprint', 'for', 'force', 'forces', 'forecast', 'forecasts', 'forever', 'forget', 'forgot', 'forgotten', 'forjust', 'form', 'forth', 'fortunately', 'forums', 'forward', 'found', 'four', 'fourth', 'free', 'freeze', 'freezes', 'frequently', 'fri', 'friday', 'friend', 'friendly', 'friends', 'from', 'front', 'frustrated', 'frustrating', 'frustration', 'full', 'fuller', 'fully', 'fumble', 'fun', 'funciona', 'funcionamiento', 'funciones', 'function', 'functionalities', 'functionality', 'functions', 'funny', 'further', 'furthermore', 'fussing', 'fussy', 'future', 'fw', 'gadget', 'gadgets', 'gain', 'galaxy', 'game', 'games', 'gameshow', 'gaming', 'gap', 'garage', 'garbage', 'gateway', 'gather', 'gatherings', 'gave', 'gazebo', 'gb', 'ge', 'geared', 'geek', 'geeks', 'gen', 'gen2', 'gender', 'general', 'generally', 'generation', 'genial', 'genre', 'genres', 'geo', 'get', 'gets', 'getting', 'gf', 'ghost', 'gift', 'gifts', 'girlfriend', 'girls', 'give', 'given', 'gives', 'giving', 'gizmo', 'glad', 'glaring', 'glasses', 'glitch', 'glitches', 'glitching', 'glorified', 'glow', 'go', 'god', 'godsend', 'goes', 'going', 'golden', 'gone', 'goo', 'good', 'goodies', 'goodmorning', 'goodness', 'google', 'googled', 'got', 'gotten', 'government', 'grab', 'grace', 'grand', 'grandaughter', 'grandchildren', 'granddaughter', 'grandfather', 'grandkids', 'grandmother', 'grandparent', 'grandparents', 'grands', 'grandson', 'grandsons', 'granite', 'granted', 'graphics', 'gratamente', 'greade', 'great', 'greater', 'greatest', 'greatly', 'green', 'greeting', 'grip', 'gripe', 'grocery', 'groggy', 'ground', 'group', 'groups', 'growing', 'grownups', 'grows', 'guarantee', 'guaranteeing', 'guard', 'guess', 'guest', 'guide', 'guilty', 'guy', 'guys', 'habit', 'habla', 'had', 'hadn', 'haha', 'hahaawesome', 'hahahaha', 'hairs', 'hal', 'half', 'hallway', 'hand', 'handle', 'handled', 'handles', 'hands', 'handy', 'hang', 'happen', 'happened', 'happening', 'happens', 'happier', 'happy', 'hard', 'hardcore', 'harder', 'hardly', 'harmony', 'harvard', 'has', 'hasn', 'hassel', 'hassle', 'hate', 'hated', 'hates', 'hauler', 'have', 'haven', 'havent', 'having', 'haywire', 'hbo', 'hcfe', 'hd', 'hd8', 'hdm1', 'hdmi', 'he', 'headline', 'headphone', 'headphones', 'heads', 'healing', 'hear', 'heard', 'hearing', 'hears', 'heart', 'heaven', 'heavy', 'heck', 'hectic', 'held', 'helful', 'hell', 'help', 'helped', 'helper', 'helpful', 'helping', 'helps', 'hence', 'her', 'here', 'hers', 'herself', 'hes', 'hesitant', 'hesitate', 'hesitated', 'hey', 'hi', 'hiccups', 'hide', 'high', 'higher', 'highest', 'highly', 'him', 'himself', 'hints', 'hire', 'hired', 'hiring', 'his', 'history', 'hit', 'hmm', 'hmmm', 'hmmmm', 'hold', 'holder', 'holding', 'hole', 'holiday', 'holy', 'home', 'homes', 'homescreen', 'homework', 'honest', 'honestly', 'hong', 'hook', 'hooked', 'hope', 'hoped', 'hopefully', 'hoping', 'hora', 'horrible', 'horse', 'hospital', 'hospitals', 'hosting', 'hot', 'hotel', 'hour', 'hours', 'house', 'household', 'houses', 'how', 'however', 'hr', 'https', 'hub', 'hubbed', 'hubby', 'hubs', 'hue', 'huele', 'huge', 'hulu', 'human', 'humour', 'hundred', 'hundreds', 'husband', 'hut', 'hvac', 'hype', 'id', 'idea', 'ideal', 'if', 'ifs', 'ight', 'ignored', 'ignoring', 'iheart', 'iheartradio', 'ihome', 'ii', 'illustrated', 'im', 'image', 'images', 'imagination', 'imagine', 'imagined', 'imhave', 'immediately', 'impaired', 'impede', 'imperfection', 'implementing', 'important', 'importantly', 'impressed', 'impressive', 'improve', 'improved', 'improvement', 'improvements', 'improving', 'impulse', 'imrproved', 'imusic', 'in', 'inability', 'inactivity', 'include', 'included', 'includes', 'including', 'inclusive', 'income', 'inconvenience', 'inconvenient', 'incorporated', 'increase', 'increasing', 'incredible', 'incredibly', 'india', 'indicated', 'indicator', 'indispensable', 'individual', 'individually', 'indoor', 'indundated', 'industry', 'inexpensive', 'inexperience', 'infact', 'inferior', 'info', 'información', 'information', 'informative', 'informed', 'infotainment', 'initial', 'initially', 'initiate', 'inline', 'innovative', 'input', 'insanely', 'insanity', 'insert', 'inside', 'insist', 'inspired', 'install', 'installation', 'installed', 'installing', 'installs', 'instant', 'instantaneous', 'instantly', 'instead', 'instruction', 'instructions', 'integrate', 'integrated', 'integrates', 'integrating', 'integration', 'intelagence', 'inteligente', 'intelligent', 'intend', 'intended', 'intention', 'interact', 'interacting', 'interaction', 'interactions', 'interactive', 'intercom', 'intercoms', 'interest', 'interested', 'interesting', 'interface', 'interfacing', 'interference', 'interferes', 'intermittent', 'intermittently', 'internal', 'international', 'internet', 'interpret', 'interrogated', 'interrupt', 'interruption', 'intimidating', 'into', 'introduce', 'introducing', 'introduction', 'intrusive', 'intuitive', 'invasion', 'invasions', 'invasive', 'invention', 'invest', 'invested', 'investing', 'investment', 'inviting', 'involved', 'involves', 'iot', 'iove', 'ipad', 'ipads', 'ipdates', 'iphone', 'irritated', 'irritating', 'is', 'ise', 'ish', 'island', 'isn', 'isnt', 'isolated', 'issue', 'issues', 'isue', 'it', 'ita', 'italian', 'italy', 'item', 'items', 'its', 'itself', 'itunes', 'iy', 'jack', 'jacuzzi', 'jamming', 'jams', 'jaws', 'jazz', 'jeapordy', 'jeff', 'jeopardy', 'jetsons', 'jimmy', 'job', 'johnny', 'join', 'joke', 'joked', 'jokes', 'journey', 'joy', 'jump', 'jumped', 'jumping', 'june', 'junk', 'just', 'karen', 'kasa', 'keen', 'keep', 'keeper', 'keeping', 'keeps', 'kept', 'key', 'keyboard', 'kick', 'kicking', 'kid', 'kids', 'killer', 'kind', 'kinda', 'kindle', 'kinds', 'king', 'kitchen', 'knee', 'knew', 'knob', 'knock', 'knocked', 'know', 'knowing', 'knowledgable', 'knowledge', 'knowledgeable', 'known', 'knows', 'kodi', 'kong', 'korea', 'kwikset', 'la', 'labeled', 'lack', 'lacking', 'lacks', 'ladies', 'lady', 'lag', 'lagging', 'lags', 'lame', 'lamp', 'lamps', 'land', 'language', 'lapsed', 'laptop', 'large', 'larger', 'las', 'last', 'lastly', 'late', 'lately', 'later', 'lauded', 'laugh', 'laughs', 'laughter', 'laundry', 'law', 'layer', 'laying', 'laziness', 'lazy', 'lcd', 'leaning', 'learn', 'learned', 'learnimg', 'learning', 'learns', 'leary', 'least', 'leave', 'leaves', 'leaving', 'led', 'left', 'leg', 'legally', 'leisure', 'length', 'less', 'lesson', 'let', 'lets', 'level', 'levels', 'lg', 'libraries', 'library', 'life', 'lifetime', 'lifht', 'light', 'lightbulb', 'lightening', 'lighting', 'lightning', 'lights', 'like', 'liked', 'likely', 'likes', 'liking', 'lil', 'lilttle', 'limitations', 'limited', 'line', 'lines', 'link', 'linked', 'linking', 'links', 'list', 'listen', 'listened', 'listening', 'listens', 'lists', 'lit', 'literally', 'literate', 'little', 'live', 'lived', 'lives', 'living', 'livingroom', 'll', 'llama', 'llegó', 'lm', 'lo', 'load', 'loaded', 'loads', 'local', 'locate', 'located', 'location', 'locations', 'lock', 'locked', 'locks', 'logitech', 'logo', 'logra', 'lol', 'lolol', 'lonely', 'long', 'longer', 'longevity', 'look', 'looked', 'looking', 'looks', 'looooooove', 'loose', 'looses', 'loosing', 'lose', 'loses', 'losing', 'loss', 'lost', 'lot', 'lots', 'loud', 'louder', 'louis', 'lov', 'love', 'loved', 'lovee', 'lover', 'loves', 'loving', 'low', 'lower', 'luck', 'luckily', 'lucky', 'lullaby', 'lurking', 'luv', 'lve', 'lyric', 'lyrical', 'lyrics', 'mac', 'machine', 'machines', 'maddening', 'made', 'madlibs', 'magically', 'mailed', 'main', 'mainly', 'mainstream', 'maintain', 'maintaining', 'majel', 'majes', 'major', 'make', 'makes', 'making', 'makings', 'male', 'malone', 'mama', 'man', 'manage', 'management', 'mandatory', 'maneuver', 'manners', 'manual', 'manually', 'manuals', 'manufacturers', 'many', 'marginal', 'mark', 'marked', 'market', 'marketing', 'marvelous', 'massive', 'match', 'matched', 'material', 'matter', 'maximize', 'may', 'maybe', 'mb', 'me', 'mean', 'meaningful', 'means', 'meant', 'media', 'medical', 'medications', 'mediocre', 'meditation', 'medium', 'meh', 'member', 'members', 'membership', 'memory', 'mention', 'mentioned', 'menu', 'mere', 'message', 'messages', 'messaging', 'messed', 'met', 'metro', 'mexico', 'mi', 'miami', 'mic', 'microphone', 'microphones', 'mics', 'mid', 'middle', 'mids', 'might', 'miles', 'million', 'mimic', 'mind', 'mindset', 'mine', 'mini', 'minimal', 'minimum', 'minor', 'minorly', 'mins', 'mint', 'minus', 'minute', 'minutes', 'mirroring', 'misled', 'misplace', 'miss', 'missed', 'missing', 'mistakes', 'misunderstands', 'mixed', 'moana', 'mobile', 'mobility', 'mode', 'model', 'models', 'modern', 'mom', 'moment', 'moms', 'mon', 'money', 'monitor', 'month', 'monthly', 'months', 'mood', 'more', 'moreover', 'morning', 'most', 'mostly', 'mother', 'motivation', 'motown', 'mount', 'mounted', 'move', 'moved', 'movie', 'movies', 'moving', 'mu', 'much', 'muffled', 'multi', 'multiple', 'music', 'must', 'mute', 'muy', 'my', 'mybedroom', 'myself', 'múltiples', 'na', 'name', 'named', 'names', 'nana', 'nanny', 'native', 'natural', 'nature', 'navigate', 'navigating', 'navigation', 'naw', 'nbc', 'nbsp', 'nc', 'nd', 'ne', 'near', 'nearly', 'neat', 'necessity', 'need', 'needed', 'needing', 'needs', 'negative', 'neighbors', 'neither', 'nephews', 'nervana', 'nervous', 'nest', 'net', 'netflix', 'network', 'never', 'new', 'newer', 'newest', 'news', 'newsflash', 'nexia', 'next', 'nfl', 'ni', 'nice', 'nicely', 'nicer', 'niece', 'nigh', 'night', 'nightmare', 'nights', 'nightstand', 'nil', 'nit', 'nite', 'nj', 'no', 'nobody', 'nois', 'noise', 'non', 'none', 'nonsense', 'nope', 'nor', 'norm', 'normal', 'north', 'nos', 'not', 'note', 'nothing', 'notice', 'noticeable', 'noticed', 'notification', 'notifications', 'notifies', 'novelty', 'now', 'nowhere', 'npr', 'nrw', 'nsa', 'nudged', 'numb', 'number', 'numbers', 'numerous', 'nurses', 'nuts', 'ny', 'obsessed', 'obtrusive', 'obvious', 'occasion', 'occasional', 'occasionally', 'ocean', 'odd', 'odds', 'of', 'off', 'offer', 'offered', 'offers', 'office', 'officially', 'offing', 'often', 'oh', 'ok', 'okay', 'old', 'older', 'oldest', 'olor', 'omg', 'on', 'once', 'onceproblem', 'one', 'ones', 'onetime', 'online', 'only', 'onme', 'onto', 'ontrac', 'oops', 'open', 'opened', 'opening', 'opens', 'opera', 'operate', 'operation', 'operations', 'operator', 'opinion', 'opportunity', 'opt', 'optical', 'optimum', 'option', 'optional', 'options', 'or', 'orange', 'orchestra', 'order', 'ordered', 'ordering', 'orders', 'organization', 'organized', 'orientation', 'oriented', 'original', 'originale', 'originally', 'other', 'others', 'otherwise', 'our', 'ours', 'ourselves', 'out', 'outdoor', 'outdoors', 'outlet', 'outlets', 'output', 'outrageous', 'outside', 'outsmart', 'outstanding', 'oven', 'over', 'overa', 'overall', 'overcoming', 'overheating', 'overpriced', 'override', 'overtime', 'overview', 'overwhelming', 'owe', 'owlhead', 'own', 'owned', 'owner', 'owners', 'ownership', 'owning', 'package', 'packaged', 'packages', 'packaging', 'packing', 'page', 'pages', 'paid', 'pain', 'pair', 'paired', 'pairing', 'pamphlet', 'pandora', 'pants', 'paper', 'par', 'paranoid', 'pare', 'parents', 'park', 'paroduct', 'part', 'participating', 'particular', 'particularly', 'parties', 'partner', 'parts', 'party', 'pass', 'password', 'past', 'patch', 'patience', 'patient', 'patio', 'pattern', 'pause', 'pauses', 'pay', 'payed', 'paying', 'pc', 'películas', 'pen', 'pencil', 'penny', 'people', 'pep', 'per', 'perdió', 'perfect', 'perfectly', 'perfecto', 'perform', 'performance', 'performed', 'performing', 'performs', 'perhaps', 'period', 'perk', 'permanently', 'persist', 'person', 'personal', 'personality', 'personalization', 'personalized', 'personally', 'persuasion', 'pets', 'phase', 'phenomenal', 'philip', 'philips', 'philipshue', 'phillip', 'phillips', 'philly', 'phone', 'phones', 'phonetically', 'photo', 'photographs', 'photos', 'phrase', 'pia', 'pick', 'picked', 'picking', 'picks', 'picky', 'pics', 'picture', 'pictures', 'piece', 'pin', 'pivoting', 'pixelated', 'pizza', 'place', 'placed', 'placement', 'places', 'placing', 'plain', 'plan', 'plane', 'planning', 'plans', 'platform', 'platforms', 'play', 'played', 'player', 'playing', 'playlist', 'playlists', 'plays', 'pleasantly', 'please', 'pleased', 'pleasedsimple', 'pleasure', 'plenty', 'plug', 'plugged', 'plugins', 'plugs', 'plus', 'pluto', 'pod', 'podcast', 'podcasts', 'point', 'pointed', 'pointless', 'politics', 'pool', 'poop', 'poor', 'pop', 'porch', 'port', 'portability', 'portable', 'portion', 'posed', 'position', 'positive', 'positives', 'possibilities', 'possible', 'possibly', 'post', 'poster', 'potential', 'pound', 'power', 'powercord', 'powerful', 'practical', 'practically', 'practicalthan', 'pray', 'pre', 'preciously', 'precise', 'prefer', 'preferences', 'preferred', 'premium', 'prepare', 'preparing', 'present', 'preset', 'press', 'presumably', 'prettier', 'pretty', 'prevent', 'prevents', 'preview', 'previous', 'previously', 'price', 'priced', 'prices', 'pricey', 'pricing', 'primarily', 'primary', 'prime', 'primeday', 'print', 'prior', 'privacy', 'prize', 'pro', 'probably', 'problem', 'problems', 'procedure', 'process', 'produc', 'product', 'producto', 'products', 'productsand', 'profiles', 'program', 'programing', 'programmed', 'programming', 'programs', 'project', 'projection', 'projects', 'promised', 'promoting', 'promotion', 'promp', 'prompt', 'prompts', 'proper', 'properly', 'props', 'pros', 'protected', 'protection', 'protocol', 'prove', 'proved', 'provee', 'provide', 'provided', 'provider', 'provides', 'providing', 'psychological', 'pueden', 'pull', 'pulling', 'pulsate', 'pulsed', 'punch', 'puny', 'pup', 'pur', 'purchase', 'purchased', 'purchaser', 'purchases', 'purchasing', 'pure', 'purely', 'purpose', 'purposes', 'push', 'pushed', 'put', 'puts', 'putting', 'puzzled', 'quality', 'qualty', 'que', 'quedó', 'queries', 'question', 'questionable', 'questions', 'quick', 'quicker', 'quickly', 'quiet', 'quit', 'quite', 'quiz', 'quot', 'quote', 'qvc', 'radio', 'rain', 'rainbow', 'raised', 'rambled', 'ran', 'random', 'randomly', 'range', 'ranger', 'rapidez', 'rare', 'rarely', 'rarity', 'rate', 'rather', 'rating', 'rattle', 'rattling', 'rcieved', 're', 'reach', 'reached', 'reaching', 'reactive', 'read', 'reader', 'reading', 'reads', 'ready', 'real', 'realizando', 'realize', 'realized', 'realizing', 'really', 'reason', 'reasonable', 'reasons', 'reauthorize', 'reboot', 'rebooted', 'rebooting', 'reboots', 'reccomend', 'receivded', 'receive', 'received', 'receiver', 'receivers', 'receiving', 'recent', 'recently', 'reception', 'rechargeable', 'recharged', 'recipe', 'recipes', 'recipient', 'recognition', 'recognize', 'recognizes', 'recomendable', 'recommend', 'recommended', 'recommending', 'reconditioned', 'reconfigure', 'reconnect', 'reconnected', 'reconnecting', 'record', 'recorded', 'recording', 'recordings', 'rectangular', 'recurring', 'red', 'reduced', 'redundant', 'ref', 'refer', 'reference', 'references', 'referred', 'refers', 'refined', 'refund', 'refunds', 'refurb', 'refurbish', 'refurbished', 'refurbishedthought', 'refurbishing', 'refurbs', 'regard', 'regardless', 'regional', 'register', 'registered', 'regret', 'regrets', 'regular', 'regularly', 'reinstall', 'related', 'relatively', 'relaxing', 'relay', 'release', 'released', 'reliable', 'relief', 'rely', 'remaining', 'remains', 'remedial', 'remember', 'remembering', 'remind', 'reminded', 'reminder', 'reminders', 'reminding', 'reminds', 'remorse', 'remote', 'rename', 'rent', 'renting', 'reoccurring', 'reorder', 'rep', 'repair', 'repairs', 'repeat', 'repeated', 'repeating', 'repeats', 'repertoire', 'replace', 'replaced', 'replacement', 'replaces', 'replacing', 'replied', 'replying', 'report', 'reported', 'reports', 'reportsalarm', 'reputation', 'request', 'requesting', 'requests', 'require', 'required', 'requires', 'research', 'researched', 'researching', 'resembling', 'resemption', 'reset', 'resetting', 'resist', 'resistant', 'resolution', 'resolved', 'resolves', 'respond', 'responding', 'responds', 'response', 'responses', 'responsive', 'responsiveness', 'respuesta', 'rest', 'restart', 'restrictions', 'restrictive', 'result', 'results', 'resume', 'retired', 'return', 'returned', 'returnef', 'returning', 'review', 'reviewing', 'reviews', 'revise', 'rewards', 'rid', 'rides', 'ridiculous', 'ridiculously', 'right', 'ring', 'rings', 'rivers', 'road', 'rock', 'rocks', 'roku', 'roll', 'room', 'roomba', 'rooms', 'rotate', 'rotates', 'rotation', 'rotations', 'rough', 'round', 'route', 'router', 'routine', 'routinely', 'routines', 'row', 'rub', 'rubber', 'run', 'running', 'runs', 's8', 's9', 'sad', 'sadly', 'safe', 'said', 'sale', 'sales', 'salsa', 'same', 'samsung', 'sang', 'sanity', 'satellite', 'satisfied', 'satisified', 'save', 'saved', 'saving', 'savvy', 'savy', 'saw', 'say', 'saying', 'says', 'scared', 'scenes', 'scent', 'schedule', 'scheduled', 'schedules', 'scheduling', 'school', 'science', 'scooped', 'scores', 'scottish', 'scoured', 'scratch', 'scratched', 'screamig', 'screaming', 'screen', 'screenless', 'screens', 'screenselect', 'screw', 'script', 'scroll', 'scrolling', 'scrolls', 'se', 'sealed', 'seamless', 'seamlessly', 'seams', 'search', 'searches', 'searching', 'season', 'second', 'seconds', 'secret', 'secretary', 'section', 'security', 'see', 'seeing', 'seem', 'seemed', 'seems', 'seen', 'seldom', 'select', 'selection', 'selections', 'self', 'selfies', 'sell', 'selling', 'semana', 'semi', 'send', 'sending', 'sends', 'senior', 'sense', 'sensitive', 'sensitivity', 'sent', 'sentence', 'separate', 'separately', 'seprately', 'series', 'serious', 'seriously', 'serius', 'serve', 'served', 'service', 'services', 'set', 'sets', 'setting', 'settings', 'settingshome', 'settins', 'settle', 'setup', 'setups', 'sever', 'several', 'sewing', 'sh', 'shaking', 'shape', 'sharing', 'sharp', 'she', 'shell', 'shelled', 'shifting', 'shine', 'shining', 'ship', 'shipment', 'shipped', 'shipping', 'shocked', 'shooting', 'shop', 'shopping', 'short', 'shortcomings', 'shorted', 'shorter', 'shortly', 'should', 'shouldn', 'shout', 'show', 'shower', 'showering', 'showing', 'showman', 'shown', 'shows', 'showtime', 'shuffle', 'shut', 'shuts', 'shutting', 'sibling', 'side', 'sigh', 'sight', 'sign', 'significant', 'silly', 'silver', 'similar', 'simple', 'simpler', 'simplicity', 'simplified', 'simplify', 'simply', 'simultaneously', 'sin', 'since', 'sincerely', 'sing', 'singing', 'single', 'singley', 'sink', 'sinqued', 'siri', 'sirius', 'sirrius', 'sister', 'sit', 'site', 'sits', 'sitting', 'situations', 'six', 'size', 'sized', 'skeptical', 'skill', 'skills', 'skips', 'skype', 'sleek', 'sleep', 'sleeper', 'sleeping', 'sleeps', 'sleepy', 'sliced', 'slide', 'slideshow', 'slight', 'slightly', 'sling', 'slow', 'slowly', 'sm', 'small', 'smaller', 'smart', 'smartbon', 'smarter', 'smarthome', 'smartphone', 'smartthing', 'smartthings', 'smells', 'smiths', 'smooth', 'smoothly', 'snap', 'snarls', 'sneaky', 'snell', 'snooze', 'snoozed', 'snoozes', 'so', 'soaked', 'soaking', 'soccer', 'social', 'socket', 'sofa', 'soft', 'softly', 'software', 'sold', 'solely', 'solid', 'solo', 'solución', 'solution', 'solved', 'solves', 'some', 'somebody', 'somehow', 'someone', 'something', 'sometime', 'sometimes', 'somewhat', 'son', 'song', 'songs', 'sonos', 'sons', 'sony', 'soon', 'sooner', 'sooo', 'sooooo', 'sooooooo', 'sopt', 'sore', 'sorely', 'sorprendió', 'sorry', 'sort', 'sound', 'soundbar', 'sounded', 'sounding', 'soundlink', 'sounds', 'soundtouch', 'source', 'sources', 'southern', 'spa', 'space', 'spaces', 'spacing', 'spam', 'span', 'spanish', 'spanking', 'spark', 'sparks', 'speak', 'speaker', 'speakers', 'speaking', 'speaks', 'special', 'specially', 'specific', 'specifically', 'specifily', 'specify', 'specifying', 'specs', 'spectacular', 'speech', 'speed', 'speeds', 'speedy', 'spell', 'spelling', 'spend', 'spending', 'spent', 'spiel', 'spilled', 'spin', 'spins', 'split', 'spoiled', 'spoke', 'spoken', 'sport', 'sports', 'spot', 'spotify', 'spotlight', 'spots', 'spouse', 'sprinkler', 'sprint', 'spur', 'spying', 'square', 'squirms', 'sry', 'ssdi', 'st', 'staff', 'stage', 'staging', 'stairs', 'stand', 'standalone', 'standard', 'standards', 'standing', 'stands', 'star', 'stark', 'stars', 'start', 'started', 'starting', 'starts', 'stat', 'state', 'statement', 'states', 'station', 'stationary', 'stationed', 'stations', 'stay', 'stayed', 'staying', 'steaming', 'steep', 'stellar', 'step', 'steps', 'stereo', 'stick', 'sticks', 'still', 'stimulus', 'stinks', 'stoled', 'stop', 'stopped', 'stops', 'storage', 'store', 'stories', 'storm', 'story', 'stove', 'straight', 'straightforward', 'strange', 'stream', 'streaming', 'streamline', 'strictly', 'string', 'strips', 'strong', 'strongly', 'structure', 'struggle', 'stubborn', 'stuck', 'students', 'stuff', 'stump', 'stupid', 'sturdy', 'style', 'stylish', 'su', 'sub', 'subject', 'subpar', 'subscriber', 'subscribing', 'subscription', 'subscriptiondoes', 'subscriptions', 'subsequently', 'substitute', 'success', 'successful', 'successfully', 'successor', 'such', 'suck', 'sucks', 'suffer', 'sufficient', 'suffolk', 'suggest', 'suggested', 'suggesting', 'suggestions', 'suggests', 'suitable', 'summoning', 'sunroom', 'supberb', 'super', 'superb', 'superior', 'supplied', 'supplying', 'support', 'supported', 'supporting', 'supports', 'suppose', 'supposed', 'sure', 'surely', 'surface', 'surprise', 'surprised', 'surprising', 'surprisingly', 'surround', 'survived', 'sweet', 'swell', 'swipe', 'swiping', 'switch', 'switched', 'switches', 'switching', 'sync', 'synced', 'synching', 'syncing', 'system', 'systems', 'table', 'tablet', 'tablets', 'tad', 'tailor', 'take', 'taken', 'takes', 'taking', 'tales', 'talk', 'talked', 'talking', 'talks', 'tall', 'taller', 'tap', 'tape', 'taping', 'tapped', 'tardis', 'tasha', 'task', 'tasks', 'teacher', 'teams', 'tear', 'tec', 'tech', 'techie', 'technical', 'technically', 'technicians', 'techno', 'technologically', 'technology', 'techy', 'teenagers', 'teeth', 'tekkie', 'telephone', 'television', 'tell', 'telling', 'tells', 'temp', 'temperature', 'temps', 'tempting', 'ten', 'tend', 'tends', 'terminology', 'terrible', 'terrific', 'test', 'tested', 'testing', 'texas', 'text', 'texts', 'tg', 'tge', 'than', 'thank', 'thanks', 'that', 'thats', 'the', 'theater', 'theecho', 'their', 'theirs', 'them', 'themes', 'themselves', 'then', 'theories', 'there', 'therefore', 'thermostat', 'these', 'thestand', 'thete', 'they', 'thick', 'thing', 'things', 'think', 'thinking', 'third', 'this', 'thongs', 'thorough', 'thoroughly', 'those', 'thou', 'though', 'thought', 'thoughts', 'thousands', 'three', 'thrilled', 'through', 'throughout', 'throw', 'thrown', 'thru', 'thu', 'thumb', 'thumbs', 'thunderstorm', 'thursday', 'ti', 'tickled', 'tiempo', 'tiene', 'ties', 'til', 'till', 'time', 'timer', 'timers', 'times', 'timing', 'tin', 'ting', 'tinker', 'tinkering', 'tinny', 'tiny', 'tipping', 'tips', 'tired', 'title', 'tivo', 'to', 'toda', 'today', 'toddler', 'together', 'toilet', 'told', 'tomorrow', 'tomy', 'ton', 'tones', 'tons', 'tony', 'too', 'took', 'tool', 'tools', 'tooth', 'top', 'topic', 'tosca', 'total', 'totallly', 'totally', 'tou', 'touch', 'touching', 'touted', 'toward', 'towards', 'tower', 'town', 'toy', 'tp', 'track', 'traditional', 'traffic', 'trailer', 'trailers', 'trained', 'trainees', 'training', 'transferring', 'travel', 'traveling', 'travelling', 'través', 'treadmill', 'treat', 'treble', 'trek', 'tremendous', 'trending', 'trial', 'tricks', 'tricky', 'tried', 'tries', 'trigger', 'trip', 'trivia', 'trouble', 'troubleshooting', 'troublesome', 'troubling', 'true', 'truly', 'trust', 'try', 'trying', 'tube', 'tubi', 'tune', 'tunein', 'tunes', 'turn', 'turned', 'turning', 'turns', 'tv', 'tvs', 'tweeter', 'tweeters', 'twice', 'twist', 'twitter', 'two', 'ty', 'type', 'typed', 'types', 'typical', 'typically', 'typing', 'títulos', 'udefulness', 'ugly', 'uhyour', 'ummm', 'un', 'unable', 'unacceptable', 'unavailable', 'unbelievable', 'uncle', 'under', 'underestimated', 'understand', 'understanding', 'understands', 'understood', 'unexpected', 'unfortunately', 'unhappy', 'unhelpful', 'unico', 'unimportant', 'uninstall', 'unique', 'unit', 'units', 'universal', 'unless', 'unlike', 'unlimited', 'unlocking', 'unnannounced', 'unnecessary', 'unobtrusive', 'unplug', 'unplugged', 'unresponsive', 'unsettling', 'untapped', 'until', 'unusable', 'unused', 'unwitty', 'unwrapped', 'up', 'upcoming', 'update', 'updated', 'updates', 'updating', 'upgrade', 'upgraded', 'upgrades', 'upgrading', 'upload', 'upon', 'upset', 'upsetting', 'upstairs', 'urge', 'us', 'usa', 'usable', 'usage', 'usb', 'usde', 'use', 'used', 'useful', 'useless', 'user', 'users', 'uses', 'using', 'usual', 'usually', 'utility', 'utilización', 'utilize', 'utilizing', 'vacation', 'vacations', 'vacuum', 'value', 'variant', 'variety', 'various', 'vast', 've', 'vehicle', 'verbal', 'verbalize', 'verbally', 'versa', 'versatile', 'versatility', 'verse', 'verses', 'version', 'versions', 'versus', 'very', 'vetted', 'vez', 'via', 'vibrating', 'vice', 'viceo', 'video', 'videos', 'view', 'viewed', 'viewing', 'views', 'vintage', 'viola', 'virtual', 'virtually', 'visa', 'visible', 'vision', 'visiting', 'visits', 'visual', 'visuals', 'vlan', 'voice', 'voices', 'voiceview', 'voila', 'voltage', 'voltson', 'volume', 'vs', 'vudu', 'wait', 'waited', 'waiting', 'waits', 'wake', 'wakes', 'waking', 'walk', 'walked', 'walking', 'walks', 'wall', 'walls', 'want', 'wanted', 'wanting', 'warehouse', 'warning', 'warns', 'warranty', 'was', 'wasconcerned', 'wasn', 'wasnt', 'waste', 'wasted', 'watch', 'watched', 'watching', 'water', 'wattage', 'wave', 'way', 'ways', 'we', 'weak', 'wealth', 'wear', 'weary', 'weather', 'web', 'website', 'websites', 'wedding', 'week', 'weekday', 'weekdays', 'weekend', 'weekly', 'weeks', 'weight', 'weird', 'welcome', 'well', 'wellfour', 'went', 'were', 'weren', 'what', 'whatever', 'whats', 'whatsoever', 'whe', 'when', 'whenever', 'where', 'wherever', 'whether', 'which', 'while', 'whisper', 'whistles', 'white', 'who', 'whole', 'whom', 'whos', 'whose', 'why', 'wi', 'wide', 'widespread', 'wife', 'wifi', 'wikipedia', 'will', 'willing', 'wind', 'window', 'winds', 'wink', 'wireless', 'wish', 'wished', 'wishing', 'with', 'within', 'without', 'woke', 'woken', 'won', 'wonder', 'wonderful', 'wonderfully', 'wonders', 'wont', 'woofer', 'woofers', 'woohoo', 'word', 'words', 'work', 'workarounds', 'worked', 'worker', 'working', 'workout', 'workreat', 'works', 'world', 'worried', 'worry', 'worse', 'worst', 'worth', 'worthless', 'worthy', 'would', 'wouldn', 'wow', 'writes', 'writing', 'wrong', 'www', 'xbox', 'xfinity', 'xm', 'yale', 'yard', 'yards', 'yeah', 'year', 'years', 'yell', 'yelling', 'yellow', 'yep', 'yes', 'yesterday', 'yet', 'yhe', 'york', 'you', 'young', 'younger', 'youngest', 'your', 'yourself', 'youtube', 'yr', 'yrs', 'yup', 'zero', 'zigbee', 'zonked', 'zzzz', 'zzzzzzz', 'útil']
In [30]:
alexa_df.drop(['verified_reviews'], axis=1, inplace = True)
In [31]:
alexa_df.head()
Out[31]:
feedback Black Dot Black Plus Black Show Black Spot Charcoal Fabric Configuration: Fire TV Stick Heather Gray Fabric Oak Finish Sandstone Fabric Walnut Finish White White Dot White Plus White Show White Spot
0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
3 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
4 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
In [32]:
encoded_reviews = pd.DataFrame(alexa_countcetorizer.toarray())
In [33]:
alexa_df = pd.concat([alexa_df, encoded_reviews], axis=1)
In [34]:
alexa_df.head()
Out[34]:
feedback Black Dot Black Plus Black Show Black Spot Charcoal Fabric Configuration: Fire TV Stick Heather Gray Fabric Oak Finish Sandstone Fabric ... 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043
0 1 0 0 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3 1 0 0 0 0 1 0 0 0 0 ... 0 1 0 0 0 0 0 0 0 0
4 1 0 0 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0

5 rows × 4060 columns

In [35]:
alexa_df.shape
Out[35]:
(3150, 4060)
In [36]:
X = alexa_df.drop(['feedback'], axis=1)
In [38]:
X.head()
Out[38]:
Black Dot Black Plus Black Show Black Spot Charcoal Fabric Configuration: Fire TV Stick Heather Gray Fabric Oak Finish Sandstone Fabric Walnut Finish ... 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043
0 0 0 0 0 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 1 ... 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 1 0 0 0 0 0 ... 0 1 0 0 0 0 0 0 0 0
4 0 0 0 0 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0

5 rows × 4059 columns

In [39]:
y = alexa_df['feedback']
In [41]:
y.head()
Out[41]:
0    1
1    1
2    1
3    1
4    1
Name: feedback, dtype: int64
In [42]:
# Create train Test Split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    test_size=0.20,
                                                    random_state = 5,
                                                    stratify=y)

Train Model

In [44]:
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.ensemble import RandomForestClassifier
In [46]:
randomforest_classifier = RandomForestClassifier(n_estimators = 100,
                                                 criterion ='entropy')
In [47]:
randomforest_classifier.fit(X_train,y_train)
Out[47]:
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='entropy',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=1,
            oob_score=False, random_state=None, verbose=0,
            warm_start=False)
In [58]:
### Evaluate
In [59]:
y_predict = randomforest_classifier.predict(X_test)
In [60]:
cm = confusion_matrix(y_test, y_predict)
In [61]:
cm
Out[61]:
array([[ 15,  36],
       [  1, 578]])
In [62]:
sns.heatmap(cm, annot =True)
Out[62]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a3b58b438>
In [64]:
print(classification_report(y_test, y_predict))
             precision    recall  f1-score   support

          0       0.94      0.29      0.45        51
          1       0.94      1.00      0.97       579

avg / total       0.94      0.94      0.93       630

Model Improve

In [65]:
alexa_df = pd.read_csv('../datasets/amazon/amazon_alexa.tsv', sep = '\t')
In [67]:
alexa_df = pd.concat([alexa_df, pd.DataFrame(alexa_countcetorizer.toarray())], axis=1)
In [68]:
alexa_df
Out[68]:
rating date variation verified_reviews feedback 0 1 2 3 4 ... 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043
0 5 31-Jul-18 Charcoal Fabric Love my Echo! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
1 5 31-Jul-18 Charcoal Fabric Loved it! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
2 4 31-Jul-18 Walnut Finish Sometimes while playing a game, you can answer... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3 5 31-Jul-18 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1 0 0 0 0 0 ... 0 1 0 0 0 0 0 0 0 0
4 5 31-Jul-18 Charcoal Fabric Music 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
5 5 31-Jul-18 Heather Gray Fabric I received the echo as a gift. I needed anothe... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
6 3 31-Jul-18 Sandstone Fabric Without having a cellphone, I cannot use many ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
7 5 31-Jul-18 Charcoal Fabric I think this is the 5th one I've purchased. I'... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
8 5 30-Jul-18 Heather Gray Fabric looks great 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
9 5 30-Jul-18 Heather Gray Fabric Love it! I’ve listened to songs I haven’t hear... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
10 5 30-Jul-18 Charcoal Fabric I sent it to my 85 year old Dad, and he talks ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
11 5 30-Jul-18 Charcoal Fabric I love it! Learning knew things with it eveyda... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
12 5 30-Jul-18 Oak Finish I purchased this for my mother who is having k... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
13 5 30-Jul-18 Charcoal Fabric Love, Love, Love!! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
14 5 30-Jul-18 Oak Finish Just what I expected.... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
15 5 30-Jul-18 Heather Gray Fabric I love it, wife hates it. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
16 5 30-Jul-18 Heather Gray Fabric Really happy with this purchase. Great speake... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
17 5 30-Jul-18 Heather Gray Fabric We have only been using Alexa for a couple of ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
18 5 30-Jul-18 Charcoal Fabric We love the size of the 2nd generation echo. S... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
19 4 30-Jul-18 Sandstone Fabric I liked the original Echo. This is the same bu... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
20 5 30-Jul-18 Charcoal Fabric Love the Echo and how good the music sounds pl... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
21 5 30-Jul-18 Charcoal Fabric We love Alexa! We use her to play music, play ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
22 4 30-Jul-18 Heather Gray Fabric Have only had it set up for a few days. Still ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
23 5 30-Jul-18 Charcoal Fabric I love it. It plays my sleep sounds immediatel... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
24 3 30-Jul-18 Sandstone Fabric I got a second unit for the bedroom, I was exp... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
25 5 30-Jul-18 Sandstone Fabric Amazing product 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
26 5 30-Jul-18 Charcoal Fabric I love my Echo. It's easy to operate, loads of... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
27 5 30-Jul-18 Charcoal Fabric Sounds great!! Love them! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
28 4 30-Jul-18 Charcoal Fabric Fun item to play with and get used to using. ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
29 5 30-Jul-18 Charcoal Fabric Just like the other one 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3120 5 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3121 5 30-Jul-18 Black Dot I like the hands free operation vs the Tap. We... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3122 3 30-Jul-18 Black Dot I dislike that it confuses my requests all the... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3123 4 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3124 5 30-Jul-18 Black Dot Love my Alexa! Actually have 3 throughout the ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3125 4 30-Jul-18 Black Dot This product is easy to use and very entertain... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3126 5 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3127 4 30-Jul-18 Black Dot works great but speaker is not the good for mu... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3128 5 30-Jul-18 White Dot Outstanding product - easy to use. works great 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3129 4 30-Jul-18 White Dot We have six of these throughout our home and t... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3130 5 30-Jul-18 Black Dot Use the product for music and it’s great! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3131 5 30-Jul-18 Black Dot Easy to set-up and to use. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3132 5 30-Jul-18 Black Dot It works great!! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3133 4 30-Jul-18 White Dot I like having more Alexa devices in my house a... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3134 5 30-Jul-18 Black Dot PHENOMENAL 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3135 5 30-Jul-18 White Dot I loved it does exactly what it says 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3136 4 30-Jul-18 Black Dot I used it to control my smart home devices. Wo... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3137 5 30-Jul-18 Black Dot Very convenient 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3138 5 30-Jul-18 White Dot Este producto llegó y a la semana se quedó sin... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3139 5 30-Jul-18 White Dot Easy to set up Ready to use in minutes. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3140 4 30-Jul-18 White Dot Barry 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3141 3 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3142 4 30-Jul-18 White Dot My three year old loves it. Good for doing ba... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3143 5 30-Jul-18 Black Dot Awesome device wish I bought one ages ago. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3144 5 30-Jul-18 Black Dot love it 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3145 5 30-Jul-18 Black Dot Perfect for kids, adults and everyone in betwe... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3146 5 30-Jul-18 Black Dot Listening to music, searching locations, check... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3147 5 30-Jul-18 Black Dot I do love these things, i have them running my... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3148 5 30-Jul-18 White Dot Only complaint I have is that the sound qualit... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3149 4 29-Jul-18 Black Dot Good 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0

3150 rows × 4049 columns

In [70]:
alexa_df['length'] = alexa_df['verified_reviews'].apply(len)
In [71]:
alexa_df
Out[71]:
rating date variation verified_reviews feedback 0 1 2 3 4 ... 4035 4036 4037 4038 4039 4040 4041 4042 4043 length
0 5 31-Jul-18 Charcoal Fabric Love my Echo! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 13
1 5 31-Jul-18 Charcoal Fabric Loved it! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 9
2 4 31-Jul-18 Walnut Finish Sometimes while playing a game, you can answer... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 195
3 5 31-Jul-18 Charcoal Fabric I have had a lot of fun with this thing. My 4 ... 1 0 0 0 0 0 ... 1 0 0 0 0 0 0 0 0 172
4 5 31-Jul-18 Charcoal Fabric Music 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 5
5 5 31-Jul-18 Heather Gray Fabric I received the echo as a gift. I needed anothe... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 172
6 3 31-Jul-18 Sandstone Fabric Without having a cellphone, I cannot use many ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 365
7 5 31-Jul-18 Charcoal Fabric I think this is the 5th one I've purchased. I'... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 221
8 5 30-Jul-18 Heather Gray Fabric looks great 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 11
9 5 30-Jul-18 Heather Gray Fabric Love it! I’ve listened to songs I haven’t hear... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 114
10 5 30-Jul-18 Charcoal Fabric I sent it to my 85 year old Dad, and he talks ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 63
11 5 30-Jul-18 Charcoal Fabric I love it! Learning knew things with it eveyda... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 169
12 5 30-Jul-18 Oak Finish I purchased this for my mother who is having k... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 290
13 5 30-Jul-18 Charcoal Fabric Love, Love, Love!! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 18
14 5 30-Jul-18 Oak Finish Just what I expected.... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 24
15 5 30-Jul-18 Heather Gray Fabric I love it, wife hates it. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 25
16 5 30-Jul-18 Heather Gray Fabric Really happy with this purchase. Great speake... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 67
17 5 30-Jul-18 Heather Gray Fabric We have only been using Alexa for a couple of ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 216
18 5 30-Jul-18 Charcoal Fabric We love the size of the 2nd generation echo. S... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 86
19 4 30-Jul-18 Sandstone Fabric I liked the original Echo. This is the same bu... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 451
20 5 30-Jul-18 Charcoal Fabric Love the Echo and how good the music sounds pl... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 246
21 5 30-Jul-18 Charcoal Fabric We love Alexa! We use her to play music, play ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 385
22 4 30-Jul-18 Heather Gray Fabric Have only had it set up for a few days. Still ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 214
23 5 30-Jul-18 Charcoal Fabric I love it. It plays my sleep sounds immediatel... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 58
24 3 30-Jul-18 Sandstone Fabric I got a second unit for the bedroom, I was exp... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 179
25 5 30-Jul-18 Sandstone Fabric Amazing product 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 15
26 5 30-Jul-18 Charcoal Fabric I love my Echo. It's easy to operate, loads of... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 152
27 5 30-Jul-18 Charcoal Fabric Sounds great!! Love them! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 25
28 4 30-Jul-18 Charcoal Fabric Fun item to play with and get used to using. ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 133
29 5 30-Jul-18 Charcoal Fabric Just like the other one 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 23
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3120 5 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 1
3121 5 30-Jul-18 Black Dot I like the hands free operation vs the Tap. We... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 84
3122 3 30-Jul-18 Black Dot I dislike that it confuses my requests all the... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 52
3123 4 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 1
3124 5 30-Jul-18 Black Dot Love my Alexa! Actually have 3 throughout the ... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 128
3125 4 30-Jul-18 Black Dot This product is easy to use and very entertain... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 125
3126 5 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 1
3127 4 30-Jul-18 Black Dot works great but speaker is not the good for mu... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 88
3128 5 30-Jul-18 White Dot Outstanding product - easy to use. works great 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 47
3129 4 30-Jul-18 White Dot We have six of these throughout our home and t... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 352
3130 5 30-Jul-18 Black Dot Use the product for music and it’s great! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 41
3131 5 30-Jul-18 Black Dot Easy to set-up and to use. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 26
3132 5 30-Jul-18 Black Dot It works great!! 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 16
3133 4 30-Jul-18 White Dot I like having more Alexa devices in my house a... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 102
3134 5 30-Jul-18 Black Dot PHENOMENAL 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 10
3135 5 30-Jul-18 White Dot I loved it does exactly what it says 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 36
3136 4 30-Jul-18 Black Dot I used it to control my smart home devices. Wo... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 56
3137 5 30-Jul-18 Black Dot Very convenient 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 15
3138 5 30-Jul-18 White Dot Este producto llegó y a la semana se quedó sin... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 98
3139 5 30-Jul-18 White Dot Easy to set up Ready to use in minutes. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 39
3140 4 30-Jul-18 White Dot Barry 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 5
3141 3 30-Jul-18 Black Dot 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 1
3142 4 30-Jul-18 White Dot My three year old loves it. Good for doing ba... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 117
3143 5 30-Jul-18 Black Dot Awesome device wish I bought one ages ago. 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 42
3144 5 30-Jul-18 Black Dot love it 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 7
3145 5 30-Jul-18 Black Dot Perfect for kids, adults and everyone in betwe... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 50
3146 5 30-Jul-18 Black Dot Listening to music, searching locations, check... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 135
3147 5 30-Jul-18 Black Dot I do love these things, i have them running my... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 441
3148 5 30-Jul-18 White Dot Only complaint I have is that the sound qualit... 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 380
3149 4 29-Jul-18 Black Dot Good 1 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 4

3150 rows × 4050 columns

In [72]:
X = alexa_df.drop(['rating',
                   'date',
                   'variation',
                   'verified_reviews',
                   'feedback'], axis=1)
In [73]:
X.head()
Out[73]:
0 1 2 3 4 5 6 7 8 9 ... 4035 4036 4037 4038 4039 4040 4041 4042 4043 length
0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 13
1 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 9
2 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 195
3 0 0 0 0 0 0 0 0 0 0 ... 1 0 0 0 0 0 0 0 0 172
4 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 5

5 rows × 4045 columns

In [74]:
y = alexa_df['feedback']
In [76]:
y.head()
Out[76]:
0    1
1    1
2    1
3    1
4    1
Name: feedback, dtype: int64
In [77]:
# Create train Test Split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    test_size=0.20,
                                                    random_state = 5,
                                                    stratify=y)
In [78]:
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.ensemble import RandomForestClassifier
In [79]:
randomforest_classifier = RandomForestClassifier(n_estimators = 100, criterion ='entropy')
In [80]:
randomforest_classifier.fit(X_train,y_train)
Out[80]:
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='entropy',
            max_depth=None, max_features='auto', max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=1,
            oob_score=False, random_state=None, verbose=0,
            warm_start=False)
In [81]:
y_predict = randomforest_classifier.predict(X_test)
In [82]:
cm = confusion_matrix(y_test, y_predict)
In [83]:
sns.heatmap(cm, annot =True)
Out[83]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a3c80c400>
In [84]:
print(classification_report(y_test, y_predict))
             precision    recall  f1-score   support

          0       1.00      0.29      0.45        51
          1       0.94      1.00      0.97       579

avg / total       0.95      0.94      0.93       630