This commit is contained in:
lda committed 2026-01-01 14:01:37 +07:00
commit 95b5e546dc
19 files changed
+7516

No files matched your search

File diff suppressed because it is too large. Load diff
+301
View File
@@ -0,0 +1,301 @@
timestamp,floor_requested,wait_time_seconds,direction,people_count,peak_hour,load_percent
2025-01-01 11:31,5,16.53,Down,5,No,53
2025-01-01 10:22,12,18.98,Down,3,Yes,20
2025-01-01 16:25,4,19.35,Down,1,No,10
2025-01-01 10:37,8,3.22,Up,4,Yes,31
2025-01-01 07:31,6,17.32,Up,4,No,50
2025-01-01 11:48,1,13.05,Down,5,No,57
2025-01-01 12:09,11,11.8,Up,1,No,14
2025-01-01 07:53,10,12.45,Up,4,No,49
2025-01-01 08:12,11,8.59,Up,4,Yes,46
2025-01-01 12:01,8,15.04,Up,1,No,10
2025-01-01 19:04,3,13.8,Down,5,Yes,43
2025-01-01 08:01,10,11.18,Up,1,Yes,10
2025-01-01 16:42,11,12.11,Down,2,No,23
2025-01-01 15:27,7,14.63,Down,1,No,10
2025-01-01 13:07,8,6.29,Up,9,No,78
2025-01-01 19:33,12,24.38,Up,5,Yes,47
2025-01-01 18:25,6,16.62,Down,4,Yes,26
2025-01-01 18:30,3,11.24,Up,4,Yes,33
2025-01-01 19:38,11,15.35,Up,4,Yes,25
2025-01-01 15:30,3,7.04,Down,4,No,23
2025-01-01 18:56,12,12.59,Up,4,Yes,29
2025-01-01 18:12,8,2.77,Up,3,Yes,43
2025-01-01 15:58,2,5.13,Up,1,No,10
2025-01-01 06:30,10,14.78,Down,1,No,13
2025-01-01 06:26,5,8.24,Down,1,No,10
2025-01-01 19:40,11,14.62,Up,2,Yes,25
2025-01-01 10:39,8,15.97,Up,4,Yes,54
2025-01-01 10:41,10,18.57,Up,5,Yes,53
2025-01-01 10:08,8,8.34,Down,4,Yes,21
2025-01-01 18:51,12,10.28,Down,4,Yes,47
2025-01-01 14:17,2,13.44,Up,4,No,44
2025-01-01 13:21,10,11.07,Up,4,No,41
2025-01-01 07:00,12,8.78,Down,8,No,57
2025-01-01 17:27,9,15.93,Up,4,No,30
2025-01-01 09:34,5,15.34,Up,2,Yes,46
2025-01-01 06:15,10,14.71,Down,8,No,70
2025-01-01 10:34,12,4.57,Down,1,Yes,11
2025-01-01 13:47,6,7.79,Up,3,No,43
2025-01-01 11:49,10,18.68,Down,3,No,31
2025-01-01 07:47,1,15.75,Down,5,No,57
2025-01-01 12:05,11,10.82,Down,3,No,11
2025-01-01 14:16,8,22.84,Up,6,No,58
2025-01-01 10:49,5,19.11,Up,6,Yes,63
2025-01-01 14:37,8,0.96,Up,1,No,10
2025-01-01 07:17,1,15.33,Down,5,No,54
2025-01-01 07:54,7,11.21,Down,1,No,10
2025-01-01 12:00,12,13.15,Up,4,No,40
2025-01-01 12:07,4,13.66,Down,3,No,36
2025-01-01 17:01,8,5.28,Down,2,No,12
2025-01-01 12:04,2,6.8,Up,1,No,33
2025-01-01 12:49,4,8.88,Down,5,No,50
2025-01-01 11:29,5,13.7,Up,1,No,10
2025-01-01 16:39,5,8.64,Down,3,No,21
2025-01-01 06:23,5,15.39,Up,5,No,52
2025-01-01 15:02,7,13.46,Up,4,No,44
2025-01-01 11:16,7,6.64,Up,1,No,10
2025-01-01 09:37,7,16.7,Down,8,Yes,73
2025-01-01 11:51,2,7.56,Down,1,No,10
2025-01-01 16:43,3,11.66,Down,4,No,42
2025-01-01 09:43,4,16.48,Down,2,Yes,16
2025-01-01 11:39,2,9.92,Down,4,No,42
2025-01-01 19:26,1,8.06,Up,1,Yes,12
2025-01-01 19:09,1,2.98,Down,4,Yes,52
2025-01-01 16:25,2,12.39,Up,3,No,32
2025-01-01 06:37,10,18.04,Up,3,No,36
2025-01-01 11:58,5,12.72,Down,5,No,35
2025-01-01 06:03,4,13.11,Down,3,No,35
2025-01-01 08:37,10,9.06,Up,2,Yes,13
2025-01-01 07:50,8,12.68,Down,4,No,37
2025-01-01 08:42,5,21.53,Up,5,Yes,61
2025-01-01 07:40,2,9.09,Down,6,No,66
2025-01-01 12:08,11,16.1,Up,3,No,29
2025-01-01 14:46,2,12.7,Down,6,No,53
2025-01-01 13:01,9,20.52,Down,4,No,59
2025-01-01 14:55,7,16.5,Up,5,No,54
2025-01-01 16:48,8,13.07,Down,5,No,71
2025-01-01 07:01,11,11.81,Down,4,No,43
2025-01-01 14:22,8,7.37,Up,4,No,49
2025-01-01 10:38,9,5.18,Up,6,Yes,65
2025-01-01 10:35,7,14.62,Down,3,Yes,20
2025-01-01 16:04,4,21.42,Down,7,No,61
2025-01-01 16:37,12,14.32,Up,4,No,47
2025-01-01 08:27,11,10.27,Down,4,Yes,29
2025-01-01 11:23,8,11.09,Up,1,No,10
2025-01-01 16:53,12,13.53,Up,5,No,45
2025-01-01 19:10,12,13.64,Up,3,Yes,21
2025-01-01 13:51,3,10.06,Down,4,No,36
2025-01-01 17:53,10,16.84,Up,3,No,33
2025-01-01 16:55,10,4.93,Down,2,No,46
2025-01-01 12:57,4,11.9,Down,5,No,37
2025-01-01 09:18,8,18.19,Up,5,Yes,57
2025-01-01 11:25,12,12.19,Down,1,No,10
2025-01-01 08:26,10,13.01,Up,1,Yes,25
2025-01-01 12:43,6,11.42,Down,6,No,47
2025-01-01 06:17,3,12.52,Up,6,No,57
2025-01-01 15:17,11,15.09,Up,1,No,10
2025-01-01 18:50,11,14.29,Up,5,Yes,41
2025-01-01 06:52,3,13.27,Down,2,No,10
2025-01-01 14:33,7,5.58,Down,1,No,14
2025-01-01 17:36,9,13.65,Down,6,No,52
2025-01-01 06:56,5,15.4,Down,2,No,34
2025-01-01 11:42,7,6.06,Down,4,No,26
2025-01-01 15:32,4,18.08,Down,2,No,13
2025-01-01 06:57,6,11.86,Down,6,No,49
2025-01-01 10:41,9,14.29,Down,3,Yes,32
2025-01-01 18:36,7,14.66,Up,6,Yes,63
2025-01-01 19:56,3,10.71,Up,9,Yes,100
2025-01-01 06:52,3,9.19,Up,5,No,37
2025-01-01 18:02,7,19.33,Up,1,Yes,22
2025-01-01 08:04,6,4.47,Down,1,Yes,10
2025-01-01 10:50,12,18.99,Up,4,Yes,42
2025-01-01 18:16,1,16.43,Down,4,Yes,33
2025-01-01 19:04,2,6.14,Up,3,Yes,33
2025-01-01 09:51,2,12.4,Up,5,Yes,42
2025-01-01 18:49,4,20.75,Down,5,Yes,48
2025-01-01 19:58,7,11.86,Up,6,Yes,70
2025-01-01 19:54,10,11.84,Down,1,Yes,10
2025-01-01 17:13,4,14.36,Down,6,No,52
2025-01-01 15:35,11,14.17,Down,6,No,75
2025-01-01 06:33,4,8.09,Down,2,No,10
2025-01-01 17:06,12,8.71,Down,4,No,36
2025-01-01 17:02,9,20.67,Down,3,No,25
2025-01-01 15:47,1,14.32,Down,3,No,29
2025-01-01 14:14,10,10.18,Up,2,No,23
2025-01-01 18:52,8,15.15,Up,4,Yes,53
2025-01-01 19:42,10,6.08,Up,1,Yes,14
2025-01-01 19:39,4,12.72,Up,6,Yes,65
2025-01-01 10:38,8,10.66,Down,5,Yes,42
2025-01-01 11:43,8,9.67,Up,3,No,34
2025-01-01 11:53,1,13.08,Down,2,No,24
2025-01-01 09:30,2,10.87,Down,2,Yes,11
2025-01-01 09:19,12,13.44,Up,2,Yes,10
2025-01-01 11:30,8,11.72,Down,4,No,32
2025-01-01 10:35,9,12.67,Up,3,Yes,23
2025-01-01 18:53,1,12.09,Down,3,Yes,40
2025-01-01 08:01,11,9.95,Down,7,Yes,70
2025-01-01 16:58,3,8.65,Down,4,No,42
2025-01-01 07:09,3,7.43,Up,3,No,32
2025-01-01 19:05,11,6.57,Down,4,Yes,34
2025-01-01 13:18,12,3.2,Down,4,No,40
2025-01-01 13:47,4,4.6,Up,5,No,35
2025-01-01 15:00,5,18.01,Up,2,No,15
2025-01-01 06:03,11,14.7,Down,1,No,10
2025-01-01 06:38,8,8.74,Up,3,No,24
2025-01-01 12:05,6,8.49,Up,4,No,38
2025-01-01 07:11,6,6.15,Down,3,No,36
2025-01-01 09:59,11,8.45,Down,3,Yes,22
2025-01-01 06:23,4,17.46,Down,5,No,61
2025-01-01 08:26,10,14.85,Up,6,Yes,56
2025-01-01 08:39,9,18.72,Up,1,Yes,10
2025-01-01 11:18,7,6.44,Up,2,No,15
2025-01-01 12:53,3,11.58,Down,4,No,31
2025-01-01 13:31,9,7.35,Up,2,No,28
2025-01-01 17:46,8,10.02,Up,5,No,62
2025-01-01 08:30,12,6.42,Down,1,Yes,10
2025-01-01 10:16,9,15.65,Down,4,Yes,55
2025-01-01 07:46,8,14.64,Down,1,No,10
2025-01-01 08:45,8,12.66,Up,2,Yes,21
2025-01-01 17:52,7,15.63,Up,9,No,84
2025-01-01 12:10,6,18.98,Up,4,No,41
2025-01-01 18:04,6,19.5,Down,4,Yes,21
2025-01-01 17:16,11,28.13,Up,4,No,40
2025-01-01 17:27,9,7.1,Down,4,No,30
2025-01-01 15:38,8,10.08,Down,4,No,44
2025-01-01 15:21,12,11.43,Down,4,No,36
2025-01-01 13:38,6,3.07,Down,5,No,46
2025-01-01 15:04,7,14.05,Down,5,No,32
2025-01-01 06:27,8,5.64,Up,3,No,21
2025-01-01 19:31,6,8.08,Up,2,Yes,22
2025-01-01 19:18,12,5.36,Down,3,Yes,20
2025-01-01 06:57,9,10.63,Down,3,No,31
2025-01-01 07:39,11,15.61,Up,5,No,44
2025-01-01 13:19,8,11.37,Down,6,No,55
2025-01-01 18:48,1,14.68,Down,4,Yes,40
2025-01-01 10:40,8,16.47,Down,1,Yes,10
2025-01-01 08:09,9,15.73,Up,3,Yes,28
2025-01-01 07:35,11,11.77,Down,3,No,45
2025-01-01 18:36,2,15.92,Up,8,Yes,87
2025-01-01 16:54,8,15.32,Up,5,No,35
2025-01-01 12:11,1,12.83,Up,1,No,10
2025-01-01 13:09,11,15.41,Up,6,No,57
2025-01-01 19:24,6,12.41,Down,2,Yes,18
2025-01-01 07:33,3,6.19,Up,1,No,14
2025-01-01 13:01,11,7.6,Up,2,No,22
2025-01-01 11:26,6,11.39,Down,1,No,11
2025-01-01 17:23,7,21.29,Up,1,No,10
2025-01-01 11:52,7,13.64,Up,5,No,55
2025-01-01 19:01,11,16.93,Up,2,Yes,18
2025-01-01 11:42,8,13.58,Down,6,No,66
2025-01-01 12:36,10,10.01,Up,4,No,33
2025-01-01 06:00,1,11.06,Down,5,No,47
2025-01-01 13:59,6,16.71,Down,2,No,10
2025-01-01 11:03,3,10.77,Down,5,No,43
2025-01-01 16:28,7,9.37,Down,3,No,34
2025-01-01 18:47,6,8.98,Down,1,Yes,10
2025-01-01 15:10,2,6.3,Up,3,No,33
2025-01-01 11:21,3,9.71,Up,6,No,41
2025-01-01 06:51,6,21.05,Up,6,No,61
2025-01-01 11:49,7,16.17,Down,5,No,48
2025-01-01 18:32,9,13.67,Down,1,Yes,30
2025-01-01 08:04,4,12.1,Down,5,Yes,34
2025-01-01 07:03,11,10.82,Up,7,No,59
2025-01-01 16:49,9,15.76,Up,8,No,89
2025-01-01 07:25,4,2.38,Down,3,No,43
2025-01-01 07:43,12,11.82,Up,6,No,71
2025-01-01 19:49,1,15.37,Up,4,Yes,36
2025-01-01 14:30,11,16.16,Up,4,No,38
2025-01-01 10:28,1,7.35,Up,1,Yes,11
2025-01-01 10:58,3,12.48,Up,4,Yes,35
2025-01-01 07:52,8,16.85,Down,3,No,16
2025-01-01 06:00,10,12.56,Down,6,No,48
2025-01-01 08:09,8,14.26,Up,5,Yes,65
2025-01-01 10:13,3,7.63,Up,4,Yes,38
2025-01-01 09:06,2,11.15,Down,3,Yes,19
2025-01-01 08:29,9,12.86,Up,3,Yes,40
2025-01-01 07:44,7,2.58,Down,2,No,12
2025-01-01 08:53,1,12.68,Up,2,Yes,28
2025-01-01 10:59,8,5.2,Down,3,Yes,22
2025-01-01 19:25,12,6.43,Up,5,Yes,48
2025-01-01 08:07,6,10.73,Up,1,Yes,10
2025-01-01 16:45,1,10.39,Down,6,No,59
2025-01-01 13:30,8,14.97,Up,2,No,10
2025-01-01 06:12,3,13.65,Up,7,No,64
2025-01-01 09:37,9,14.65,Down,6,Yes,51
2025-01-01 08:31,1,0.16,Up,2,Yes,23
2025-01-01 19:35,3,11.43,Down,4,Yes,31
2025-01-01 08:13,11,11.85,Down,3,Yes,31
2025-01-01 17:24,8,18.63,Up,10,No,100
2025-01-01 11:37,2,19.98,Down,3,No,24
2025-01-01 08:44,9,12.23,Down,4,Yes,50
2025-01-01 16:13,6,4.97,Up,4,No,51
2025-01-01 07:51,6,20.32,Down,6,No,54
2025-01-01 18:41,11,8.69,Up,5,Yes,45
2025-01-01 13:39,2,10.25,Down,8,No,63
2025-01-01 18:38,7,19.98,Up,4,Yes,28
2025-01-01 18:29,12,11.16,Down,2,Yes,25
2025-01-01 20:00,5,13.8,Down,3,No,11
2025-01-01 13:00,4,16.64,Up,3,No,36
2025-01-01 13:07,2,11.6,Up,4,No,49
2025-01-01 08:55,4,19.87,Up,4,Yes,55
2025-01-01 07:19,1,12.67,Up,2,No,16
2025-01-01 09:41,7,15.21,Up,4,Yes,28
2025-01-01 09:01,7,9.04,Down,2,Yes,26
2025-01-01 13:47,5,7.71,Up,1,No,20
2025-01-01 12:20,9,17.77,Up,5,No,43
2025-01-01 09:05,10,11.32,Up,6,Yes,48
2025-01-01 09:21,6,9.39,Up,6,Yes,45
2025-01-01 16:32,10,17.17,Down,2,No,34
2025-01-01 16:56,8,16.98,Down,6,No,67
2025-01-01 13:37,3,13.61,Up,4,No,39
2025-01-01 09:02,5,9.96,Down,7,Yes,68
2025-01-01 08:38,5,10.57,Up,8,Yes,72
2025-01-01 10:18,12,2.11,Up,1,Yes,11
2025-01-01 19:23,3,11.51,Down,3,Yes,21
2025-01-01 13:32,6,11.13,Down,4,No,31
2025-01-01 07:25,1,12.5,Down,4,No,49
2025-01-01 13:04,6,13.37,Down,2,No,10
2025-01-01 12:18,4,17.42,Up,1,No,10
2025-01-01 08:50,1,17.38,Up,4,Yes,47
2025-01-01 12:03,4,16.04,Down,2,No,10
2025-01-01 11:55,8,10.94,Down,2,No,11
2025-01-01 11:08,9,17.54,Up,4,No,47
2025-01-01 13:22,1,8.45,Up,5,No,67
2025-01-01 17:15,9,13.62,Up,4,No,51
2025-01-01 06:35,4,14.73,Up,4,No,31
2025-01-01 07:10,1,6.0,Up,6,No,57
2025-01-01 16:54,7,11.66,Up,3,No,24
2025-01-01 19:04,6,11.01,Down,2,Yes,21
2025-01-01 19:44,12,11.7,Down,2,Yes,10
2025-01-01 17:30,4,13.29,Down,5,No,65
2025-01-01 10:33,9,6.57,Up,4,Yes,32
2025-01-01 09:14,11,15.82,Up,3,Yes,21
2025-01-01 13:32,12,16.46,Down,5,No,59
2025-01-01 08:13,12,6.77,Down,2,Yes,29
2025-01-01 18:32,1,10.72,Down,1,Yes,14
2025-01-01 14:49,4,8.54,Down,1,No,10
2025-01-01 10:49,2,10.78,Up,1,Yes,10
2025-01-01 08:58,12,17.33,Down,4,Yes,27
2025-01-01 06:28,3,13.88,Up,4,No,34
2025-01-01 10:41,5,13.23,Down,6,Yes,58
2025-01-01 17:25,1,14.26,Down,7,No,65
2025-01-01 19:39,9,13.03,Up,3,Yes,26
2025-01-01 07:48,5,1.91,Up,5,No,47
2025-01-01 09:10,12,12.74,Down,4,Yes,36
2025-01-01 16:16,2,13.04,Down,5,No,50
2025-01-01 14:45,6,13.38,Up,3,No,38
2025-01-01 14:51,7,15.08,Up,2,No,26
2025-01-01 06:32,7,11.85,Down,1,No,10
2025-01-01 12:50,5,13.29,Down,1,No,10
2025-01-01 09:36,7,10.52,Down,3,Yes,13
2025-01-01 10:34,3,4.95,Up,5,Yes,50
2025-01-01 07:28,1,8.18,Down,6,No,67
2025-01-01 08:09,2,7.85,Down,7,Yes,69
2025-01-01 13:52,1,6.16,Up,7,No,51
2025-01-01 12:52,12,15.16,Up,3,No,43
2025-01-01 06:50,11,8.89,Up,4,No,19
2025-01-01 11:03,2,19.31,Up,6,No,59
2025-01-01 11:00,7,12.59,Down,1,No,10
2025-01-01 15:54,4,16.59,Up,6,No,69
2025-01-01 14:14,5,4.41,Up,3,No,20
1 timestamp floor_requested wait_time_seconds direction people_count peak_hour load_percent
2 2025-01-01 11:31 5 16.53 Down 5 No 53
3 2025-01-01 10:22 12 18.98 Down 3 Yes 20
4 2025-01-01 16:25 4 19.35 Down 1 No 10
5 2025-01-01 10:37 8 3.22 Up 4 Yes 31
6 2025-01-01 07:31 6 17.32 Up 4 No 50
7 2025-01-01 11:48 1 13.05 Down 5 No 57
8 2025-01-01 12:09 11 11.8 Up 1 No 14
9 2025-01-01 07:53 10 12.45 Up 4 No 49
10 2025-01-01 08:12 11 8.59 Up 4 Yes 46
11 2025-01-01 12:01 8 15.04 Up 1 No 10
12 2025-01-01 19:04 3 13.8 Down 5 Yes 43
13 2025-01-01 08:01 10 11.18 Up 1 Yes 10
14 2025-01-01 16:42 11 12.11 Down 2 No 23
15 2025-01-01 15:27 7 14.63 Down 1 No 10
16 2025-01-01 13:07 8 6.29 Up 9 No 78
17 2025-01-01 19:33 12 24.38 Up 5 Yes 47
18 2025-01-01 18:25 6 16.62 Down 4 Yes 26
19 2025-01-01 18:30 3 11.24 Up 4 Yes 33
20 2025-01-01 19:38 11 15.35 Up 4 Yes 25
21 2025-01-01 15:30 3 7.04 Down 4 No 23
22 2025-01-01 18:56 12 12.59 Up 4 Yes 29
23 2025-01-01 18:12 8 2.77 Up 3 Yes 43
24 2025-01-01 15:58 2 5.13 Up 1 No 10
25 2025-01-01 06:30 10 14.78 Down 1 No 13
26 2025-01-01 06:26 5 8.24 Down 1 No 10
27 2025-01-01 19:40 11 14.62 Up 2 Yes 25
28 2025-01-01 10:39 8 15.97 Up 4 Yes 54
29 2025-01-01 10:41 10 18.57 Up 5 Yes 53
30 2025-01-01 10:08 8 8.34 Down 4 Yes 21
31 2025-01-01 18:51 12 10.28 Down 4 Yes 47
32 2025-01-01 14:17 2 13.44 Up 4 No 44
33 2025-01-01 13:21 10 11.07 Up 4 No 41
34 2025-01-01 07:00 12 8.78 Down 8 No 57
35 2025-01-01 17:27 9 15.93 Up 4 No 30
36 2025-01-01 09:34 5 15.34 Up 2 Yes 46
37 2025-01-01 06:15 10 14.71 Down 8 No 70
38 2025-01-01 10:34 12 4.57 Down 1 Yes 11
39 2025-01-01 13:47 6 7.79 Up 3 No 43
40 2025-01-01 11:49 10 18.68 Down 3 No 31
41 2025-01-01 07:47 1 15.75 Down 5 No 57
42 2025-01-01 12:05 11 10.82 Down 3 No 11
43 2025-01-01 14:16 8 22.84 Up 6 No 58
44 2025-01-01 10:49 5 19.11 Up 6 Yes 63
45 2025-01-01 14:37 8 0.96 Up 1 No 10
46 2025-01-01 07:17 1 15.33 Down 5 No 54
47 2025-01-01 07:54 7 11.21 Down 1 No 10
48 2025-01-01 12:00 12 13.15 Up 4 No 40
49 2025-01-01 12:07 4 13.66 Down 3 No 36
50 2025-01-01 17:01 8 5.28 Down 2 No 12
51 2025-01-01 12:04 2 6.8 Up 1 No 33
52 2025-01-01 12:49 4 8.88 Down 5 No 50
53 2025-01-01 11:29 5 13.7 Up 1 No 10
54 2025-01-01 16:39 5 8.64 Down 3 No 21
55 2025-01-01 06:23 5 15.39 Up 5 No 52
56 2025-01-01 15:02 7 13.46 Up 4 No 44
57 2025-01-01 11:16 7 6.64 Up 1 No 10
58 2025-01-01 09:37 7 16.7 Down 8 Yes 73
59 2025-01-01 11:51 2 7.56 Down 1 No 10
60 2025-01-01 16:43 3 11.66 Down 4 No 42
61 2025-01-01 09:43 4 16.48 Down 2 Yes 16
62 2025-01-01 11:39 2 9.92 Down 4 No 42
63 2025-01-01 19:26 1 8.06 Up 1 Yes 12
64 2025-01-01 19:09 1 2.98 Down 4 Yes 52
65 2025-01-01 16:25 2 12.39 Up 3 No 32
66 2025-01-01 06:37 10 18.04 Up 3 No 36
67 2025-01-01 11:58 5 12.72 Down 5 No 35
68 2025-01-01 06:03 4 13.11 Down 3 No 35
69 2025-01-01 08:37 10 9.06 Up 2 Yes 13
70 2025-01-01 07:50 8 12.68 Down 4 No 37
71 2025-01-01 08:42 5 21.53 Up 5 Yes 61
72 2025-01-01 07:40 2 9.09 Down 6 No 66
73 2025-01-01 12:08 11 16.1 Up 3 No 29
74 2025-01-01 14:46 2 12.7 Down 6 No 53
75 2025-01-01 13:01 9 20.52 Down 4 No 59
76 2025-01-01 14:55 7 16.5 Up 5 No 54
77 2025-01-01 16:48 8 13.07 Down 5 No 71
78 2025-01-01 07:01 11 11.81 Down 4 No 43
79 2025-01-01 14:22 8 7.37 Up 4 No 49
80 2025-01-01 10:38 9 5.18 Up 6 Yes 65
81 2025-01-01 10:35 7 14.62 Down 3 Yes 20
82 2025-01-01 16:04 4 21.42 Down 7 No 61
83 2025-01-01 16:37 12 14.32 Up 4 No 47
84 2025-01-01 08:27 11 10.27 Down 4 Yes 29
85 2025-01-01 11:23 8 11.09 Up 1 No 10
86 2025-01-01 16:53 12 13.53 Up 5 No 45
87 2025-01-01 19:10 12 13.64 Up 3 Yes 21
88 2025-01-01 13:51 3 10.06 Down 4 No 36
89 2025-01-01 17:53 10 16.84 Up 3 No 33
90 2025-01-01 16:55 10 4.93 Down 2 No 46
91 2025-01-01 12:57 4 11.9 Down 5 No 37
92 2025-01-01 09:18 8 18.19 Up 5 Yes 57
93 2025-01-01 11:25 12 12.19 Down 1 No 10
94 2025-01-01 08:26 10 13.01 Up 1 Yes 25
95 2025-01-01 12:43 6 11.42 Down 6 No 47
96 2025-01-01 06:17 3 12.52 Up 6 No 57
97 2025-01-01 15:17 11 15.09 Up 1 No 10
98 2025-01-01 18:50 11 14.29 Up 5 Yes 41
99 2025-01-01 06:52 3 13.27 Down 2 No 10
100 2025-01-01 14:33 7 5.58 Down 1 No 14
101 2025-01-01 17:36 9 13.65 Down 6 No 52
102 2025-01-01 06:56 5 15.4 Down 2 No 34
103 2025-01-01 11:42 7 6.06 Down 4 No 26
104 2025-01-01 15:32 4 18.08 Down 2 No 13
105 2025-01-01 06:57 6 11.86 Down 6 No 49
106 2025-01-01 10:41 9 14.29 Down 3 Yes 32
107 2025-01-01 18:36 7 14.66 Up 6 Yes 63
108 2025-01-01 19:56 3 10.71 Up 9 Yes 100
109 2025-01-01 06:52 3 9.19 Up 5 No 37
110 2025-01-01 18:02 7 19.33 Up 1 Yes 22
111 2025-01-01 08:04 6 4.47 Down 1 Yes 10
112 2025-01-01 10:50 12 18.99 Up 4 Yes 42
113 2025-01-01 18:16 1 16.43 Down 4 Yes 33
114 2025-01-01 19:04 2 6.14 Up 3 Yes 33
115 2025-01-01 09:51 2 12.4 Up 5 Yes 42
116 2025-01-01 18:49 4 20.75 Down 5 Yes 48
117 2025-01-01 19:58 7 11.86 Up 6 Yes 70
118 2025-01-01 19:54 10 11.84 Down 1 Yes 10
119 2025-01-01 17:13 4 14.36 Down 6 No 52
120 2025-01-01 15:35 11 14.17 Down 6 No 75
121 2025-01-01 06:33 4 8.09 Down 2 No 10
122 2025-01-01 17:06 12 8.71 Down 4 No 36
123 2025-01-01 17:02 9 20.67 Down 3 No 25
124 2025-01-01 15:47 1 14.32 Down 3 No 29
125 2025-01-01 14:14 10 10.18 Up 2 No 23
126 2025-01-01 18:52 8 15.15 Up 4 Yes 53
127 2025-01-01 19:42 10 6.08 Up 1 Yes 14
128 2025-01-01 19:39 4 12.72 Up 6 Yes 65
129 2025-01-01 10:38 8 10.66 Down 5 Yes 42
130 2025-01-01 11:43 8 9.67 Up 3 No 34
131 2025-01-01 11:53 1 13.08 Down 2 No 24
132 2025-01-01 09:30 2 10.87 Down 2 Yes 11
133 2025-01-01 09:19 12 13.44 Up 2 Yes 10
134 2025-01-01 11:30 8 11.72 Down 4 No 32
135 2025-01-01 10:35 9 12.67 Up 3 Yes 23
136 2025-01-01 18:53 1 12.09 Down 3 Yes 40
137 2025-01-01 08:01 11 9.95 Down 7 Yes 70
138 2025-01-01 16:58 3 8.65 Down 4 No 42
139 2025-01-01 07:09 3 7.43 Up 3 No 32
140 2025-01-01 19:05 11 6.57 Down 4 Yes 34
141 2025-01-01 13:18 12 3.2 Down 4 No 40
142 2025-01-01 13:47 4 4.6 Up 5 No 35
143 2025-01-01 15:00 5 18.01 Up 2 No 15
144 2025-01-01 06:03 11 14.7 Down 1 No 10
145 2025-01-01 06:38 8 8.74 Up 3 No 24
146 2025-01-01 12:05 6 8.49 Up 4 No 38
147 2025-01-01 07:11 6 6.15 Down 3 No 36
148 2025-01-01 09:59 11 8.45 Down 3 Yes 22
149 2025-01-01 06:23 4 17.46 Down 5 No 61
150 2025-01-01 08:26 10 14.85 Up 6 Yes 56
151 2025-01-01 08:39 9 18.72 Up 1 Yes 10
152 2025-01-01 11:18 7 6.44 Up 2 No 15
153 2025-01-01 12:53 3 11.58 Down 4 No 31
154 2025-01-01 13:31 9 7.35 Up 2 No 28
155 2025-01-01 17:46 8 10.02 Up 5 No 62
156 2025-01-01 08:30 12 6.42 Down 1 Yes 10
157 2025-01-01 10:16 9 15.65 Down 4 Yes 55
158 2025-01-01 07:46 8 14.64 Down 1 No 10
159 2025-01-01 08:45 8 12.66 Up 2 Yes 21
160 2025-01-01 17:52 7 15.63 Up 9 No 84
161 2025-01-01 12:10 6 18.98 Up 4 No 41
162 2025-01-01 18:04 6 19.5 Down 4 Yes 21
163 2025-01-01 17:16 11 28.13 Up 4 No 40
164 2025-01-01 17:27 9 7.1 Down 4 No 30
165 2025-01-01 15:38 8 10.08 Down 4 No 44
166 2025-01-01 15:21 12 11.43 Down 4 No 36
167 2025-01-01 13:38 6 3.07 Down 5 No 46
168 2025-01-01 15:04 7 14.05 Down 5 No 32
169 2025-01-01 06:27 8 5.64 Up 3 No 21
170 2025-01-01 19:31 6 8.08 Up 2 Yes 22
171 2025-01-01 19:18 12 5.36 Down 3 Yes 20
172 2025-01-01 06:57 9 10.63 Down 3 No 31
173 2025-01-01 07:39 11 15.61 Up 5 No 44
174 2025-01-01 13:19 8 11.37 Down 6 No 55
175 2025-01-01 18:48 1 14.68 Down 4 Yes 40
176 2025-01-01 10:40 8 16.47 Down 1 Yes 10
177 2025-01-01 08:09 9 15.73 Up 3 Yes 28
178 2025-01-01 07:35 11 11.77 Down 3 No 45
179 2025-01-01 18:36 2 15.92 Up 8 Yes 87
180 2025-01-01 16:54 8 15.32 Up 5 No 35
181 2025-01-01 12:11 1 12.83 Up 1 No 10
182 2025-01-01 13:09 11 15.41 Up 6 No 57
183 2025-01-01 19:24 6 12.41 Down 2 Yes 18
184 2025-01-01 07:33 3 6.19 Up 1 No 14
185 2025-01-01 13:01 11 7.6 Up 2 No 22
186 2025-01-01 11:26 6 11.39 Down 1 No 11
187 2025-01-01 17:23 7 21.29 Up 1 No 10
188 2025-01-01 11:52 7 13.64 Up 5 No 55
189 2025-01-01 19:01 11 16.93 Up 2 Yes 18
190 2025-01-01 11:42 8 13.58 Down 6 No 66
191 2025-01-01 12:36 10 10.01 Up 4 No 33
192 2025-01-01 06:00 1 11.06 Down 5 No 47
193 2025-01-01 13:59 6 16.71 Down 2 No 10
194 2025-01-01 11:03 3 10.77 Down 5 No 43
195 2025-01-01 16:28 7 9.37 Down 3 No 34
196 2025-01-01 18:47 6 8.98 Down 1 Yes 10
197 2025-01-01 15:10 2 6.3 Up 3 No 33
198 2025-01-01 11:21 3 9.71 Up 6 No 41
199 2025-01-01 06:51 6 21.05 Up 6 No 61
200 2025-01-01 11:49 7 16.17 Down 5 No 48
201 2025-01-01 18:32 9 13.67 Down 1 Yes 30
202 2025-01-01 08:04 4 12.1 Down 5 Yes 34
203 2025-01-01 07:03 11 10.82 Up 7 No 59
204 2025-01-01 16:49 9 15.76 Up 8 No 89
205 2025-01-01 07:25 4 2.38 Down 3 No 43
206 2025-01-01 07:43 12 11.82 Up 6 No 71
207 2025-01-01 19:49 1 15.37 Up 4 Yes 36
208 2025-01-01 14:30 11 16.16 Up 4 No 38
209 2025-01-01 10:28 1 7.35 Up 1 Yes 11
210 2025-01-01 10:58 3 12.48 Up 4 Yes 35
211 2025-01-01 07:52 8 16.85 Down 3 No 16
212 2025-01-01 06:00 10 12.56 Down 6 No 48
213 2025-01-01 08:09 8 14.26 Up 5 Yes 65
214 2025-01-01 10:13 3 7.63 Up 4 Yes 38
215 2025-01-01 09:06 2 11.15 Down 3 Yes 19
216 2025-01-01 08:29 9 12.86 Up 3 Yes 40
217 2025-01-01 07:44 7 2.58 Down 2 No 12
218 2025-01-01 08:53 1 12.68 Up 2 Yes 28
219 2025-01-01 10:59 8 5.2 Down 3 Yes 22
220 2025-01-01 19:25 12 6.43 Up 5 Yes 48
221 2025-01-01 08:07 6 10.73 Up 1 Yes 10
222 2025-01-01 16:45 1 10.39 Down 6 No 59
223 2025-01-01 13:30 8 14.97 Up 2 No 10
224 2025-01-01 06:12 3 13.65 Up 7 No 64
225 2025-01-01 09:37 9 14.65 Down 6 Yes 51
226 2025-01-01 08:31 1 0.16 Up 2 Yes 23
227 2025-01-01 19:35 3 11.43 Down 4 Yes 31
228 2025-01-01 08:13 11 11.85 Down 3 Yes 31
229 2025-01-01 17:24 8 18.63 Up 10 No 100
230 2025-01-01 11:37 2 19.98 Down 3 No 24
231 2025-01-01 08:44 9 12.23 Down 4 Yes 50
232 2025-01-01 16:13 6 4.97 Up 4 No 51
233 2025-01-01 07:51 6 20.32 Down 6 No 54
234 2025-01-01 18:41 11 8.69 Up 5 Yes 45
235 2025-01-01 13:39 2 10.25 Down 8 No 63
236 2025-01-01 18:38 7 19.98 Up 4 Yes 28
237 2025-01-01 18:29 12 11.16 Down 2 Yes 25
238 2025-01-01 20:00 5 13.8 Down 3 No 11
239 2025-01-01 13:00 4 16.64 Up 3 No 36
240 2025-01-01 13:07 2 11.6 Up 4 No 49
241 2025-01-01 08:55 4 19.87 Up 4 Yes 55
242 2025-01-01 07:19 1 12.67 Up 2 No 16
243 2025-01-01 09:41 7 15.21 Up 4 Yes 28
244 2025-01-01 09:01 7 9.04 Down 2 Yes 26
245 2025-01-01 13:47 5 7.71 Up 1 No 20
246 2025-01-01 12:20 9 17.77 Up 5 No 43
247 2025-01-01 09:05 10 11.32 Up 6 Yes 48
248 2025-01-01 09:21 6 9.39 Up 6 Yes 45
249 2025-01-01 16:32 10 17.17 Down 2 No 34
250 2025-01-01 16:56 8 16.98 Down 6 No 67
251 2025-01-01 13:37 3 13.61 Up 4 No 39
252 2025-01-01 09:02 5 9.96 Down 7 Yes 68
253 2025-01-01 08:38 5 10.57 Up 8 Yes 72
254 2025-01-01 10:18 12 2.11 Up 1 Yes 11
255 2025-01-01 19:23 3 11.51 Down 3 Yes 21
256 2025-01-01 13:32 6 11.13 Down 4 No 31
257 2025-01-01 07:25 1 12.5 Down 4 No 49
258 2025-01-01 13:04 6 13.37 Down 2 No 10
259 2025-01-01 12:18 4 17.42 Up 1 No 10
260 2025-01-01 08:50 1 17.38 Up 4 Yes 47
261 2025-01-01 12:03 4 16.04 Down 2 No 10
262 2025-01-01 11:55 8 10.94 Down 2 No 11
263 2025-01-01 11:08 9 17.54 Up 4 No 47
264 2025-01-01 13:22 1 8.45 Up 5 No 67
265 2025-01-01 17:15 9 13.62 Up 4 No 51
266 2025-01-01 06:35 4 14.73 Up 4 No 31
267 2025-01-01 07:10 1 6.0 Up 6 No 57
268 2025-01-01 16:54 7 11.66 Up 3 No 24
269 2025-01-01 19:04 6 11.01 Down 2 Yes 21
270 2025-01-01 19:44 12 11.7 Down 2 Yes 10
271 2025-01-01 17:30 4 13.29 Down 5 No 65
272 2025-01-01 10:33 9 6.57 Up 4 Yes 32
273 2025-01-01 09:14 11 15.82 Up 3 Yes 21
274 2025-01-01 13:32 12 16.46 Down 5 No 59
275 2025-01-01 08:13 12 6.77 Down 2 Yes 29
276 2025-01-01 18:32 1 10.72 Down 1 Yes 14
277 2025-01-01 14:49 4 8.54 Down 1 No 10
278 2025-01-01 10:49 2 10.78 Up 1 Yes 10
279 2025-01-01 08:58 12 17.33 Down 4 Yes 27
280 2025-01-01 06:28 3 13.88 Up 4 No 34
281 2025-01-01 10:41 5 13.23 Down 6 Yes 58
282 2025-01-01 17:25 1 14.26 Down 7 No 65
283 2025-01-01 19:39 9 13.03 Up 3 Yes 26
284 2025-01-01 07:48 5 1.91 Up 5 No 47
285 2025-01-01 09:10 12 12.74 Down 4 Yes 36
286 2025-01-01 16:16 2 13.04 Down 5 No 50
287 2025-01-01 14:45 6 13.38 Up 3 No 38
288 2025-01-01 14:51 7 15.08 Up 2 No 26
289 2025-01-01 06:32 7 11.85 Down 1 No 10
290 2025-01-01 12:50 5 13.29 Down 1 No 10
291 2025-01-01 09:36 7 10.52 Down 3 Yes 13
292 2025-01-01 10:34 3 4.95 Up 5 Yes 50
293 2025-01-01 07:28 1 8.18 Down 6 No 67
294 2025-01-01 08:09 2 7.85 Down 7 Yes 69
295 2025-01-01 13:52 1 6.16 Up 7 No 51
296 2025-01-01 12:52 12 15.16 Up 3 No 43
297 2025-01-01 06:50 11 8.89 Up 4 No 19
298 2025-01-01 11:03 2 19.31 Up 6 No 59
299 2025-01-01 11:00 7 12.59 Down 1 No 10
300 2025-01-01 15:54 4 16.59 Up 6 No 69
301 2025-01-01 14:14 5 4.41 Up 3 No 20
+1162
View File
File diff suppressed because it is too large. Load diff
+606
View File
@@ -0,0 +1,606 @@
# some funny
## import
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
```
## read
```python
# read
apple = pd.read_csv("apple_quality.csv")
elevator = pd.read_csv("elevator_traffic_dataset.csv")
# show basic info
print(apple.info())
print(elevator.info())
```
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4000 entries, 0 to 3999
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A_id 4000 non-null int64
1 Size 4000 non-null float64
2 Weight 4000 non-null float64
3 Sweetness 4000 non-null float64
4 Crunchiness 4000 non-null float64
5 Juiciness 4000 non-null float64
6 Ripeness 4000 non-null float64
7 Acidity 4000 non-null float64
8 Quality 4000 non-null object
dtypes: float64(7), int64(1), object(1)
memory usage: 281.4+ KB
None
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 300 entries, 0 to 299
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 timestamp 300 non-null object
1 floor_requested 300 non-null int64
2 wait_time_seconds 300 non-null float64
3 direction 300 non-null object
4 people_count 300 non-null int64
5 peak_hour 300 non-null object
6 load_percent 300 non-null int64
dtypes: float64(1), int64(3), object(3)
memory usage: 16.5+ KB
None
## Questions 1.2
- Discrete or continuous
- Discrete = fixed values (0/1, categories)
- Continuous = real numbers (height, weight)
- Quantitative or qualitative
- Quantitative = numeric, measurable
- Qualitative = descriptive (color, gender)
- Numerical or categorical
- Numerical = numbers
- Categorical = labels (even if encoded as numbers)
### Apple
| Column | Discrete / Continuous | Quant / Qual | Numerical / Categorical | Notes |
| ------------- | --------------------- | ------------ | ----------------------- | ------------------------------------------------- |
| `A_id` | Discrete | Qualitative | Categorical | ID → **exclude from PCA** |
| `Size` | Continuous | Quantitative | Numerical | Negative = centered / standardized value (normal) |
| `Weight` | Continuous | Quantitative | Numerical | Same |
| `Sweetness` | Continuous | Quantitative | Numerical | Sensor score |
| `Crunchiness` | Continuous | Quantitative | Numerical | Sensor score |
| `Juiciness` | Continuous | Quantitative | Numerical | Sensor score |
| `Ripeness` | Continuous | Quantitative | Numerical | Sensor score |
| `Acidity` | Continuous | Quantitative | Numerical | Sensor score |
| `Quality` | Discrete | Qualitative | Categorical | **Label (Good/Bad)** |
### Elevator
| Column | Discrete / Continuous | Quant / Qual | Numerical / Categorical | Notes |
| ------------------- | --------------------- | ------------ | ----------------------- | ----------------------------- |
| `timestamp` | Continuous (time) | Quantitative | Numerical | Usually **excluded from PCA** |
| `floor_requested` | Discrete | Quantitative | Numerical | Integers, ordered |
| `wait_time_seconds` | Continuous | Quantitative | Numerical | Good PCA feature |
| `direction` | Discrete | Qualitative | Categorical | Label (Up/Down) |
| `people_count` | Discrete | Quantitative | Numerical | Count |
| `peak_hour` | Discrete | Qualitative | Categorical | Label (Yes/No) |
| `load_percent` | Continuous | Quantitative | Numerical | 0–100 |
## Clean the Data
We need light preparation
### Apple: drop ID & encode quality label
```python
X_apple = apple.drop(columns=["A_id", "Quality"])
y_apple = apple["Quality"]
X_apple.head()
```
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Size</th>
<th>Weight</th>
<th>Sweetness</th>
<th>Crunchiness</th>
<th>Juiciness</th>
<th>Ripeness</th>
<th>Acidity</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>-3.970049</td>
<td>-2.512336</td>
<td>5.346330</td>
<td>-1.012009</td>
<td>1.844900</td>
<td>0.329840</td>
<td>-0.491590</td>
</tr>
<tr>
<th>1</th>
<td>-1.195217</td>
<td>-2.839257</td>
<td>3.664059</td>
<td>1.588232</td>
<td>0.853286</td>
<td>0.867530</td>
<td>-0.722809</td>
</tr>
<tr>
<th>2</th>
<td>-0.292024</td>
<td>-1.351282</td>
<td>-1.738429</td>
<td>-0.342616</td>
<td>2.838636</td>
<td>-0.038033</td>
<td>2.621636</td>
</tr>
<tr>
<th>3</th>
<td>-0.657196</td>
<td>-2.271627</td>
<td>1.324874</td>
<td>-0.097875</td>
<td>3.637970</td>
<td>-3.413761</td>
<td>0.790723</td>
</tr>
<tr>
<th>4</th>
<td>1.364217</td>
<td>-1.296612</td>
<td>-0.384658</td>
<td>-0.553006</td>
<td>3.030874</td>
<td>-1.303849</td>
<td>0.501984</td>
</tr>
</tbody>
</table>
</div>
### Elevator: encode direction & drop timestamp
```python
elev = elevator.copy()
# encode categorical
elev = pd.get_dummies(elev, columns=["direction"], drop_first=True)
# drop timestamp
X_elev = elev.drop(columns=["timestamp", "peak_hour"])
y_elev = elev["peak_hour"]
X_elev.head()
```
<div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>floor_requested</th>
<th>wait_time_seconds</th>
<th>people_count</th>
<th>load_percent</th>
<th>direction_Up</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>5</td>
<td>16.53</td>
<td>5</td>
<td>53</td>
<td>False</td>
</tr>
<tr>
<th>1</th>
<td>12</td>
<td>18.98</td>
<td>3</td>
<td>20</td>
<td>False</td>
</tr>
<tr>
<th>2</th>
<td>4</td>
<td>19.35</td>
<td>1</td>
<td>10</td>
<td>False</td>
</tr>
<tr>
<th>3</th>
<td>8</td>
<td>3.22</td>
<td>4</td>
<td>31</td>
<td>True</td>
</tr>
<tr>
<th>4</th>
<td>6</td>
<td>17.32</td>
<td>4</td>
<td>50</td>
<td>True</td>
</tr>
</tbody>
</table>
</div>
## Question 1.4
There are labels!
for Apple is `Quality`
for elevator we may have `peak_hour` as weak label
PCA is unsupervised, so labels are not used in PCA, only for visualization or interpretation.
## Summary Statistics
- Mean: average of a feature
- Variance: how spread out values are
- Covariance: how two features move together
- Correlation: normalized covariance (range -1 to 1)
Mean, variance, covariance, and correlation are not defined for categorical features unless encoded. Therefore, PCA is applied only to numerical features.
```python
print("Apple mean:\n", X_apple.mean())
print("\nApple variance:\n", X_apple.var())
print("\nApple covariance:\n", X_apple.cov())
print("\nApple correlation:\n", X_apple.corr())
```
Apple mean:
Size -0.503015
Weight -0.989547
Sweetness -0.470479
Crunchiness 0.985478
Juiciness 0.512118
Ripeness 0.498277
Acidity 0.076877
dtype: float64
Apple variance:
Size 3.717410
Weight 2.568029
Sweetness 3.776962
Crunchiness 1.967728
Juiciness 3.726003
Ripeness 3.513476
Acidity 4.453238
dtype: float64
Apple covariance:
Size Weight Sweetness Crunchiness Juiciness Ripeness \
Size 3.717410 -0.527422 -1.216599 0.459425 -0.070312 -0.487070
Weight -0.527422 2.568029 -0.480381 -0.215535 -0.285396 -0.732395
Sweetness -1.216599 -0.480381 3.776962 -0.102373 0.359690 -0.997409
Crunchiness 0.459425 -0.215535 -0.102373 1.967728 -0.702944 -0.531084
Juiciness -0.070312 -0.285396 0.359690 -0.702944 3.726003 -0.351485
Ripeness -0.487070 -0.732395 -0.997409 -0.531084 -0.351485 3.513476
Acidity 0.798357 0.055508 0.352699 0.207045 1.013117 -0.801667
Acidity
Size 0.798357
Weight 0.055508
Sweetness 0.352699
Crunchiness 0.207045
Juiciness 1.013117
Ripeness -0.801667
Acidity 4.453238
Apple correlation:
Size Weight Sweetness Crunchiness Juiciness Ripeness \
Size 1.000000 -0.170702 -0.324680 0.169868 -0.018892 -0.134773
Weight -0.170702 1.000000 -0.154246 -0.095882 -0.092263 -0.243824
Sweetness -0.324680 -0.154246 1.000000 -0.037552 0.095882 -0.273800
Crunchiness 0.169868 -0.095882 -0.037552 1.000000 -0.259607 -0.201982
Juiciness -0.018892 -0.092263 0.095882 -0.259607 1.000000 -0.097144
Ripeness -0.134773 -0.243824 -0.273800 -0.201982 -0.097144 1.000000
Acidity 0.196218 0.016414 0.085999 0.069943 0.248714 -0.202669
Acidity
Size 0.196218
Weight 0.016414
Sweetness 0.085999
Crunchiness 0.069943
Juiciness 0.248714
Ripeness -0.202669
Acidity 1.000000
```python
print("Elevator mean:\n", X_elev.mean())
print("\nElevator variance:\n", X_elev.var())
print("\nElevator covariance:\n", X_elev.cov())
print("\nElevator correlation:\n", X_elev.corr())
```
Elevator mean:
floor_requested 6.683333
wait_time_seconds 12.227300
people_count 3.713333
load_percent 36.250000
direction_Up 0.503333
dtype: float64
Elevator variance:
floor_requested 11.942865
wait_time_seconds 20.445000
people_count 3.589788
load_percent 378.362040
direction_Up 0.250825
dtype: float64
Elevator covariance:
floor_requested wait_time_seconds people_count \
floor_requested 11.942865 1.237570 -0.539242
wait_time_seconds 1.237570 20.445000 1.335444
people_count -0.539242 1.335444 3.589788
load_percent -6.087793 15.086062 33.001672
direction_Up 0.123133 0.099156 0.041093
load_percent direction_Up
floor_requested -6.087793 0.123133
wait_time_seconds 15.086062 0.099156
people_count 33.001672 0.041093
load_percent 378.362040 1.027592
direction_Up 1.027592 0.250825
Elevator correlation:
floor_requested wait_time_seconds people_count \
floor_requested 1.000000 0.079199 -0.082356
wait_time_seconds 0.079199 1.000000 0.155883
people_count -0.082356 0.155883 1.000000
load_percent -0.090563 0.171525 0.895463
direction_Up 0.071143 0.043787 0.043306
load_percent direction_Up
floor_requested -0.090563 0.071143
wait_time_seconds 0.171525 0.043787
people_count 0.895463 0.043306
load_percent 1.000000 0.105483
direction_Up 0.105483 1.000000
### Most Correlated Pairs
```python
sns.heatmap(X_apple.corr(), annot=True)
plt.title("Apple Correlation Matrix")
plt.show()
sns.heatmap(X_elev.corr(), annot=True)
plt.title("Elevator Correlation Matrix")
plt.show()
```
![png](lw1_files/lw1_17_0.png)
![png](lw1_files/lw1_17_1.png)
#### apple
size vs. sweetness? sweetness vs. ripeness? juiciness vs crunchiness? juiciness vs acidity? idek
#### elevator
load percent vs people count.
wait time seconds vs people count? wait time seconds vs load percent?
### cov
```python
sns.heatmap(X_apple.cov(), annot=True)
plt.title("Apple covariance")
plt.show()
sns.heatmap(X_elev.cov(), annot=True)
plt.title("Elevator covariance")
plt.show()
```
![png](lw1_files/lw1_20_0.png)
![png](lw1_files/lw1_20_1.png)
## Question 1.7
There are no missing data.
## Standardize
```python
scaler = StandardScaler()
X_apple_scaled = scaler.fit_transform(X_apple)
X_elev_scaled = scaler.fit_transform(X_elev)
```
## PCA Fit & Transform
```python
pca_apple = PCA()
apple_pcs = pca_apple.fit_transform(X_apple_scaled)
print("Explained variance ratio:", pca_apple.explained_variance_ratio_)
```
Explained variance ratio: [0.21614201 0.20861653 0.17947635 0.16370152 0.10115033 0.08706457
0.04384867]
```python
pca_elev = PCA()
elev_pcs = pca_elev.fit_transform(X_elev_scaled)
print("Explained variance ratio:", pca_elev.explained_variance_ratio_)
```
Explained variance ratio: [0.39472121 0.22406513 0.19121082 0.16957634 0.0204265 ]
## question 2.1
What PCA actually does:
- Takes many correlated features
- Rotates the space
- Finds new axes (principal components)
- PC1 = most variance
- PC2 = second most, orthogonal
### Is there any difference while using principal components with highest and lowest values?
Using lowest-variance components loses information and mostly captures noise.
## 2D PCA Plot
```python
plt.figure()
plt.scatter(
apple_pcs[:, 0], apple_pcs[:, 1], c=(y_apple == "good").astype(int), cmap="coolwarm"
)
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.title("Apple PCA 2D")
plt.colorbar(label="Good=1 Bad=0")
plt.show()
```
![png](lw1_files/lw1_29_0.png)
```python
plt.figure()
plt.scatter(
elev_pcs[:, 0], elev_pcs[:, 1], c=(y_elev == "Yes").astype(int), cmap="viridis"
)
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.title("Elevator PCA 2D")
plt.colorbar(label="Peak hour (1=Yes)")
plt.show()
```
![png](lw1_files/lw1_30_0.png)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.