The Human Activity Recognition database was built from the recordings of 30 study participants performing activities of daily living (ADL) while carrying a waist-mounted smartphone with embedded inertial sensors. The objective is to classify activities into one of the six activities performed.
The experiments have been carried out with a group of 30 volunteers within an age bracket of 19-48 years. Each person performed six activities (WALKING, WALKINGUPSTAIRS, WALKINGDOWNSTAIRS, SITTING, STANDING, LAYING) wearing a smartphone (Samsung Galaxy S II) on the waist. Using its embedded accelerometer and gyroscope, we captured 3-axial linear acceleration and 3-axial angular velocity at a constant rate of 50Hz. The experiments have been video-recorded to label the data manually. The obtained dataset has been randomly partitioned into two sets, where 70% of the volunteers was selected for generating the training data and 30% the test data.
The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force is assumed to have only low frequency components, therefore a filter with 0.3 Hz cutoff frequency was used. From each window, a vector of features was obtained by calculating variables from the time and frequency domain.
The dataset is obtained from Kaggle
library(ggthemes)
library(magrittr)
library(tidyverse)
library(dplyr)
library(inspectdf)
library(e1071)
library(caret)
library(doParallel)
theme_set(theme_minimal())data <- readRDS("data.rds")glimpse(data)## Rows: 10,299
## Columns: 563
## $ tBodyAcc.mean...X <dbl> 0.2885845, 0.2784188, 0.2796531, ~
## $ tBodyAcc.mean...Y <dbl> -0.020294171, -0.016410568, -0.01~
## $ tBodyAcc.mean...Z <dbl> -0.13290514, -0.12352019, -0.1134~
## $ tBodyAcc.std...X <dbl> -0.9952786, -0.9982453, -0.995379~
## $ tBodyAcc.std...Y <dbl> -0.9831106, -0.9753002, -0.967187~
## $ tBodyAcc.std...Z <dbl> -0.9135264, -0.9603220, -0.978944~
## $ tBodyAcc.mad...X <dbl> -0.9951121, -0.9988072, -0.996519~
## $ tBodyAcc.mad...Y <dbl> -0.9831846, -0.9749144, -0.963668~
## $ tBodyAcc.mad...Z <dbl> -0.9235270, -0.9576862, -0.977468~
## $ tBodyAcc.max...X <dbl> -0.9347238, -0.9430675, -0.938691~
## $ tBodyAcc.max...Y <dbl> -0.5673781, -0.5578513, -0.557851~
## $ tBodyAcc.max...Z <dbl> -0.7444125, -0.8184087, -0.818408~
## $ tBodyAcc.min...X <dbl> 0.8529474, 0.8493079, 0.8436090, ~
## $ tBodyAcc.min...Y <dbl> 0.6858446, 0.6858446, 0.6824009, ~
## $ tBodyAcc.min...Z <dbl> 0.8142628, 0.8226368, 0.8393442, ~
## $ tBodyAcc.sma.. <dbl> -0.9655228, -0.9819301, -0.983477~
## $ tBodyAcc.energy...X <dbl> -0.9999446, -0.9999913, -0.999969~
## $ tBodyAcc.energy...Y <dbl> -0.9998630, -0.9997884, -0.999659~
## $ tBodyAcc.energy...Z <dbl> -0.9946122, -0.9984054, -0.999469~
## $ tBodyAcc.iqr...X <dbl> -0.9942308, -0.9991504, -0.997130~
## $ tBodyAcc.iqr...Y <dbl> -0.9876139, -0.9778655, -0.964809~
## $ tBodyAcc.iqr...Z <dbl> -0.9432200, -0.9482248, -0.974675~
## $ tBodyAcc.entropy...X <dbl> -0.4077471, -0.7148917, -0.592235~
## $ tBodyAcc.entropy...Y <dbl> -0.67933751, -0.50093000, -0.4858~
## $ tBodyAcc.entropy...Z <dbl> -0.60212187, -0.57097906, -0.5709~
## $ tBodyAcc.arCoeff...X.1 <dbl> 0.92929351, 0.61162716, 0.2730248~
## $ tBodyAcc.arCoeff...X.2 <dbl> -0.85301114, -0.32954862, -0.0863~
## $ tBodyAcc.arCoeff...X.3 <dbl> 0.35990976, 0.28421321, 0.3372015~
## $ tBodyAcc.arCoeff...X.4 <dbl> -0.05852638, 0.28459454, -0.16473~
## $ tBodyAcc.arCoeff...Y.1 <dbl> 0.25689154, 0.11570542, 0.0171501~
## $ tBodyAcc.arCoeff...Y.2 <dbl> -0.22484763, -0.09096253, -0.0745~
## $ tBodyAcc.arCoeff...Y.3 <dbl> 0.26410572, 0.29431041, 0.3422563~
## $ tBodyAcc.arCoeff...Y.4 <dbl> -0.09524563, -0.28121057, -0.3325~
## $ tBodyAcc.arCoeff...Z.1 <dbl> 0.27885143, 0.08598843, 0.2392805~
## $ tBodyAcc.arCoeff...Z.2 <dbl> -0.465084570, -0.022152694, -0.13~
## $ tBodyAcc.arCoeff...Z.3 <dbl> 0.49193596, -0.01665654, 0.173863~
## $ tBodyAcc.arCoeff...Z.4 <dbl> -0.190883560, -0.220643500, -0.29~
## $ tBodyAcc.correlation...X.Y <dbl> 0.376313890, -0.013428663, -0.124~
## $ tBodyAcc.correlation...X.Z <dbl> 0.43512919, -0.07269189, -0.18110~
## $ tBodyAcc.correlation...Y.Z <dbl> 0.66079033, 0.57938169, 0.6089001~
## $ tGravityAcc.mean...X <dbl> 0.9633961, 0.9665611, 0.9668781, ~
## $ tGravityAcc.mean...Y <dbl> -0.1408397, -0.1415513, -0.142009~
## $ tGravityAcc.mean...Z <dbl> 0.115374940, 0.109378810, 0.10188~
## $ tGravityAcc.std...X <dbl> -0.9852497, -0.9974113, -0.999574~
## $ tGravityAcc.std...Y <dbl> -0.9817084, -0.9894474, -0.992865~
## $ tGravityAcc.std...Z <dbl> -0.8776250, -0.9316387, -0.992917~
## $ tGravityAcc.mad...X <dbl> -0.9850014, -0.9978836, -0.999635~
## $ tGravityAcc.mad...Y <dbl> -0.9844162, -0.9896137, -0.992604~
## $ tGravityAcc.mad...Z <dbl> -0.8946774, -0.9332404, -0.992934~
## $ tGravityAcc.max...X <dbl> 0.8920545, 0.8920603, 0.8924006, ~
## $ tGravityAcc.max...Y <dbl> -0.1612655, -0.1613426, -0.163711~
## $ tGravityAcc.max...Z <dbl> 0.124659770, 0.122585730, 0.09456~
## $ tGravityAcc.min...X <dbl> 0.9774363, 0.9845201, 0.9867701, ~
## $ tGravityAcc.min...Y <dbl> -0.1232134, -0.1148933, -0.114893~
## $ tGravityAcc.min...Z <dbl> 0.05648273, 0.10276411, 0.1027641~
## $ tGravityAcc.sma.. <dbl> -0.3754260, -0.3834296, -0.401601~
## $ tGravityAcc.energy...X <dbl> 0.8994686, 0.9078289, 0.9086678, ~
## $ tGravityAcc.energy...Y <dbl> -0.9709052, -0.9705828, -0.970368~
## $ tGravityAcc.energy...Z <dbl> -0.9755104, -0.9785004, -0.981672~
## $ tGravityAcc.iqr...X <dbl> -0.9843254, -0.9991884, -0.999679~
## $ tGravityAcc.iqr...Y <dbl> -0.9888491, -0.9900285, -0.992104~
## $ tGravityAcc.iqr...Z <dbl> -0.9177426, -0.9416854, -0.992618~
## $ tGravityAcc.entropy...X <dbl> -1.0000000, -1.0000000, -1.000000~
## $ tGravityAcc.entropy...Y <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ tGravityAcc.entropy...Z <dbl> 0.1138061, -0.2104936, -0.9267763~
## $ tGravityAcc.arCoeff...X.1 <dbl> -0.590425000, -0.410055520, 0.002~
## $ tGravityAcc.arCoeff...X.2 <dbl> 0.59114630, 0.41385634, 0.0274806~
## $ tGravityAcc.arCoeff...X.3 <dbl> -0.59177346, -0.41756716, -0.0567~
## $ tGravityAcc.arCoeff...X.4 <dbl> 0.59246928, 0.42132499, 0.0855332~
## $ tGravityAcc.arCoeff...Y.1 <dbl> -0.745448780, -0.196359290, -0.32~
## $ tGravityAcc.arCoeff...Y.2 <dbl> 0.72086167, 0.12534464, 0.2705002~
## $ tGravityAcc.arCoeff...Y.3 <dbl> -0.71237239, -0.10556772, -0.2544~
## $ tGravityAcc.arCoeff...Y.4 <dbl> 0.71130003, 0.10909013, 0.2575976~
## $ tGravityAcc.arCoeff...Z.1 <dbl> -0.995111590, -0.833882110, -0.70~
## $ tGravityAcc.arCoeff...Z.2 <dbl> 0.995674910, 0.834271100, 0.71439~
## $ tGravityAcc.arCoeff...Z.3 <dbl> -0.99566759, -0.83418438, -0.7232~
## $ tGravityAcc.arCoeff...Z.4 <dbl> 0.99165268, 0.83046390, 0.7287554~
## $ tGravityAcc.correlation...X.Y <dbl> 0.5702216, -0.8312839, -0.1810899~
## $ tGravityAcc.correlation...X.Z <dbl> 0.43902735, -0.86571108, 0.337935~
## $ tGravityAcc.correlation...Y.Z <dbl> 0.9869131, 0.9743856, 0.6434170, ~
## $ tBodyAccJerk.mean...X <dbl> 0.07799634, 0.07400671, 0.0736359~
## $ tBodyAccJerk.mean...Y <dbl> 0.005000803, 0.005771104, 0.00310~
## $ tBodyAccJerk.mean...Z <dbl> -0.0678308080, 0.0293766330, -0.0~
## $ tBodyAccJerk.std...X <dbl> -0.9935191, -0.9955481, -0.990742~
## $ tBodyAccJerk.std...Y <dbl> -0.9883600, -0.9810636, -0.980955~
## $ tBodyAccJerk.std...Z <dbl> -0.9935750, -0.9918457, -0.989686~
## $ tBodyAccJerk.mad...X <dbl> -0.9944876, -0.9956320, -0.990932~
## $ tBodyAccJerk.mad...Y <dbl> -0.9862066, -0.9789380, -0.979300~
## $ tBodyAccJerk.mad...Z <dbl> -0.9928183, -0.9912766, -0.987238~
## $ tBodyAccJerk.max...X <dbl> -0.9851801, -0.9945447, -0.987077~
## $ tBodyAccJerk.max...Y <dbl> -0.9919942, -0.9790682, -0.979068~
## $ tBodyAccJerk.max...Z <dbl> -0.9931189, -0.9922574, -0.992257~
## $ tBodyAccJerk.min...X <dbl> 0.9898347, 0.9925771, 0.9883902, ~
## $ tBodyAccJerk.min...Y <dbl> 0.9919569, 0.9918084, 0.9918084, ~
## $ tBodyAccJerk.min...Z <dbl> 0.9905192, 0.9885391, 0.9885391, ~
## $ tBodyAccJerk.sma.. <dbl> -0.9935220, -0.9913937, -0.988147~
## $ tBodyAccJerk.energy...X <dbl> -0.9999349, -0.9999597, -0.999894~
## $ tBodyAccJerk.energy...Y <dbl> -0.9998204, -0.9996396, -0.999636~
## $ tBodyAccJerk.energy...Z <dbl> -0.9998785, -0.9998454, -0.999795~
## $ tBodyAccJerk.iqr...X <dbl> -0.9943640, -0.9938627, -0.987845~
## $ tBodyAccJerk.iqr...Y <dbl> -0.9860249, -0.9794351, -0.980144~
## $ tBodyAccJerk.iqr...Z <dbl> -0.9892336, -0.9933838, -0.981910~
## $ tBodyAccJerk.entropy...X <dbl> -0.8199492, -0.8750964, -0.753628~
## $ tBodyAccJerk.entropy...Y <dbl> -0.7930464, -0.6553621, -0.673273~
## $ tBodyAccJerk.entropy...Z <dbl> -0.8888529, -0.7673809, -0.747106~
## $ tBodyAccJerk.arCoeff...X.1 <dbl> 1.0000000, 0.4896622, 0.2652248, ~
## $ tBodyAccJerk.arCoeff...X.2 <dbl> -0.22074703, 0.07099708, 0.188394~
## $ tBodyAccJerk.arCoeff...X.3 <dbl> 0.63683075, 0.36271450, 0.4645834~
## $ tBodyAccJerk.arCoeff...X.4 <dbl> 0.38764356, 0.52730342, 0.3717178~
## $ tBodyAccJerk.arCoeff...Y.1 <dbl> 0.24140146, 0.14939565, 0.0826648~
## $ tBodyAccJerk.arCoeff...Y.2 <dbl> -0.052252848, 0.062925097, -0.004~
## $ tBodyAccJerk.arCoeff...Y.3 <dbl> 0.26417720, 0.37049343, 0.3274702~
## $ tBodyAccJerk.arCoeff...Y.4 <dbl> 0.37343945, 0.41354814, 0.4376231~
## $ tBodyAccJerk.arCoeff...Z.1 <dbl> 0.34177752, 0.12221568, 0.2578908~
## $ tBodyAccJerk.arCoeff...Z.2 <dbl> -0.56979119, 0.18061304, 0.070029~
## $ tBodyAccJerk.arCoeff...Z.3 <dbl> 0.265398820, 0.047423999, 0.18697~
## $ tBodyAccJerk.arCoeff...Z.4 <dbl> -0.4778749, 0.1665727, 0.2467997,~
## $ tBodyAccJerk.correlation...X.Y <dbl> -0.385300500, -0.208772180, -0.12~
## $ tBodyAccJerk.correlation...X.Z <dbl> 0.03364394, 0.08410380, -0.110025~
## $ tBodyAccJerk.correlation...Y.Z <dbl> -0.126510820, -0.268553900, -0.03~
## $ tBodyGyro.mean...X <dbl> -0.006100849, -0.016111620, -0.03~
## $ tBodyGyro.mean...Y <dbl> -0.03136479, -0.08389378, -0.1023~
## $ tBodyGyro.mean...Z <dbl> 0.10772540, 0.10058429, 0.0961268~
## $ tBodyGyro.std...X <dbl> -0.9853103, -0.9831200, -0.976292~
## $ tBodyGyro.std...Y <dbl> -0.9766234, -0.9890458, -0.993551~
## $ tBodyGyro.std...Z <dbl> -0.9922053, -0.9891212, -0.986378~
## $ tBodyGyro.mad...X <dbl> -0.9845863, -0.9868904, -0.974921~
## $ tBodyGyro.mad...Y <dbl> -0.9763526, -0.9890380, -0.994122~
## $ tBodyGyro.mad...Z <dbl> -0.9923616, -0.9891846, -0.985786~
## $ tBodyGyro.max...X <dbl> -0.8670437, -0.8649038, -0.864903~
## $ tBodyGyro.max...Y <dbl> -0.9337860, -0.9535605, -0.959049~
## $ tBodyGyro.max...Z <dbl> -0.7475662, -0.7458700, -0.743277~
## $ tBodyGyro.min...X <dbl> 0.8473080, 0.8337211, 0.8337211, ~
## $ tBodyGyro.min...Y <dbl> 0.9148953, 0.9081096, 0.9057528, ~
## $ tBodyGyro.min...Z <dbl> 0.8308405, 0.8289350, 0.8289350, ~
## $ tBodyGyro.sma.. <dbl> -0.9671843, -0.9806131, -0.976280~
## $ tBodyGyro.energy...X <dbl> -0.9995783, -0.9997558, -0.999693~
## $ tBodyGyro.energy...Y <dbl> -0.9993543, -0.9998973, -0.999828~
## $ tBodyGyro.energy...Z <dbl> -0.9997634, -0.9998224, -0.999821~
## $ tBodyGyro.iqr...X <dbl> -0.9834381, -0.9928328, -0.972353~
## $ tBodyGyro.iqr...Y <dbl> -0.9786140, -0.9893447, -0.995144~
## $ tBodyGyro.iqr...Z <dbl> -0.9929656, -0.9902402, -0.986831~
## $ tBodyGyro.entropy...X <dbl> 0.082631682, 0.007469356, -0.2609~
## $ tBodyGyro.entropy...Y <dbl> 0.20226765, -0.53115659, -1.00000~
## $ tBodyGyro.entropy...Z <dbl> -0.1687567, -0.1774446, -0.248370~
## $ tBodyGyro.arCoeff...X.1 <dbl> 0.09632324, -0.38768063, -0.43715~
## $ tBodyGyro.arCoeff...X.2 <dbl> -0.27498511, 0.17913763, 0.238981~
## $ tBodyGyro.arCoeff...X.3 <dbl> 0.49864419, 0.21078900, 0.1452377~
## $ tBodyGyro.arCoeff...X.4 <dbl> -0.22031685, -0.14025958, -0.1139~
## $ tBodyGyro.arCoeff...Y.1 <dbl> 1.000000000, -0.047031809, 0.0323~
## $ tBodyGyro.arCoeff...Y.2 <dbl> -0.97297139, -0.06494907, -0.1278~
## $ tBodyGyro.arCoeff...Y.3 <dbl> 0.31665451, 0.11768661, 0.1149242~
## $ tBodyGyro.arCoeff...Y.4 <dbl> 0.375726410, 0.081691287, 0.12539~
## $ tBodyGyro.arCoeff...Z.1 <dbl> 0.72339919, 0.04236404, 0.1120920~
## $ tBodyGyro.arCoeff...Z.2 <dbl> -0.77111201, -0.14992836, -0.1656~
## $ tBodyGyro.arCoeff...Z.3 <dbl> 0.69021323, 0.29261893, 0.1345544~
## $ tBodyGyro.arCoeff...Z.4 <dbl> -0.331831040, -0.149429350, 0.184~
## $ tBodyGyro.correlation...X.Y <dbl> 0.709583770, 0.046721243, -0.0101~
## $ tBodyGyro.correlation...X.Z <dbl> 0.134873360, -0.256929400, 0.0433~
## $ tBodyGyro.correlation...Y.Z <dbl> 0.30109948, 0.16939480, -0.350646~
## $ tBodyGyroJerk.mean...X <dbl> -0.09916740, -0.11050283, -0.1084~
## $ tBodyGyroJerk.mean...Y <dbl> -0.05551737, -0.04481873, -0.0424~
## $ tBodyGyroJerk.mean...Z <dbl> -0.061985797, -0.059242822, -0.05~
## $ tBodyGyroJerk.std...X <dbl> -0.9921107, -0.9898726, -0.988461~
## $ tBodyGyroJerk.std...Y <dbl> -0.9925193, -0.9972926, -0.995632~
## $ tBodyGyroJerk.std...Z <dbl> -0.9920553, -0.9938510, -0.991531~
## $ tBodyGyroJerk.mad...X <dbl> -0.9921648, -0.9898762, -0.987868~
## $ tBodyGyroJerk.mad...Y <dbl> -0.9949416, -0.9974917, -0.995725~
## $ tBodyGyroJerk.mad...Z <dbl> -0.9926190, -0.9937783, -0.991596~
## $ tBodyGyroJerk.max...X <dbl> -0.9901558, -0.9919469, -0.993359~
## $ tBodyGyroJerk.max...Y <dbl> -0.9867428, -0.9977171, -0.993800~
## $ tBodyGyroJerk.max...Z <dbl> -0.9920416, -0.9949208, -0.988963~
## $ tBodyGyroJerk.min...X <dbl> 0.9944288, 0.9904860, 0.9892905, ~
## $ tBodyGyroJerk.min...Y <dbl> 0.9917558, 0.9971222, 0.9971222, ~
## $ tBodyGyroJerk.min...Z <dbl> 0.9893519, 0.9945031, 0.9941426, ~
## $ tBodyGyroJerk.sma.. <dbl> -0.9944534, -0.9952984, -0.993414~
## $ tBodyGyroJerk.energy...X <dbl> -0.9999375, -0.9999077, -0.999887~
## $ tBodyGyroJerk.energy...Y <dbl> -0.9999535, -0.9999897, -0.999979~
## $ tBodyGyroJerk.energy...Z <dbl> -0.9999229, -0.9999459, -0.999915~
## $ tBodyGyroJerk.iqr...X <dbl> -0.9922997, -0.9907418, -0.987130~
## $ tBodyGyroJerk.iqr...Y <dbl> -0.9969389, -0.9973013, -0.995427~
## $ tBodyGyroJerk.iqr...Z <dbl> -0.9922430, -0.9938078, -0.992775~
## $ tBodyGyroJerk.entropy...X <dbl> -0.5898510, -0.6009445, -0.543634~
## $ tBodyGyroJerk.entropy...Y <dbl> -0.6884590, -0.7482472, -0.672957~
## $ tBodyGyroJerk.entropy...Z <dbl> -0.5721069, -0.6089321, -0.588410~
## $ tBodyGyroJerk.arCoeff...X.1 <dbl> 0.292376340, -0.193307570, -0.241~
## $ tBodyGyroJerk.arCoeff...X.2 <dbl> -0.361998020, -0.067406458, -0.01~
## $ tBodyGyroJerk.arCoeff...X.3 <dbl> 0.4055426900, 0.1856190700, 0.116~
## $ tBodyGyroJerk.arCoeff...X.4 <dbl> -0.039006951, 0.041521811, 0.0896~
## $ tBodyGyroJerk.arCoeff...Y.1 <dbl> 0.98928381, 0.07235255, 0.0959860~
## $ tBodyGyroJerk.arCoeff...Y.2 <dbl> -0.414560480, -0.035377727, 0.009~
## $ tBodyGyroJerk.arCoeff...Y.3 <dbl> 0.391602510, 0.177606360, 0.09512~
## $ tBodyGyroJerk.arCoeff...Y.4 <dbl> 0.282250870, 0.027498054, 0.25288~
## $ tBodyGyroJerk.arCoeff...Z.1 <dbl> 0.92726984, 0.18270272, 0.1816488~
## $ tBodyGyroJerk.arCoeff...Z.2 <dbl> -0.57237001, -0.16745740, -0.1693~
## $ tBodyGyroJerk.arCoeff...Z.3 <dbl> 0.691619200, 0.253251030, 0.13200~
## $ tBodyGyroJerk.arCoeff...Z.4 <dbl> 0.468289820, 0.132333860, 0.00819~
## $ tBodyGyroJerk.correlation...X.Y <dbl> -0.131076970, 0.293855350, 0.1933~
## $ tBodyGyroJerk.correlation...X.Z <dbl> -0.087159695, -0.018075169, 0.073~
## $ tBodyGyroJerk.correlation...Y.Z <dbl> 0.33624748, -0.34333678, -0.31485~
## $ tBodyAccMag.mean.. <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tBodyAccMag.std.. <dbl> -0.9505515, -0.9760571, -0.988019~
## $ tBodyAccMag.mad.. <dbl> -0.9579929, -0.9782473, -0.988326~
## $ tBodyAccMag.max.. <dbl> -0.9463052, -0.9787115, -0.986496~
## $ tBodyAccMag.min.. <dbl> -0.9925557, -0.9953329, -0.995332~
## $ tBodyAccMag.sma.. <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tBodyAccMag.energy.. <dbl> -0.9984928, -0.9994880, -0.999682~
## $ tBodyAccMag.iqr.. <dbl> -0.9576374, -0.9812483, -0.985766~
## $ tBodyAccMag.entropy.. <dbl> -0.23258164, -0.44187611, -0.5999~
## $ tBodyAccMag.arCoeff..1 <dbl> -0.17317874, 0.08156863, 0.038049~
## $ tBodyAccMag.arCoeff..2 <dbl> -0.02289666, -0.10936606, -0.0742~
## $ tBodyAccMag.arCoeff..3 <dbl> 0.0948315680, 0.3117577100, 0.254~
## $ tBodyAccMag.arCoeff..4 <dbl> 0.19181715, -0.41167480, -0.29612~
## $ tGravityAccMag.mean.. <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tGravityAccMag.std.. <dbl> -0.9505515, -0.9760571, -0.988019~
## $ tGravityAccMag.mad.. <dbl> -0.9579929, -0.9782473, -0.988326~
## $ tGravityAccMag.max.. <dbl> -0.9463052, -0.9787115, -0.986496~
## $ tGravityAccMag.min.. <dbl> -0.9925557, -0.9953329, -0.995332~
## $ tGravityAccMag.sma.. <dbl> -0.9594339, -0.9792892, -0.983703~
## $ tGravityAccMag.energy.. <dbl> -0.9984928, -0.9994880, -0.999682~
## $ tGravityAccMag.iqr.. <dbl> -0.9576374, -0.9812483, -0.985766~
## $ tGravityAccMag.entropy.. <dbl> -0.23258164, -0.44187611, -0.5999~
## $ tGravityAccMag.arCoeff..1 <dbl> -0.17317874, 0.08156863, 0.038049~
## $ tGravityAccMag.arCoeff..2 <dbl> -0.02289666, -0.10936606, -0.0742~
## $ tGravityAccMag.arCoeff..3 <dbl> 0.0948315680, 0.3117577100, 0.254~
## $ tGravityAccMag.arCoeff..4 <dbl> 0.19181715, -0.41167480, -0.29612~
## $ tBodyAccJerkMag.mean.. <dbl> -0.9933059, -0.9912535, -0.988531~
## $ tBodyAccJerkMag.std.. <dbl> -0.9943364, -0.9916944, -0.990396~
## $ tBodyAccJerkMag.mad.. <dbl> -0.9945004, -0.9927160, -0.990650~
## $ tBodyAccJerkMag.max.. <dbl> -0.9927840, -0.9886606, -0.988660~
## $ tBodyAccJerkMag.min.. <dbl> -0.9912085, -0.9912085, -0.993012~
## $ tBodyAccJerkMag.sma.. <dbl> -0.9933059, -0.9912535, -0.988531~
## $ tBodyAccJerkMag.energy.. <dbl> -0.9998919, -0.9998454, -0.999789~
## $ tBodyAccJerkMag.iqr.. <dbl> -0.9929337, -0.9934851, -0.989983~
## $ tBodyAccJerkMag.entropy.. <dbl> -0.8634148, -0.8199283, -0.794884~
## $ tBodyAccJerkMag.arCoeff..1 <dbl> 0.28308522, 0.45881205, 0.6497038~
## $ tBodyAccJerkMag.arCoeff..2 <dbl> -0.23730869, -0.24494134, -0.2600~
## $ tBodyAccJerkMag.arCoeff..3 <dbl> -0.105432190, 0.056139272, -0.128~
## $ tBodyAccJerkMag.arCoeff..4 <dbl> -0.038212313, -0.458345680, -0.52~
## $ tBodyGyroMag.mean.. <dbl> -0.9689591, -0.9806831, -0.976317~
## $ tBodyGyroMag.std.. <dbl> -0.9643352, -0.9837542, -0.986051~
## $ tBodyGyroMag.mad.. <dbl> -0.9572448, -0.9820027, -0.984457~
## $ tBodyGyroMag.max.. <dbl> -0.9750599, -0.9847146, -0.984714~
## $ tBodyGyroMag.min.. <dbl> -0.9915537, -0.9915537, -0.966192~
## $ tBodyGyroMag.sma.. <dbl> -0.9689591, -0.9806831, -0.976317~
## $ tBodyGyroMag.energy.. <dbl> -0.9992865, -0.9997247, -0.999640~
## $ tBodyGyroMag.iqr.. <dbl> -0.9497658, -0.9828568, -0.983454~
## $ tBodyGyroMag.entropy.. <dbl> 0.07257904, -0.19289906, -0.22282~
## $ tBodyGyroMag.arCoeff..1 <dbl> 0.57251142, -0.22531738, -0.22683~
## $ tBodyGyroMag.arCoeff..2 <dbl> -0.738602190, -0.017059623, 0.059~
## $ tBodyGyroMag.arCoeff..3 <dbl> 0.21257776, 0.15577724, 0.0614761~
## $ tBodyGyroMag.arCoeff..4 <dbl> 0.43340495, 0.08257521, 0.0417021~
## $ tBodyGyroJerkMag.mean.. <dbl> -0.9942478, -0.9951232, -0.993403~
## $ tBodyGyroJerkMag.std.. <dbl> -0.9913676, -0.9961016, -0.995091~
## $ tBodyGyroJerkMag.mad.. <dbl> -0.9931430, -0.9958385, -0.994859~
## $ tBodyGyroJerkMag.max.. <dbl> -0.9889356, -0.9965449, -0.995359~
## $ tBodyGyroJerkMag.min.. <dbl> -0.9934860, -0.9920060, -0.997651~
## $ tBodyGyroJerkMag.sma.. <dbl> -0.9942478, -0.9951232, -0.993403~
## $ tBodyGyroJerkMag.energy.. <dbl> -0.9999490, -0.9999698, -0.999954~
## $ tBodyGyroJerkMag.iqr.. <dbl> -0.9945472, -0.9948192, -0.993988~
## $ tBodyGyroJerkMag.entropy.. <dbl> -0.6197676, -0.7307216, -0.662913~
## $ tBodyGyroJerkMag.arCoeff..1 <dbl> 0.2928405, 0.2093341, 0.3280315, ~
## $ tBodyGyroJerkMag.arCoeff..2 <dbl> -0.1768892, -0.1781126, -0.154560~
## $ tBodyGyroJerkMag.arCoeff..3 <dbl> -0.145779210, -0.103084330, -0.22~
## $ tBodyGyroJerkMag.arCoeff..4 <dbl> -0.124072330, -0.043823965, -0.10~
## $ fBodyAcc.mean...X <dbl> -0.9947832, -0.9974507, -0.993594~
## $ fBodyAcc.mean...Y <dbl> -0.9829841, -0.9768517, -0.972511~
## $ fBodyAcc.mean...Z <dbl> -0.9392687, -0.9735227, -0.983304~
## $ fBodyAcc.std...X <dbl> -0.9954217, -0.9986803, -0.996312~
## $ fBodyAcc.std...Y <dbl> -0.9831330, -0.9749298, -0.965505~
## $ fBodyAcc.std...Z <dbl> -0.9061650, -0.9554381, -0.977049~
## $ fBodyAcc.mad...X <dbl> -0.9968886, -0.9978897, -0.994097~
## $ fBodyAcc.mad...Y <dbl> -0.9845193, -0.9769239, -0.971686~
## $ fBodyAcc.mad...Z <dbl> -0.9320820, -0.9683768, -0.982169~
## $ fBodyAcc.max...X <dbl> -0.9937563, -0.9993717, -0.998158~
## $ fBodyAcc.max...Y <dbl> -0.9831629, -0.9737703, -0.963071~
## $ fBodyAcc.max...Z <dbl> -0.8850542, -0.9487768, -0.968595~
## $ fBodyAcc.min...X <dbl> -0.9939619, -0.9982806, -0.997093~
## $ fBodyAcc.min...Y <dbl> -0.9934461, -0.9927209, -0.989923~
## $ fBodyAcc.min...Z <dbl> -0.9234277, -0.9895135, -0.990885~
## $ fBodyAcc.sma.. <dbl> -0.9747327, -0.9858116, -0.985821~
## $ fBodyAcc.energy...X <dbl> -0.9999684, -0.9999908, -0.999969~
## $ fBodyAcc.energy...Y <dbl> -0.9996891, -0.9994499, -0.999137~
## $ fBodyAcc.energy...Z <dbl> -0.9948915, -0.9985691, -0.999433~
## $ fBodyAcc.iqr...X <dbl> -0.9959260, -0.9948649, -0.988569~
## $ fBodyAcc.iqr...Y <dbl> -0.9897089, -0.9807836, -0.977242~
## $ fBodyAcc.iqr...Z <dbl> -0.9879912, -0.9857747, -0.981301~
## $ fBodyAcc.entropy...X <dbl> -0.9463569, -1.0000000, -1.000000~
## $ fBodyAcc.entropy...Y <dbl> -0.9047478, -0.9047478, -0.815786~
## $ fBodyAcc.entropy...Z <dbl> -0.5913025, -0.7584085, -0.813513~
## $ fBodyAcc.maxInds.X <dbl> -1.00000000, 0.09677419, -0.93548~
## $ fBodyAcc.maxInds.Y <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAcc.maxInds.Z <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAcc.meanFreq...X <dbl> 0.252482900, 0.271308550, 0.12453~
## $ fBodyAcc.meanFreq...Y <dbl> 0.13183575, 0.04286364, -0.064610~
## $ fBodyAcc.meanFreq...Z <dbl> -0.05205025, -0.01430976, 0.08267~
## $ fBodyAcc.skewness...X <dbl> 0.1420506, -0.6925409, -0.7272273~
## $ fBodyAcc.kurtosis...X <dbl> -0.15068250, -0.95404703, -0.9654~
## $ fBodyAcc.skewness...Y <dbl> -0.22054694, -0.04970910, 0.16306~
## $ fBodyAcc.kurtosis...Y <dbl> -0.55873853, -0.33197386, -0.0921~
## $ fBodyAcc.skewness...Z <dbl> 0.24676868, 0.05667537, -0.044936~
## $ fBodyAcc.kurtosis...Z <dbl> -0.007415521, -0.289001440, -0.28~
## $ fBodyAcc.bandsEnergy...1.8 <dbl> -0.9999628, -0.9999962, -0.999989~
## $ fBodyAcc.bandsEnergy...9.16 <dbl> -0.9999865, -0.9999818, -0.999961~
## $ fBodyAcc.bandsEnergy...17.24 <dbl> -0.9999791, -0.9999440, -0.999815~
## $ fBodyAcc.bandsEnergy...25.32 <dbl> -0.9999624, -0.9999699, -0.999847~
## $ fBodyAcc.bandsEnergy...33.40 <dbl> -0.9999322, -0.9999189, -0.999939~
## $ fBodyAcc.bandsEnergy...41.48 <dbl> -0.9997251, -0.9998657, -0.999921~
## $ fBodyAcc.bandsEnergy...49.56 <dbl> -0.9996704, -0.9999651, -0.999923~
## $ fBodyAcc.bandsEnergy...57.64 <dbl> -0.9999858, -0.9999995, -0.999996~
## $ fBodyAcc.bandsEnergy...1.16 <dbl> -0.9999687, -0.9999939, -0.999982~
## $ fBodyAcc.bandsEnergy...17.32 <dbl> -0.9999769, -0.9999490, -0.999802~
## $ fBodyAcc.bandsEnergy...33.48 <dbl> -0.9998697, -0.9999140, -0.999947~
## $ fBodyAcc.bandsEnergy...49.64 <dbl> -0.9997761, -0.9999766, -0.999947~
## $ fBodyAcc.bandsEnergy...1.24 <dbl> -0.9999712, -0.9999921, -0.999972~
## $ fBodyAcc.bandsEnergy...25.48 <dbl> -0.9999193, -0.9999459, -0.999874~
## $ fBodyAcc.bandsEnergy...1.8.1 <dbl> -0.9996568, -0.9994166, -0.999006~
## $ fBodyAcc.bandsEnergy...9.16.1 <dbl> -0.9998605, -0.9998133, -0.999715~
## $ fBodyAcc.bandsEnergy...17.24.1 <dbl> -0.9998670, -0.9995686, -0.999657~
## $ fBodyAcc.bandsEnergy...25.32.1 <dbl> -0.9998630, -0.9998737, -0.999817~
## $ fBodyAcc.bandsEnergy...33.40.1 <dbl> -0.9997378, -0.9995489, -0.999635~
## $ fBodyAcc.bandsEnergy...41.48.1 <dbl> -0.9997322, -0.9997371, -0.999678~
## $ fBodyAcc.bandsEnergy...49.56.1 <dbl> -0.9994926, -0.9995658, -0.999615~
## $ fBodyAcc.bandsEnergy...57.64.1 <dbl> -0.9998136, -0.9999053, -0.999879~
## $ fBodyAcc.bandsEnergy...1.16.1 <dbl> -0.9996818, -0.9994735, -0.999108~
## $ fBodyAcc.bandsEnergy...17.32.1 <dbl> -0.9998394, -0.9995542, -0.999624~
## $ fBodyAcc.bandsEnergy...33.48.1 <dbl> -0.9997382, -0.9996020, -0.999643~
## $ fBodyAcc.bandsEnergy...49.64.1 <dbl> -0.9996120, -0.9996953, -0.999715~
## $ fBodyAcc.bandsEnergy...1.24.1 <dbl> -0.9996872, -0.9994442, -0.999126~
## $ fBodyAcc.bandsEnergy...25.48.1 <dbl> -0.9998386, -0.9998042, -0.999775~
## $ fBodyAcc.bandsEnergy...1.8.2 <dbl> -0.9935923, -0.9982346, -0.999388~
## $ fBodyAcc.bandsEnergy...9.16.2 <dbl> -0.9994758, -0.9997692, -0.999724~
## $ fBodyAcc.bandsEnergy...17.24.2 <dbl> -0.9996620, -0.9996922, -0.999718~
## $ fBodyAcc.bandsEnergy...25.32.2 <dbl> -0.9996423, -0.9998749, -0.999798~
## $ fBodyAcc.bandsEnergy...33.40.2 <dbl> -0.9992934, -0.9996656, -0.999752~
## $ fBodyAcc.bandsEnergy...41.48.2 <dbl> -0.9978922, -0.9994483, -0.999629~
## $ fBodyAcc.bandsEnergy...49.56.2 <dbl> -0.9959325, -0.9989302, -0.999686~
## $ fBodyAcc.bandsEnergy...57.64.2 <dbl> -0.9951464, -0.9987544, -0.999911~
## $ fBodyAcc.bandsEnergy...1.16.2 <dbl> -0.9947399, -0.9985456, -0.999453~
## $ fBodyAcc.bandsEnergy...17.32.2 <dbl> -0.9996883, -0.9997918, -0.999780~
## $ fBodyAcc.bandsEnergy...33.48.2 <dbl> -0.9989246, -0.9996312, -0.999748~
## $ fBodyAcc.bandsEnergy...49.64.2 <dbl> -0.9956713, -0.9988775, -0.999760~
## $ fBodyAcc.bandsEnergy...1.24.2 <dbl> -0.9948773, -0.9985534, -0.999434~
## $ fBodyAcc.bandsEnergy...25.48.2 <dbl> -0.9994544, -0.9998221, -0.999800~
## $ fBodyAccJerk.mean...X <dbl> -0.9923325, -0.9950322, -0.990993~
## $ fBodyAccJerk.mean...Y <dbl> -0.9871699, -0.9813115, -0.981642~
## $ fBodyAccJerk.mean...Z <dbl> -0.9896961, -0.9897398, -0.987566~
## $ fBodyAccJerk.std...X <dbl> -0.9958207, -0.9966523, -0.991248~
## $ fBodyAccJerk.std...Y <dbl> -0.9909363, -0.9820839, -0.981414~
## $ fBodyAccJerk.std...Z <dbl> -0.9970517, -0.9926268, -0.990415~
## $ fBodyAccJerk.mad...X <dbl> -0.9938055, -0.9949767, -0.987751~
## $ fBodyAccJerk.mad...Y <dbl> -0.9905187, -0.9829295, -0.981091~
## $ fBodyAccJerk.mad...Z <dbl> -0.9969928, -0.9916414, -0.987723~
## $ fBodyAccJerk.max...X <dbl> -0.9967369, -0.9974245, -0.995163~
## $ fBodyAccJerk.max...Y <dbl> -0.9919752, -0.9849232, -0.985350~
## $ fBodyAccJerk.max...Z <dbl> -0.9932417, -0.9931870, -0.993911~
## $ fBodyAccJerk.min...X <dbl> -0.9983491, -0.9979168, -0.997482~
## $ fBodyAccJerk.min...Y <dbl> -0.9911084, -0.9825186, -0.998571~
## $ fBodyAccJerk.min...Z <dbl> -0.9598854, -0.9868384, -0.997554~
## $ fBodyAccJerk.sma.. <dbl> -0.9905150, -0.9898509, -0.987237~
## $ fBodyAccJerk.energy...X <dbl> -0.9999347, -0.9999596, -0.999894~
## $ fBodyAccJerk.energy...Y <dbl> -0.9998205, -0.9996396, -0.999636~
## $ fBodyAccJerk.energy...Z <dbl> -0.9998845, -0.9998466, -0.999795~
## $ fBodyAccJerk.iqr...X <dbl> -0.9930263, -0.9928434, -0.981816~
## $ fBodyAccJerk.iqr...Y <dbl> -0.9913734, -0.9852207, -0.984764~
## $ fBodyAccJerk.iqr...Z <dbl> -0.9962396, -0.9910493, -0.982364~
## $ fBodyAccJerk.entropy...X <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyAccJerk.entropy...Y <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyAccJerk.entropy...Z <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyAccJerk.maxInds.X <dbl> 1.00, -0.32, -0.16, -0.12, -0.32,~
## $ fBodyAccJerk.maxInds.Y <dbl> -0.24, -0.12, -0.48, -0.56, -0.08~
## $ fBodyAccJerk.maxInds.Z <dbl> -1.00, -0.32, -0.28, -0.28, 0.04,~
## $ fBodyAccJerk.meanFreq...X <dbl> 0.87038451, 0.60851352, 0.1154340~
## $ fBodyAccJerk.meanFreq...Y <dbl> 0.210697000, -0.053675613, -0.193~
## $ fBodyAccJerk.meanFreq...Z <dbl> 0.26370789, 0.06314827, 0.0382543~
## $ fBodyAccJerk.skewness...X <dbl> -0.7036858, -0.6303049, -0.594758~
## $ fBodyAccJerk.kurtosis...X <dbl> -0.9037425, -0.9103945, -0.923541~
## $ fBodyAccJerk.skewness...Y <dbl> -0.5825736, -0.4144235, -0.528934~
## $ fBodyAccJerk.kurtosis...Y <dbl> -0.9363101, -0.8505864, -0.912985~
## $ fBodyAccJerk.skewness...Z <dbl> -0.5073447, -0.6555347, -0.803406~
## $ fBodyAccJerk.kurtosis...Z <dbl> -0.8055359, -0.9159869, -0.980133~
## $ fBodyAccJerk.bandsEnergy...1.8 <dbl> -0.9999865, -0.9999963, -0.999993~
## $ fBodyAccJerk.bandsEnergy...9.16 <dbl> -0.9999796, -0.9999797, -0.999944~
## $ fBodyAccJerk.bandsEnergy...17.24 <dbl> -0.9999748, -0.9999489, -0.999827~
## $ fBodyAccJerk.bandsEnergy...25.32 <dbl> -0.9999551, -0.9999683, -0.999841~
## $ fBodyAccJerk.bandsEnergy...33.40 <dbl> -0.9999186, -0.9999101, -0.999922~
## $ fBodyAccJerk.bandsEnergy...41.48 <dbl> -0.9996401, -0.9998137, -0.999905~
## $ fBodyAccJerk.bandsEnergy...49.56 <dbl> -0.9994833, -0.9999203, -0.999873~
## $ fBodyAccJerk.bandsEnergy...57.64 <dbl> -0.9999609, -0.9999607, -0.999996~
## $ fBodyAccJerk.bandsEnergy...1.16 <dbl> -0.9999823, -0.9999867, -0.999962~
## $ fBodyAccJerk.bandsEnergy...17.32 <dbl> -0.9999707, -0.9999560, -0.999803~
## $ fBodyAccJerk.bandsEnergy...33.48 <dbl> -0.9998110, -0.9998767, -0.999922~
## $ fBodyAccJerk.bandsEnergy...49.64 <dbl> -0.9994847, -0.9999141, -0.999875~
## $ fBodyAccJerk.bandsEnergy...1.24 <dbl> -0.9999808, -0.9999744, -0.999908~
## $ fBodyAccJerk.bandsEnergy...25.48 <dbl> -0.9998519, -0.9999058, -0.999843~
## $ fBodyAccJerk.bandsEnergy...1.8.1 <dbl> -0.9999326, -0.9998610, -0.999820~
## $ fBodyAccJerk.bandsEnergy...9.16.1 <dbl> -0.9998999, -0.9998272, -0.999743~
## $ fBodyAccJerk.bandsEnergy...17.24.1 <dbl> -0.9998244, -0.9994565, -0.999559~
## $ fBodyAccJerk.bandsEnergy...25.32.1 <dbl> -0.9998598, -0.9998303, -0.999838~
## $ fBodyAccJerk.bandsEnergy...33.40.1 <dbl> -0.9997275, -0.9996093, -0.999667~
## $ fBodyAccJerk.bandsEnergy...41.48.1 <dbl> -0.9997288, -0.9996855, -0.999627~
## $ fBodyAccJerk.bandsEnergy...49.56.1 <dbl> -0.9995671, -0.9995761, -0.999703~
## $ fBodyAccJerk.bandsEnergy...57.64.1 <dbl> -0.9997652, -0.9999370, -0.999993~
## $ fBodyAccJerk.bandsEnergy...1.16.1 <dbl> -0.9999002, -0.9998174, -0.999732~
## $ fBodyAccJerk.bandsEnergy...17.32.1 <dbl> -0.9998149, -0.9995325, -0.999611~
## $ fBodyAccJerk.bandsEnergy...33.48.1 <dbl> -0.9997098, -0.9995952, -0.999617~
## $ fBodyAccJerk.bandsEnergy...49.64.1 <dbl> -0.9995961, -0.9996257, -0.999744~
## $ fBodyAccJerk.bandsEnergy...1.24.1 <dbl> -0.9998522, -0.9996299, -0.999613~
## $ fBodyAccJerk.bandsEnergy...25.48.1 <dbl> -0.9998221, -0.9997593, -0.999773~
## $ fBodyAccJerk.bandsEnergy...1.8.2 <dbl> -0.9993999, -0.9998589, -0.999870~
## $ fBodyAccJerk.bandsEnergy...9.16.2 <dbl> -0.9997656, -0.9998465, -0.999783~
## $ fBodyAccJerk.bandsEnergy...17.24.2 <dbl> -0.9999585, -0.9997949, -0.999739~
## $ fBodyAccJerk.bandsEnergy...25.32.2 <dbl> -0.9999495, -0.9998009, -0.999786~
## $ fBodyAccJerk.bandsEnergy...33.40.2 <dbl> -0.9998385, -0.9998193, -0.999772~
## $ fBodyAccJerk.bandsEnergy...41.48.2 <dbl> -0.9998135, -0.9997692, -0.999626~
## $ fBodyAccJerk.bandsEnergy...49.56.2 <dbl> -0.9987805, -0.9996370, -0.999487~
## $ fBodyAccJerk.bandsEnergy...57.64.2 <dbl> -0.9985778, -0.9999545, -0.999995~
## $ fBodyAccJerk.bandsEnergy...1.16.2 <dbl> -0.9996197, -0.9998519, -0.999802~
## $ fBodyAccJerk.bandsEnergy...17.32.2 <dbl> -0.9999836, -0.9998273, -0.999792~
## $ fBodyAccJerk.bandsEnergy...33.48.2 <dbl> -0.9998281, -0.9998001, -0.999720~
## $ fBodyAccJerk.bandsEnergy...49.64.2 <dbl> -0.9986807, -0.9996510, -0.999513~
## $ fBodyAccJerk.bandsEnergy...1.24.2 <dbl> -0.9998442, -0.9998350, -0.999775~
## $ fBodyAccJerk.bandsEnergy...25.48.2 <dbl> -0.9999279, -0.9998267, -0.999786~
## $ fBodyGyro.mean...X <dbl> -0.9865744, -0.9773867, -0.975433~
## $ fBodyGyro.mean...Y <dbl> -0.9817615, -0.9925300, -0.993714~
## $ fBodyGyro.mean...Z <dbl> -0.9895148, -0.9896058, -0.986755~
## $ fBodyGyro.std...X <dbl> -0.9850326, -0.9849043, -0.976642~
## $ fBodyGyro.std...Y <dbl> -0.9738861, -0.9871681, -0.993399~
## $ fBodyGyro.std...Z <dbl> -0.9940349, -0.9897847, -0.987328~
## $ fBodyGyro.mad...X <dbl> -0.9865308, -0.9793612, -0.975609~
## $ fBodyGyro.mad...Y <dbl> -0.9836164, -0.9918368, -0.993707~
## $ fBodyGyro.mad...Z <dbl> -0.9923520, -0.9879651, -0.985030~
## $ fBodyGyro.max...X <dbl> -0.9804984, -0.9873538, -0.972901~
## $ fBodyGyro.max...Y <dbl> -0.9722709, -0.9847864, -0.994986~
## $ fBodyGyro.max...Z <dbl> -0.9949443, -0.9901508, -0.991283~
## $ fBodyGyro.min...X <dbl> -0.9975686, -0.9868918, -0.988311~
## $ fBodyGyro.min...Y <dbl> -0.9840851, -0.9990535, -0.997232~
## $ fBodyGyro.min...Z <dbl> -0.9943354, -0.9944137, -0.993636~
## $ fBodyGyro.sma.. <dbl> -0.9852762, -0.9868687, -0.986008~
## $ fBodyGyro.energy...X <dbl> -0.9998637, -0.9998249, -0.999673~
## $ fBodyGyro.energy...Y <dbl> -0.9996661, -0.9999115, -0.999962~
## $ fBodyGyro.energy...Z <dbl> -0.9999346, -0.9998921, -0.999846~
## $ fBodyGyro.iqr...X <dbl> -0.9903439, -0.9870994, -0.985536~
## $ fBodyGyro.iqr...Y <dbl> -0.9948357, -0.9955637, -0.995392~
## $ fBodyGyro.iqr...Z <dbl> -0.9944116, -0.9872545, -0.992550~
## $ fBodyGyro.entropy...X <dbl> -0.7124023, -0.6111119, -0.590986~
## $ fBodyGyro.entropy...Y <dbl> -0.6448424, -0.7646030, -0.808287~
## $ fBodyGyro.entropy...Z <dbl> -0.8389930, -0.7510797, -0.751079~
## $ fBodyGyro.maxInds.X <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyGyro.maxInds.Y <dbl> -1.0000000, -1.0000000, -0.870967~
## $ fBodyGyro.maxInds.Z <dbl> -1.0000000, -1.0000000, -1.000000~
## $ fBodyGyro.meanFreq...X <dbl> -0.25754888, -0.04816744, -0.2166~
## $ fBodyGyro.meanFreq...Y <dbl> 0.09794711, -0.40160791, -0.01726~
## $ fBodyGyro.meanFreq...Z <dbl> 0.54715105, -0.06817833, -0.11072~
## $ fBodyGyro.skewness...X <dbl> 0.377311210, -0.458553310, 0.0905~
## $ fBodyGyro.kurtosis...X <dbl> 0.1340915, -0.7970135, -0.2446911~
## $ fBodyGyro.skewness...Y <dbl> 0.27337197, 0.38756889, -0.429272~
## $ fBodyGyro.kurtosis...Y <dbl> -0.09126183, 0.14866483, -0.81263~
## $ fBodyGyro.skewness...Z <dbl> -0.48434650, -0.15690927, -0.3919~
## $ fBodyGyro.kurtosis...Z <dbl> -0.78285070, -0.45177589, -0.7674~
## $ fBodyGyro.bandsEnergy...1.8 <dbl> -0.9998650, -0.9998509, -0.999680~
## $ fBodyGyro.bandsEnergy...9.16 <dbl> -0.9999318, -0.9997943, -0.999828~
## $ fBodyGyro.bandsEnergy...17.24 <dbl> -0.9999729, -0.9999131, -0.999915~
## $ fBodyGyro.bandsEnergy...25.32 <dbl> -0.9999702, -0.9999182, -0.999932~
## $ fBodyGyro.bandsEnergy...33.40 <dbl> -0.9999301, -0.9998964, -0.999847~
## $ fBodyGyro.bandsEnergy...41.48 <dbl> -0.9999586, -0.9998853, -0.999841~
## $ fBodyGyro.bandsEnergy...49.56 <dbl> -0.9999290, -0.9997842, -0.999863~
## $ fBodyGyro.bandsEnergy...57.64 <dbl> -0.9999847, -0.9997824, -0.999862~
## $ fBodyGyro.bandsEnergy...1.16 <dbl> -0.9998633, -0.9998299, -0.999674~
## $ fBodyGyro.bandsEnergy...17.32 <dbl> -0.9999681, -0.9998988, -0.999906~
## $ fBodyGyro.bandsEnergy...33.48 <dbl> -0.9999361, -0.9998828, -0.999831~
## $ fBodyGyro.bandsEnergy...49.64 <dbl> -0.9999536, -0.9997834, -0.999862~
## $ fBodyGyro.bandsEnergy...1.24 <dbl> -0.9998644, -0.9998283, -0.999675~
## $ fBodyGyro.bandsEnergy...25.48 <dbl> -0.9999610, -0.9999080, -0.999903~
## $ fBodyGyro.bandsEnergy...1.8.1 <dbl> -0.9994537, -0.9998564, -0.999954~
## $ fBodyGyro.bandsEnergy...9.16.1 <dbl> -0.9999781, -0.9999885, -0.999987~
## $ fBodyGyro.bandsEnergy...17.24.1 <dbl> -0.9999915, -0.9999957, -0.999990~
## $ fBodyGyro.bandsEnergy...25.32.1 <dbl> -0.9999901, -0.9999942, -0.999994~
## $ fBodyGyro.bandsEnergy...33.40.1 <dbl> -0.9999686, -0.9999861, -0.999973~
## $ fBodyGyro.bandsEnergy...41.48.1 <dbl> -0.9998066, -0.9999845, -0.999942~
## $ fBodyGyro.bandsEnergy...49.56.1 <dbl> -0.9983460, -0.9999800, -0.999986~
## $ fBodyGyro.bandsEnergy...57.64.1 <dbl> -0.9989612, -0.9999900, -0.999993~
## $ fBodyGyro.bandsEnergy...1.16.1 <dbl> -0.9996187, -0.9998966, -0.999962~
## $ fBodyGyro.bandsEnergy...17.32.1 <dbl> -0.9999893, -0.9999945, -0.999989~
## $ fBodyGyro.bandsEnergy...33.48.1 <dbl> -0.9999354, -0.9999860, -0.999967~
## $ fBodyGyro.bandsEnergy...49.64.1 <dbl> -0.9983875, -0.9999817, -0.999987~
## $ fBodyGyro.bandsEnergy...1.24.1 <dbl> -0.9996426, -0.9999026, -0.999960~
## $ fBodyGyro.bandsEnergy...25.48.1 <dbl> -0.9999727, -0.9999917, -0.999985~
## $ fBodyGyro.bandsEnergy...1.8.2 <dbl> -0.9999554, -0.9999089, -0.999870~
## $ fBodyGyro.bandsEnergy...9.16.2 <dbl> -0.9999763, -0.9999594, -0.999934~
## $ fBodyGyro.bandsEnergy...17.24.2 <dbl> -0.9999058, -0.9999281, -0.999934~
## $ fBodyGyro.bandsEnergy...25.32.2 <dbl> -0.9999855, -0.9999663, -0.999957~
## $ fBodyGyro.bandsEnergy...33.40.2 <dbl> -0.9999372, -0.9999855, -0.999952~
## $ fBodyGyro.bandsEnergy...41.48.2 <dbl> -0.9997512, -0.9999264, -0.999909~
## $ fBodyGyro.bandsEnergy...49.56.2 <dbl> -0.9990723, -0.9999615, -0.999889~
## $ fBodyGyro.bandsEnergy...57.64.2 <dbl> -0.9999275, -0.9999831, -0.999988~
## $ fBodyGyro.bandsEnergy...1.16.2 <dbl> -0.9999516, -0.9999017, -0.999856~
## $ fBodyGyro.bandsEnergy...17.32.2 <dbl> -0.9999058, -0.9999178, -0.999919~
## $ fBodyGyro.bandsEnergy...33.48.2 <dbl> -0.9998927, -0.9999754, -0.999946~
## $ fBodyGyro.bandsEnergy...49.64.2 <dbl> -0.9994443, -0.9999711, -0.999932~
## $ fBodyGyro.bandsEnergy...1.24.2 <dbl> -0.9999410, -0.9998943, -0.999850~
## $ fBodyGyro.bandsEnergy...25.48.2 <dbl> -0.9999586, -0.9999710, -0.999955~
## $ fBodyAccMag.mean.. <dbl> -0.9521547, -0.9808566, -0.987794~
## $ fBodyAccMag.std.. <dbl> -0.9561340, -0.9758658, -0.989015~
## $ fBodyAccMag.mad.. <dbl> -0.9488701, -0.9757769, -0.985593~
## $ fBodyAccMag.max.. <dbl> -0.9743206, -0.9782264, -0.993061~
## $ fBodyAccMag.min.. <dbl> -0.9257218, -0.9869108, -0.989836~
## $ fBodyAccMag.sma.. <dbl> -0.9521547, -0.9808566, -0.987794~
## $ fBodyAccMag.energy.. <dbl> -0.9982852, -0.9994719, -0.999806~
## $ fBodyAccMag.iqr.. <dbl> -0.9732732, -0.9844792, -0.989237~
## $ fBodyAccMag.entropy.. <dbl> -0.6463764, -0.8166736, -0.907014~
## $ fBodyAccMag.maxInds <dbl> -0.7931035, -1.0000000, -0.862069~
## $ fBodyAccMag.meanFreq.. <dbl> -0.08843612, -0.04414989, 0.25789~
## $ fBodyAccMag.skewness.. <dbl> -0.43647104, -0.12204037, -0.6187~
## $ fBodyAccMag.kurtosis.. <dbl> -0.7968405, -0.4495219, -0.879684~
## $ fBodyBodyAccJerkMag.mean.. <dbl> -0.9937257, -0.9903355, -0.989280~
## $ fBodyBodyAccJerkMag.std.. <dbl> -0.9937550, -0.9919603, -0.990866~
## $ fBodyBodyAccJerkMag.mad.. <dbl> -0.9919757, -0.9897320, -0.987274~
## $ fBodyBodyAccJerkMag.max.. <dbl> -0.9933647, -0.9944888, -0.993178~
## $ fBodyBodyAccJerkMag.min.. <dbl> -0.9881754, -0.9895488, -0.999889~
## $ fBodyBodyAccJerkMag.sma.. <dbl> -0.9937257, -0.9903355, -0.989280~
## $ fBodyBodyAccJerkMag.energy.. <dbl> -0.9999184, -0.9998669, -0.999845~
## $ fBodyBodyAccJerkMag.iqr.. <dbl> -0.9913637, -0.9911339, -0.986657~
## $ fBodyBodyAccJerkMag.entropy.. <dbl> -1, -1, -1, -1, -1, -1, -1, -1, -~
## $ fBodyBodyAccJerkMag.maxInds <dbl> -0.9365079, -0.8412698, -0.904761~
## $ fBodyBodyAccJerkMag.meanFreq.. <dbl> 0.3469885, 0.5320605, 0.6607950, ~
## $ fBodyBodyAccJerkMag.skewness.. <dbl> -0.5160801, -0.6248710, -0.724696~
## $ fBodyBodyAccJerkMag.kurtosis.. <dbl> -0.8027600, -0.9001600, -0.928539~
## $ fBodyBodyGyroMag.mean.. <dbl> -0.9801349, -0.9882956, -0.989254~
## $ fBodyBodyGyroMag.std.. <dbl> -0.9613094, -0.9833219, -0.986027~
## $ fBodyBodyGyroMag.mad.. <dbl> -0.9736534, -0.9826593, -0.984273~
## $ fBodyBodyGyroMag.max.. <dbl> -0.9522638, -0.9863208, -0.990979~
## $ fBodyBodyGyroMag.min.. <dbl> -0.9894981, -0.9918288, -0.995703~
## $ fBodyBodyGyroMag.sma.. <dbl> -0.9801349, -0.9882956, -0.989254~
## $ fBodyBodyGyroMag.energy.. <dbl> -0.9992403, -0.9998112, -0.999853~
## $ fBodyBodyGyroMag.iqr.. <dbl> -0.9926555, -0.9939785, -0.993238~
## $ fBodyBodyGyroMag.entropy.. <dbl> -0.7012914, -0.7206830, -0.736521~
## $ fBodyBodyGyroMag.maxInds <dbl> -1.0000000, -0.9487180, -0.794871~
## $ fBodyBodyGyroMag.meanFreq.. <dbl> -0.12898890, -0.27195846, -0.2127~
## $ fBodyBodyGyroMag.skewness.. <dbl> 0.586156430, -0.336310410, -0.535~
## $ fBodyBodyGyroMag.kurtosis.. <dbl> 0.37460462, -0.72001508, -0.87191~
## $ fBodyBodyGyroJerkMag.mean.. <dbl> -0.9919904, -0.9958539, -0.995030~
## $ fBodyBodyGyroJerkMag.std.. <dbl> -0.9906975, -0.9963995, -0.995127~
## $ fBodyBodyGyroJerkMag.mad.. <dbl> -0.9899408, -0.9954421, -0.994639~
## $ fBodyBodyGyroJerkMag.max.. <dbl> -0.9924478, -0.9968660, -0.996059~
## $ fBodyBodyGyroJerkMag.min.. <dbl> -0.9910477, -0.9944397, -0.995866~
## $ fBodyBodyGyroJerkMag.sma.. <dbl> -0.9919904, -0.9958539, -0.995030~
## $ fBodyBodyGyroJerkMag.energy.. <dbl> -0.9999368, -0.9999807, -0.999973~
## $ fBodyBodyGyroJerkMag.iqr.. <dbl> -0.9904579, -0.9945437, -0.993755~
## $ fBodyBodyGyroJerkMag.entropy.. <dbl> -0.8713058, -1.0000000, -1.000000~
## $ fBodyBodyGyroJerkMag.maxInds <dbl> -1.00000000, -1.00000000, -0.5555~
## $ fBodyBodyGyroJerkMag.meanFreq.. <dbl> -0.07432303, 0.15807454, 0.414502~
## $ fBodyBodyGyroJerkMag.skewness.. <dbl> -0.29867637, -0.59505094, -0.3907~
## $ fBodyBodyGyroJerkMag.kurtosis.. <dbl> -0.71030407, -0.86149931, -0.7601~
## $ angle.tBodyAccMean.gravity. <dbl> -0.112754340, 0.053476955, -0.118~
## $ angle.tBodyAccJerkMean..gravityMean. <dbl> 0.030400372, -0.007434566, 0.1778~
## $ angle.tBodyGyroMean.gravityMean. <dbl> -0.464761390, -0.732626210, 0.100~
## $ angle.tBodyGyroJerkMean.gravityMean. <dbl> -0.01844588, 0.70351059, 0.808529~
## $ angle.X.gravityMean. <dbl> -0.8412468, -0.8447876, -0.848933~
## $ angle.Y.gravityMean. <dbl> 0.1799406, 0.1802889, 0.1806373, ~
## $ angle.Z.gravityMean. <dbl> -0.05862692, -0.05431672, -0.0491~
## $ subject <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ~
## $ Activity <chr> "STANDING", "STANDING", "STANDING~
We have a dataset that includes 10299 observations on 562 predictor variables and 1 target variable:
Activity: (Target) type of the activity perform by user (standing, sitting, etc.)subject: An identifier of the subject who carried out the experiment.We will convert the Activity and subject variables to the type factor to make it categorical:
data$Activity %<>% as.factor()
data$subject %<>% as.factor()Due to there are too many variable we will select only some variable to see its general characteristic.
data %>%
select(Activity, subject, tBodyAcc.arCoeff...X.1, tGravityAcc.mean...X) %>%
summary()## Activity subject tBodyAcc.arCoeff...X.1
## LAYING :1944 25 : 409 Min. :-1.0000
## SITTING :1777 21 : 408 1st Qu.:-0.3686
## STANDING :1906 26 : 392 Median :-0.1362
## WALKING :1722 30 : 383 Mean :-0.1190
## WALKING_DOWNSTAIRS:1406 28 : 382 3rd Qu.: 0.1332
## WALKING_UPSTAIRS :1544 24 : 381 Max. : 1.0000
## (Other):7944
## tGravityAcc.mean...X
## Min. :-1.0000
## 1st Qu.: 0.8117
## Median : 0.9218
## Mean : 0.6692
## 3rd Qu.: 0.9547
## Max. : 1.0000
##
Let us first see the proportion of categorical variables
data %>% inspect_cat() %>%
show_plot() As we can see the categorical variables are well proportioned. we can continue the process with data cleaning.
Firts we check for any missing values.
colSums(is.na(data))## tBodyAcc.mean...X tBodyAcc.mean...Y
## 0 0
## tBodyAcc.mean...Z tBodyAcc.std...X
## 0 0
## tBodyAcc.std...Y tBodyAcc.std...Z
## 0 0
## tBodyAcc.mad...X tBodyAcc.mad...Y
## 0 0
## tBodyAcc.mad...Z tBodyAcc.max...X
## 0 0
## tBodyAcc.max...Y tBodyAcc.max...Z
## 0 0
## tBodyAcc.min...X tBodyAcc.min...Y
## 0 0
## tBodyAcc.min...Z tBodyAcc.sma..
## 0 0
## tBodyAcc.energy...X tBodyAcc.energy...Y
## 0 0
## tBodyAcc.energy...Z tBodyAcc.iqr...X
## 0 0
## tBodyAcc.iqr...Y tBodyAcc.iqr...Z
## 0 0
## tBodyAcc.entropy...X tBodyAcc.entropy...Y
## 0 0
## tBodyAcc.entropy...Z tBodyAcc.arCoeff...X.1
## 0 0
## tBodyAcc.arCoeff...X.2 tBodyAcc.arCoeff...X.3
## 0 0
## tBodyAcc.arCoeff...X.4 tBodyAcc.arCoeff...Y.1
## 0 0
## tBodyAcc.arCoeff...Y.2 tBodyAcc.arCoeff...Y.3
## 0 0
## tBodyAcc.arCoeff...Y.4 tBodyAcc.arCoeff...Z.1
## 0 0
## tBodyAcc.arCoeff...Z.2 tBodyAcc.arCoeff...Z.3
## 0 0
## tBodyAcc.arCoeff...Z.4 tBodyAcc.correlation...X.Y
## 0 0
## tBodyAcc.correlation...X.Z tBodyAcc.correlation...Y.Z
## 0 0
## tGravityAcc.mean...X tGravityAcc.mean...Y
## 0 0
## tGravityAcc.mean...Z tGravityAcc.std...X
## 0 0
## tGravityAcc.std...Y tGravityAcc.std...Z
## 0 0
## tGravityAcc.mad...X tGravityAcc.mad...Y
## 0 0
## tGravityAcc.mad...Z tGravityAcc.max...X
## 0 0
## tGravityAcc.max...Y tGravityAcc.max...Z
## 0 0
## tGravityAcc.min...X tGravityAcc.min...Y
## 0 0
## tGravityAcc.min...Z tGravityAcc.sma..
## 0 0
## tGravityAcc.energy...X tGravityAcc.energy...Y
## 0 0
## tGravityAcc.energy...Z tGravityAcc.iqr...X
## 0 0
## tGravityAcc.iqr...Y tGravityAcc.iqr...Z
## 0 0
## tGravityAcc.entropy...X tGravityAcc.entropy...Y
## 0 0
## tGravityAcc.entropy...Z tGravityAcc.arCoeff...X.1
## 0 0
## tGravityAcc.arCoeff...X.2 tGravityAcc.arCoeff...X.3
## 0 0
## tGravityAcc.arCoeff...X.4 tGravityAcc.arCoeff...Y.1
## 0 0
## tGravityAcc.arCoeff...Y.2 tGravityAcc.arCoeff...Y.3
## 0 0
## tGravityAcc.arCoeff...Y.4 tGravityAcc.arCoeff...Z.1
## 0 0
## tGravityAcc.arCoeff...Z.2 tGravityAcc.arCoeff...Z.3
## 0 0
## tGravityAcc.arCoeff...Z.4 tGravityAcc.correlation...X.Y
## 0 0
## tGravityAcc.correlation...X.Z tGravityAcc.correlation...Y.Z
## 0 0
## tBodyAccJerk.mean...X tBodyAccJerk.mean...Y
## 0 0
## tBodyAccJerk.mean...Z tBodyAccJerk.std...X
## 0 0
## tBodyAccJerk.std...Y tBodyAccJerk.std...Z
## 0 0
## tBodyAccJerk.mad...X tBodyAccJerk.mad...Y
## 0 0
## tBodyAccJerk.mad...Z tBodyAccJerk.max...X
## 0 0
## tBodyAccJerk.max...Y tBodyAccJerk.max...Z
## 0 0
## tBodyAccJerk.min...X tBodyAccJerk.min...Y
## 0 0
## tBodyAccJerk.min...Z tBodyAccJerk.sma..
## 0 0
## tBodyAccJerk.energy...X tBodyAccJerk.energy...Y
## 0 0
## tBodyAccJerk.energy...Z tBodyAccJerk.iqr...X
## 0 0
## tBodyAccJerk.iqr...Y tBodyAccJerk.iqr...Z
## 0 0
## tBodyAccJerk.entropy...X tBodyAccJerk.entropy...Y
## 0 0
## tBodyAccJerk.entropy...Z tBodyAccJerk.arCoeff...X.1
## 0 0
## tBodyAccJerk.arCoeff...X.2 tBodyAccJerk.arCoeff...X.3
## 0 0
## tBodyAccJerk.arCoeff...X.4 tBodyAccJerk.arCoeff...Y.1
## 0 0
## tBodyAccJerk.arCoeff...Y.2 tBodyAccJerk.arCoeff...Y.3
## 0 0
## tBodyAccJerk.arCoeff...Y.4 tBodyAccJerk.arCoeff...Z.1
## 0 0
## tBodyAccJerk.arCoeff...Z.2 tBodyAccJerk.arCoeff...Z.3
## 0 0
## tBodyAccJerk.arCoeff...Z.4 tBodyAccJerk.correlation...X.Y
## 0 0
## tBodyAccJerk.correlation...X.Z tBodyAccJerk.correlation...Y.Z
## 0 0
## tBodyGyro.mean...X tBodyGyro.mean...Y
## 0 0
## tBodyGyro.mean...Z tBodyGyro.std...X
## 0 0
## tBodyGyro.std...Y tBodyGyro.std...Z
## 0 0
## tBodyGyro.mad...X tBodyGyro.mad...Y
## 0 0
## tBodyGyro.mad...Z tBodyGyro.max...X
## 0 0
## tBodyGyro.max...Y tBodyGyro.max...Z
## 0 0
## tBodyGyro.min...X tBodyGyro.min...Y
## 0 0
## tBodyGyro.min...Z tBodyGyro.sma..
## 0 0
## tBodyGyro.energy...X tBodyGyro.energy...Y
## 0 0
## tBodyGyro.energy...Z tBodyGyro.iqr...X
## 0 0
## tBodyGyro.iqr...Y tBodyGyro.iqr...Z
## 0 0
## tBodyGyro.entropy...X tBodyGyro.entropy...Y
## 0 0
## tBodyGyro.entropy...Z tBodyGyro.arCoeff...X.1
## 0 0
## tBodyGyro.arCoeff...X.2 tBodyGyro.arCoeff...X.3
## 0 0
## tBodyGyro.arCoeff...X.4 tBodyGyro.arCoeff...Y.1
## 0 0
## tBodyGyro.arCoeff...Y.2 tBodyGyro.arCoeff...Y.3
## 0 0
## tBodyGyro.arCoeff...Y.4 tBodyGyro.arCoeff...Z.1
## 0 0
## tBodyGyro.arCoeff...Z.2 tBodyGyro.arCoeff...Z.3
## 0 0
## tBodyGyro.arCoeff...Z.4 tBodyGyro.correlation...X.Y
## 0 0
## tBodyGyro.correlation...X.Z tBodyGyro.correlation...Y.Z
## 0 0
## tBodyGyroJerk.mean...X tBodyGyroJerk.mean...Y
## 0 0
## tBodyGyroJerk.mean...Z tBodyGyroJerk.std...X
## 0 0
## tBodyGyroJerk.std...Y tBodyGyroJerk.std...Z
## 0 0
## tBodyGyroJerk.mad...X tBodyGyroJerk.mad...Y
## 0 0
## tBodyGyroJerk.mad...Z tBodyGyroJerk.max...X
## 0 0
## tBodyGyroJerk.max...Y tBodyGyroJerk.max...Z
## 0 0
## tBodyGyroJerk.min...X tBodyGyroJerk.min...Y
## 0 0
## tBodyGyroJerk.min...Z tBodyGyroJerk.sma..
## 0 0
## tBodyGyroJerk.energy...X tBodyGyroJerk.energy...Y
## 0 0
## tBodyGyroJerk.energy...Z tBodyGyroJerk.iqr...X
## 0 0
## tBodyGyroJerk.iqr...Y tBodyGyroJerk.iqr...Z
## 0 0
## tBodyGyroJerk.entropy...X tBodyGyroJerk.entropy...Y
## 0 0
## tBodyGyroJerk.entropy...Z tBodyGyroJerk.arCoeff...X.1
## 0 0
## tBodyGyroJerk.arCoeff...X.2 tBodyGyroJerk.arCoeff...X.3
## 0 0
## tBodyGyroJerk.arCoeff...X.4 tBodyGyroJerk.arCoeff...Y.1
## 0 0
## tBodyGyroJerk.arCoeff...Y.2 tBodyGyroJerk.arCoeff...Y.3
## 0 0
## tBodyGyroJerk.arCoeff...Y.4 tBodyGyroJerk.arCoeff...Z.1
## 0 0
## tBodyGyroJerk.arCoeff...Z.2 tBodyGyroJerk.arCoeff...Z.3
## 0 0
## tBodyGyroJerk.arCoeff...Z.4 tBodyGyroJerk.correlation...X.Y
## 0 0
## tBodyGyroJerk.correlation...X.Z tBodyGyroJerk.correlation...Y.Z
## 0 0
## tBodyAccMag.mean.. tBodyAccMag.std..
## 0 0
## tBodyAccMag.mad.. tBodyAccMag.max..
## 0 0
## tBodyAccMag.min.. tBodyAccMag.sma..
## 0 0
## tBodyAccMag.energy.. tBodyAccMag.iqr..
## 0 0
## tBodyAccMag.entropy.. tBodyAccMag.arCoeff..1
## 0 0
## tBodyAccMag.arCoeff..2 tBodyAccMag.arCoeff..3
## 0 0
## tBodyAccMag.arCoeff..4 tGravityAccMag.mean..
## 0 0
## tGravityAccMag.std.. tGravityAccMag.mad..
## 0 0
## tGravityAccMag.max.. tGravityAccMag.min..
## 0 0
## tGravityAccMag.sma.. tGravityAccMag.energy..
## 0 0
## tGravityAccMag.iqr.. tGravityAccMag.entropy..
## 0 0
## tGravityAccMag.arCoeff..1 tGravityAccMag.arCoeff..2
## 0 0
## tGravityAccMag.arCoeff..3 tGravityAccMag.arCoeff..4
## 0 0
## tBodyAccJerkMag.mean.. tBodyAccJerkMag.std..
## 0 0
## tBodyAccJerkMag.mad.. tBodyAccJerkMag.max..
## 0 0
## tBodyAccJerkMag.min.. tBodyAccJerkMag.sma..
## 0 0
## tBodyAccJerkMag.energy.. tBodyAccJerkMag.iqr..
## 0 0
## tBodyAccJerkMag.entropy.. tBodyAccJerkMag.arCoeff..1
## 0 0
## tBodyAccJerkMag.arCoeff..2 tBodyAccJerkMag.arCoeff..3
## 0 0
## tBodyAccJerkMag.arCoeff..4 tBodyGyroMag.mean..
## 0 0
## tBodyGyroMag.std.. tBodyGyroMag.mad..
## 0 0
## tBodyGyroMag.max.. tBodyGyroMag.min..
## 0 0
## tBodyGyroMag.sma.. tBodyGyroMag.energy..
## 0 0
## tBodyGyroMag.iqr.. tBodyGyroMag.entropy..
## 0 0
## tBodyGyroMag.arCoeff..1 tBodyGyroMag.arCoeff..2
## 0 0
## tBodyGyroMag.arCoeff..3 tBodyGyroMag.arCoeff..4
## 0 0
## tBodyGyroJerkMag.mean.. tBodyGyroJerkMag.std..
## 0 0
## tBodyGyroJerkMag.mad.. tBodyGyroJerkMag.max..
## 0 0
## tBodyGyroJerkMag.min.. tBodyGyroJerkMag.sma..
## 0 0
## tBodyGyroJerkMag.energy.. tBodyGyroJerkMag.iqr..
## 0 0
## tBodyGyroJerkMag.entropy.. tBodyGyroJerkMag.arCoeff..1
## 0 0
## tBodyGyroJerkMag.arCoeff..2 tBodyGyroJerkMag.arCoeff..3
## 0 0
## tBodyGyroJerkMag.arCoeff..4 fBodyAcc.mean...X
## 0 0
## fBodyAcc.mean...Y fBodyAcc.mean...Z
## 0 0
## fBodyAcc.std...X fBodyAcc.std...Y
## 0 0
## fBodyAcc.std...Z fBodyAcc.mad...X
## 0 0
## fBodyAcc.mad...Y fBodyAcc.mad...Z
## 0 0
## fBodyAcc.max...X fBodyAcc.max...Y
## 0 0
## fBodyAcc.max...Z fBodyAcc.min...X
## 0 0
## fBodyAcc.min...Y fBodyAcc.min...Z
## 0 0
## fBodyAcc.sma.. fBodyAcc.energy...X
## 0 0
## fBodyAcc.energy...Y fBodyAcc.energy...Z
## 0 0
## fBodyAcc.iqr...X fBodyAcc.iqr...Y
## 0 0
## fBodyAcc.iqr...Z fBodyAcc.entropy...X
## 0 0
## fBodyAcc.entropy...Y fBodyAcc.entropy...Z
## 0 0
## fBodyAcc.maxInds.X fBodyAcc.maxInds.Y
## 0 0
## fBodyAcc.maxInds.Z fBodyAcc.meanFreq...X
## 0 0
## fBodyAcc.meanFreq...Y fBodyAcc.meanFreq...Z
## 0 0
## fBodyAcc.skewness...X fBodyAcc.kurtosis...X
## 0 0
## fBodyAcc.skewness...Y fBodyAcc.kurtosis...Y
## 0 0
## fBodyAcc.skewness...Z fBodyAcc.kurtosis...Z
## 0 0
## fBodyAcc.bandsEnergy...1.8 fBodyAcc.bandsEnergy...9.16
## 0 0
## fBodyAcc.bandsEnergy...17.24 fBodyAcc.bandsEnergy...25.32
## 0 0
## fBodyAcc.bandsEnergy...33.40 fBodyAcc.bandsEnergy...41.48
## 0 0
## fBodyAcc.bandsEnergy...49.56 fBodyAcc.bandsEnergy...57.64
## 0 0
## fBodyAcc.bandsEnergy...1.16 fBodyAcc.bandsEnergy...17.32
## 0 0
## fBodyAcc.bandsEnergy...33.48 fBodyAcc.bandsEnergy...49.64
## 0 0
## fBodyAcc.bandsEnergy...1.24 fBodyAcc.bandsEnergy...25.48
## 0 0
## fBodyAcc.bandsEnergy...1.8.1 fBodyAcc.bandsEnergy...9.16.1
## 0 0
## fBodyAcc.bandsEnergy...17.24.1 fBodyAcc.bandsEnergy...25.32.1
## 0 0
## fBodyAcc.bandsEnergy...33.40.1 fBodyAcc.bandsEnergy...41.48.1
## 0 0
## fBodyAcc.bandsEnergy...49.56.1 fBodyAcc.bandsEnergy...57.64.1
## 0 0
## fBodyAcc.bandsEnergy...1.16.1 fBodyAcc.bandsEnergy...17.32.1
## 0 0
## fBodyAcc.bandsEnergy...33.48.1 fBodyAcc.bandsEnergy...49.64.1
## 0 0
## fBodyAcc.bandsEnergy...1.24.1 fBodyAcc.bandsEnergy...25.48.1
## 0 0
## fBodyAcc.bandsEnergy...1.8.2 fBodyAcc.bandsEnergy...9.16.2
## 0 0
## fBodyAcc.bandsEnergy...17.24.2 fBodyAcc.bandsEnergy...25.32.2
## 0 0
## fBodyAcc.bandsEnergy...33.40.2 fBodyAcc.bandsEnergy...41.48.2
## 0 0
## fBodyAcc.bandsEnergy...49.56.2 fBodyAcc.bandsEnergy...57.64.2
## 0 0
## fBodyAcc.bandsEnergy...1.16.2 fBodyAcc.bandsEnergy...17.32.2
## 0 0
## fBodyAcc.bandsEnergy...33.48.2 fBodyAcc.bandsEnergy...49.64.2
## 0 0
## fBodyAcc.bandsEnergy...1.24.2 fBodyAcc.bandsEnergy...25.48.2
## 0 0
## fBodyAccJerk.mean...X fBodyAccJerk.mean...Y
## 0 0
## fBodyAccJerk.mean...Z fBodyAccJerk.std...X
## 0 0
## fBodyAccJerk.std...Y fBodyAccJerk.std...Z
## 0 0
## fBodyAccJerk.mad...X fBodyAccJerk.mad...Y
## 0 0
## fBodyAccJerk.mad...Z fBodyAccJerk.max...X
## 0 0
## fBodyAccJerk.max...Y fBodyAccJerk.max...Z
## 0 0
## fBodyAccJerk.min...X fBodyAccJerk.min...Y
## 0 0
## fBodyAccJerk.min...Z fBodyAccJerk.sma..
## 0 0
## fBodyAccJerk.energy...X fBodyAccJerk.energy...Y
## 0 0
## fBodyAccJerk.energy...Z fBodyAccJerk.iqr...X
## 0 0
## fBodyAccJerk.iqr...Y fBodyAccJerk.iqr...Z
## 0 0
## fBodyAccJerk.entropy...X fBodyAccJerk.entropy...Y
## 0 0
## fBodyAccJerk.entropy...Z fBodyAccJerk.maxInds.X
## 0 0
## fBodyAccJerk.maxInds.Y fBodyAccJerk.maxInds.Z
## 0 0
## fBodyAccJerk.meanFreq...X fBodyAccJerk.meanFreq...Y
## 0 0
## fBodyAccJerk.meanFreq...Z fBodyAccJerk.skewness...X
## 0 0
## fBodyAccJerk.kurtosis...X fBodyAccJerk.skewness...Y
## 0 0
## fBodyAccJerk.kurtosis...Y fBodyAccJerk.skewness...Z
## 0 0
## fBodyAccJerk.kurtosis...Z fBodyAccJerk.bandsEnergy...1.8
## 0 0
## fBodyAccJerk.bandsEnergy...9.16 fBodyAccJerk.bandsEnergy...17.24
## 0 0
## fBodyAccJerk.bandsEnergy...25.32 fBodyAccJerk.bandsEnergy...33.40
## 0 0
## fBodyAccJerk.bandsEnergy...41.48 fBodyAccJerk.bandsEnergy...49.56
## 0 0
## fBodyAccJerk.bandsEnergy...57.64 fBodyAccJerk.bandsEnergy...1.16
## 0 0
## fBodyAccJerk.bandsEnergy...17.32 fBodyAccJerk.bandsEnergy...33.48
## 0 0
## fBodyAccJerk.bandsEnergy...49.64 fBodyAccJerk.bandsEnergy...1.24
## 0 0
## fBodyAccJerk.bandsEnergy...25.48 fBodyAccJerk.bandsEnergy...1.8.1
## 0 0
## fBodyAccJerk.bandsEnergy...9.16.1 fBodyAccJerk.bandsEnergy...17.24.1
## 0 0
## fBodyAccJerk.bandsEnergy...25.32.1 fBodyAccJerk.bandsEnergy...33.40.1
## 0 0
## fBodyAccJerk.bandsEnergy...41.48.1 fBodyAccJerk.bandsEnergy...49.56.1
## 0 0
## fBodyAccJerk.bandsEnergy...57.64.1 fBodyAccJerk.bandsEnergy...1.16.1
## 0 0
## fBodyAccJerk.bandsEnergy...17.32.1 fBodyAccJerk.bandsEnergy...33.48.1
## 0 0
## fBodyAccJerk.bandsEnergy...49.64.1 fBodyAccJerk.bandsEnergy...1.24.1
## 0 0
## fBodyAccJerk.bandsEnergy...25.48.1 fBodyAccJerk.bandsEnergy...1.8.2
## 0 0
## fBodyAccJerk.bandsEnergy...9.16.2 fBodyAccJerk.bandsEnergy...17.24.2
## 0 0
## fBodyAccJerk.bandsEnergy...25.32.2 fBodyAccJerk.bandsEnergy...33.40.2
## 0 0
## fBodyAccJerk.bandsEnergy...41.48.2 fBodyAccJerk.bandsEnergy...49.56.2
## 0 0
## fBodyAccJerk.bandsEnergy...57.64.2 fBodyAccJerk.bandsEnergy...1.16.2
## 0 0
## fBodyAccJerk.bandsEnergy...17.32.2 fBodyAccJerk.bandsEnergy...33.48.2
## 0 0
## fBodyAccJerk.bandsEnergy...49.64.2 fBodyAccJerk.bandsEnergy...1.24.2
## 0 0
## fBodyAccJerk.bandsEnergy...25.48.2 fBodyGyro.mean...X
## 0 0
## fBodyGyro.mean...Y fBodyGyro.mean...Z
## 0 0
## fBodyGyro.std...X fBodyGyro.std...Y
## 0 0
## fBodyGyro.std...Z fBodyGyro.mad...X
## 0 0
## fBodyGyro.mad...Y fBodyGyro.mad...Z
## 0 0
## fBodyGyro.max...X fBodyGyro.max...Y
## 0 0
## fBodyGyro.max...Z fBodyGyro.min...X
## 0 0
## fBodyGyro.min...Y fBodyGyro.min...Z
## 0 0
## fBodyGyro.sma.. fBodyGyro.energy...X
## 0 0
## fBodyGyro.energy...Y fBodyGyro.energy...Z
## 0 0
## fBodyGyro.iqr...X fBodyGyro.iqr...Y
## 0 0
## fBodyGyro.iqr...Z fBodyGyro.entropy...X
## 0 0
## fBodyGyro.entropy...Y fBodyGyro.entropy...Z
## 0 0
## fBodyGyro.maxInds.X fBodyGyro.maxInds.Y
## 0 0
## fBodyGyro.maxInds.Z fBodyGyro.meanFreq...X
## 0 0
## fBodyGyro.meanFreq...Y fBodyGyro.meanFreq...Z
## 0 0
## fBodyGyro.skewness...X fBodyGyro.kurtosis...X
## 0 0
## fBodyGyro.skewness...Y fBodyGyro.kurtosis...Y
## 0 0
## fBodyGyro.skewness...Z fBodyGyro.kurtosis...Z
## 0 0
## fBodyGyro.bandsEnergy...1.8 fBodyGyro.bandsEnergy...9.16
## 0 0
## fBodyGyro.bandsEnergy...17.24 fBodyGyro.bandsEnergy...25.32
## 0 0
## fBodyGyro.bandsEnergy...33.40 fBodyGyro.bandsEnergy...41.48
## 0 0
## fBodyGyro.bandsEnergy...49.56 fBodyGyro.bandsEnergy...57.64
## 0 0
## fBodyGyro.bandsEnergy...1.16 fBodyGyro.bandsEnergy...17.32
## 0 0
## fBodyGyro.bandsEnergy...33.48 fBodyGyro.bandsEnergy...49.64
## 0 0
## fBodyGyro.bandsEnergy...1.24 fBodyGyro.bandsEnergy...25.48
## 0 0
## fBodyGyro.bandsEnergy...1.8.1 fBodyGyro.bandsEnergy...9.16.1
## 0 0
## fBodyGyro.bandsEnergy...17.24.1 fBodyGyro.bandsEnergy...25.32.1
## 0 0
## fBodyGyro.bandsEnergy...33.40.1 fBodyGyro.bandsEnergy...41.48.1
## 0 0
## fBodyGyro.bandsEnergy...49.56.1 fBodyGyro.bandsEnergy...57.64.1
## 0 0
## fBodyGyro.bandsEnergy...1.16.1 fBodyGyro.bandsEnergy...17.32.1
## 0 0
## fBodyGyro.bandsEnergy...33.48.1 fBodyGyro.bandsEnergy...49.64.1
## 0 0
## fBodyGyro.bandsEnergy...1.24.1 fBodyGyro.bandsEnergy...25.48.1
## 0 0
## fBodyGyro.bandsEnergy...1.8.2 fBodyGyro.bandsEnergy...9.16.2
## 0 0
## fBodyGyro.bandsEnergy...17.24.2 fBodyGyro.bandsEnergy...25.32.2
## 0 0
## fBodyGyro.bandsEnergy...33.40.2 fBodyGyro.bandsEnergy...41.48.2
## 0 0
## fBodyGyro.bandsEnergy...49.56.2 fBodyGyro.bandsEnergy...57.64.2
## 0 0
## fBodyGyro.bandsEnergy...1.16.2 fBodyGyro.bandsEnergy...17.32.2
## 0 0
## fBodyGyro.bandsEnergy...33.48.2 fBodyGyro.bandsEnergy...49.64.2
## 0 0
## fBodyGyro.bandsEnergy...1.24.2 fBodyGyro.bandsEnergy...25.48.2
## 0 0
## fBodyAccMag.mean.. fBodyAccMag.std..
## 0 0
## fBodyAccMag.mad.. fBodyAccMag.max..
## 0 0
## fBodyAccMag.min.. fBodyAccMag.sma..
## 0 0
## fBodyAccMag.energy.. fBodyAccMag.iqr..
## 0 0
## fBodyAccMag.entropy.. fBodyAccMag.maxInds
## 0 0
## fBodyAccMag.meanFreq.. fBodyAccMag.skewness..
## 0 0
## fBodyAccMag.kurtosis.. fBodyBodyAccJerkMag.mean..
## 0 0
## fBodyBodyAccJerkMag.std.. fBodyBodyAccJerkMag.mad..
## 0 0
## fBodyBodyAccJerkMag.max.. fBodyBodyAccJerkMag.min..
## 0 0
## fBodyBodyAccJerkMag.sma.. fBodyBodyAccJerkMag.energy..
## 0 0
## fBodyBodyAccJerkMag.iqr.. fBodyBodyAccJerkMag.entropy..
## 0 0
## fBodyBodyAccJerkMag.maxInds fBodyBodyAccJerkMag.meanFreq..
## 0 0
## fBodyBodyAccJerkMag.skewness.. fBodyBodyAccJerkMag.kurtosis..
## 0 0
## fBodyBodyGyroMag.mean.. fBodyBodyGyroMag.std..
## 0 0
## fBodyBodyGyroMag.mad.. fBodyBodyGyroMag.max..
## 0 0
## fBodyBodyGyroMag.min.. fBodyBodyGyroMag.sma..
## 0 0
## fBodyBodyGyroMag.energy.. fBodyBodyGyroMag.iqr..
## 0 0
## fBodyBodyGyroMag.entropy.. fBodyBodyGyroMag.maxInds
## 0 0
## fBodyBodyGyroMag.meanFreq.. fBodyBodyGyroMag.skewness..
## 0 0
## fBodyBodyGyroMag.kurtosis.. fBodyBodyGyroJerkMag.mean..
## 0 0
## fBodyBodyGyroJerkMag.std.. fBodyBodyGyroJerkMag.mad..
## 0 0
## fBodyBodyGyroJerkMag.max.. fBodyBodyGyroJerkMag.min..
## 0 0
## fBodyBodyGyroJerkMag.sma.. fBodyBodyGyroJerkMag.energy..
## 0 0
## fBodyBodyGyroJerkMag.iqr.. fBodyBodyGyroJerkMag.entropy..
## 0 0
## fBodyBodyGyroJerkMag.maxInds fBodyBodyGyroJerkMag.meanFreq..
## 0 0
## fBodyBodyGyroJerkMag.skewness.. fBodyBodyGyroJerkMag.kurtosis..
## 0 0
## angle.tBodyAccMean.gravity. angle.tBodyAccJerkMean..gravityMean.
## 0 0
## angle.tBodyGyroMean.gravityMean. angle.tBodyGyroJerkMean.gravityMean.
## 0 0
## angle.X.gravityMean. angle.Y.gravityMean.
## 0 0
## angle.Z.gravityMean. subject
## 0 0
## Activity
## 0
There are no variable that has missing values. The dataset is free form missing values and there are no values that indicates null values on every variable. Now, we will remove unnecessary variable for model training.
data.clean.x <- data %>% select(-c(subject, Activity))
data.clean.y <- data %>% select(Activity)In the result of prediction we will focus on the recall matrix which tell us what proportion actual positives was identified correctly. because in this model we prefer the patient false positively predicted has diabetes than predicted false negatively. therefore, it can has a better prevention with the actual disease.
We will split the data into train and test dataset by 80:20 proportion.
RNGkind(sample.kind = "Rounding")
set.seed(123)
split_index <- sample(nrow(data), nrow(data)*0.80)
data.clean <- cbind(data.clean.x, data.clean.y)
train <- data.clean[split_index, ]
test <- data.clean[-split_index, ]model_bayes <- naiveBayes(Activity ~ ., data = train)diabetes_nb_pred <- predict(model_bayes, newdata = test)confusionMatrix(data = diabetes_nb_pred, reference = test$Activity) ## Confusion Matrix and Statistics
##
## Reference
## Prediction LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
## LAYING 296 6 0 0 0
## SITTING 71 310 240 0 0
## STANDING 0 33 116 0 0
## WALKING 0 0 0 272 25
## WALKING_DOWNSTAIRS 0 0 0 51 204
## WALKING_UPSTAIRS 4 3 5 52 42
## Reference
## Prediction WALKING_UPSTAIRS
## LAYING 0
## SITTING 0
## STANDING 0
## WALKING 8
## WALKING_DOWNSTAIRS 17
## WALKING_UPSTAIRS 305
##
## Overall Statistics
##
## Accuracy : 0.7296
## 95% CI : (0.7099, 0.7487)
## No Information Rate : 0.182
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.6755
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: LAYING Class: SITTING Class: STANDING
## Sensitivity 0.7978 0.8807 0.32133
## Specificity 0.9964 0.8179 0.98058
## Pos Pred Value 0.9801 0.4992 0.77852
## Neg Pred Value 0.9573 0.9708 0.87179
## Prevalence 0.1801 0.1709 0.17524
## Detection Rate 0.1437 0.1505 0.05631
## Detection Prevalence 0.1466 0.3015 0.07233
## Balanced Accuracy 0.8971 0.8493 0.65095
## Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity 0.7253 0.75277
## Specificity 0.9804 0.96199
## Pos Pred Value 0.8918 0.75000
## Neg Pred Value 0.9413 0.96253
## Prevalence 0.1820 0.13155
## Detection Rate 0.1320 0.09903
## Detection Prevalence 0.1481 0.13204
## Balanced Accuracy 0.8529 0.85738
## Class: WALKING_UPSTAIRS
## Sensitivity 0.9242
## Specificity 0.9387
## Pos Pred Value 0.7421
## Neg Pred Value 0.9848
## Prevalence 0.1602
## Detection Rate 0.1481
## Detection Prevalence 0.1995
## Balanced Accuracy 0.9315
Result of Naive Bayes Model: from the result of confusion matrix above as we can see the accuracy of the model is ~72%
Because all the predictors are numerical we can proceed to building the model.
splittiong between predictor and target variable
train.x <- train %>% select_if(is.numeric)
test.x <- test %>% select_if(is.numeric)
train.y <- train %>% select(Activity)
test.y <- test %>% select(Activity)scalling the predictors data
train.x.scale <- train.x %>% scale()
test.x.scale <- test.x %>%
scale(center = attr(train.x.scale, "scaled:center"),
scale = attr(train.x.scale, "scaled:scale"))find optimum K
k <- sqrt(nrow(train)) %>% round(digits = 0)Because the target is even (6 class) we should use odd amount of K. which is k=91
library(class)
cl = train.y[,"Activity"]
knn_pred <- knn(train = train.x.scale, # data train, predictors, scaled
test = test.x.scale, # data test, predictors, scaled
cl = cl, # data train, label (target) aktual
k = k)confusionMatrix(data = knn_pred, # confusion matrix needs the data in factor
reference = test.y[,"Activity"])## Confusion Matrix and Statistics
##
## Reference
## Prediction LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
## LAYING 352 3 0 0 0
## SITTING 1 288 14 0 0
## STANDING 17 61 347 0 0
## WALKING 0 0 0 369 21
## WALKING_DOWNSTAIRS 0 0 0 6 231
## WALKING_UPSTAIRS 1 0 0 0 19
## Reference
## Prediction WALKING_UPSTAIRS
## LAYING 0
## SITTING 0
## STANDING 0
## WALKING 11
## WALKING_DOWNSTAIRS 2
## WALKING_UPSTAIRS 317
##
## Overall Statistics
##
## Accuracy : 0.9243
## 95% CI : (0.912, 0.9353)
## No Information Rate : 0.182
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.9088
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: LAYING Class: SITTING Class: STANDING
## Sensitivity 0.9488 0.8182 0.9612
## Specificity 0.9982 0.9912 0.9541
## Pos Pred Value 0.9915 0.9505 0.8165
## Neg Pred Value 0.9889 0.9636 0.9914
## Prevalence 0.1801 0.1709 0.1752
## Detection Rate 0.1709 0.1398 0.1684
## Detection Prevalence 0.1723 0.1471 0.2063
## Balanced Accuracy 0.9735 0.9047 0.9577
## Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity 0.9840 0.8524
## Specificity 0.9810 0.9955
## Pos Pred Value 0.9202 0.9665
## Neg Pred Value 0.9964 0.9780
## Prevalence 0.1820 0.1316
## Detection Rate 0.1791 0.1121
## Detection Prevalence 0.1947 0.1160
## Balanced Accuracy 0.9825 0.9240
## Class: WALKING_UPSTAIRS
## Sensitivity 0.9606
## Specificity 0.9884
## Pos Pred Value 0.9407
## Neg Pred Value 0.9925
## Prevalence 0.1602
## Detection Rate 0.1539
## Detection Prevalence 0.1636
## Balanced Accuracy 0.9745
Result of KNN Model: from the result of confusion matrix above as we can see the accuracy of the model is very good with accuracy more than 92%.
model_svm <- svm(Activity ~ ., data = train)pred_svm <- predict(model_svm, test.x)confusionMatrix(pred_svm, test$Activity)## Confusion Matrix and Statistics
##
## Reference
## Prediction LAYING SITTING STANDING WALKING WALKING_DOWNSTAIRS
## LAYING 370 0 0 0 0
## SITTING 0 331 17 0 0
## STANDING 0 21 344 0 0
## WALKING 0 0 0 374 0
## WALKING_DOWNSTAIRS 1 0 0 1 270
## WALKING_UPSTAIRS 0 0 0 0 1
## Reference
## Prediction WALKING_UPSTAIRS
## LAYING 0
## SITTING 0
## STANDING 0
## WALKING 0
## WALKING_DOWNSTAIRS 0
## WALKING_UPSTAIRS 330
##
## Overall Statistics
##
## Accuracy : 0.9801
## 95% CI : (0.9731, 0.9857)
## No Information Rate : 0.182
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.9761
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: LAYING Class: SITTING Class: STANDING
## Sensitivity 0.9973 0.9403 0.9529
## Specificity 1.0000 0.9900 0.9876
## Pos Pred Value 1.0000 0.9511 0.9425
## Neg Pred Value 0.9994 0.9877 0.9900
## Prevalence 0.1801 0.1709 0.1752
## Detection Rate 0.1796 0.1607 0.1670
## Detection Prevalence 0.1796 0.1689 0.1772
## Balanced Accuracy 0.9987 0.9652 0.9703
## Class: WALKING Class: WALKING_DOWNSTAIRS
## Sensitivity 0.9973 0.9963
## Specificity 1.0000 0.9989
## Pos Pred Value 1.0000 0.9926
## Neg Pred Value 0.9994 0.9994
## Prevalence 0.1820 0.1316
## Detection Rate 0.1816 0.1311
## Detection Prevalence 0.1816 0.1320
## Balanced Accuracy 0.9987 0.9976
## Class: WALKING_UPSTAIRS
## Sensitivity 1.0000
## Specificity 0.9994
## Pos Pred Value 0.9970
## Neg Pred Value 1.0000
## Prevalence 0.1602
## Detection Rate 0.1602
## Detection Prevalence 0.1607
## Balanced Accuracy 0.9997
Result of Naive Bayes Model: from the result of confusion matrix above as we can see the accuracy of the model is quite high with accuracy 98%.
Based on several model that we test, we want to use the model with accuracy more than 90%. thus, the model that has the best accuracy is Support Vector Machine (SVM) model with 98% accuracy.
From our data we can see that with only two sensor from our smartphone (gyroscope and accelerometer) we can predict 6 type of human activity (standing, sitting, laying, walking, walking downstairs, and walking upstairs) with accuracy more than 90%.
For further research we should add more activity such as running, biking, and working out also add other sensor to imporve the accuracy even further.