You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

508 lines
14 KiB

WEBVTT
00:01.430 --> 00:06.980
이 과정의 큰 프로젝트에 대해 코딩하는 건 이번이 처음이죠
00:06.980 --> 00:08.930
주피터 연구소에 잘 오셨어요
00:08.930 --> 00:14.390
6주 차 폴더에 오신 걸 환영합니다 큰 프로젝트에 착수했죠
00:14.390 --> 00:20.870
그래서 우리 프로젝트는 제품 설명에 근거해 가격을 추정할 수 있는 모델을 만드는
00:20.870 --> 00:21.710
거죠
00:21.710 --> 00:26.120
오늘은 데이터 큐레이션의 첫 단계를 할 거예요
00:26.120 --> 00:34.220
우선 가정용 가전제품이나 세탁기 같은 가전제품의 데이터부터 살펴보죠
00:34.220 --> 00:36.710
먼저 데이터 집합을 보여드릴게요
00:36.710 --> 00:39.260
데이터 집합은 이 링크에 있어요
00:39.260 --> 00:46.190
이건 안아주는 얼굴 허브의 안아주는 얼굴 데이터셋 섹션의 데이터셋이에요
00:46.580 --> 00:55.520
아마존에서 조사한 리뷰의 일련인데 그 시대를 거슬러 올라가죠
00:55.520 --> 00:59.810
하지만 20년에 생긴 이 잔해는 2023년 말에 생긴 거예요
01:00.020 --> 01:07.450
리뷰도 엄청나게 많이 실렸고 거의 5천만 개의 아이템이 실려 있어요
01:07.450 --> 01:15.040
다양한 제품이 있고 여러 카테고리로 나뉘어 있어요
01:15.250 --> 01:17.410
이걸 다 가지고는 일 못 해요
01:17.410 --> 01:22.870
여기서 일부를 추출할 겁니다 이 훈련에 가장 흥미로운
01:22.870 --> 01:24.070
범주예요
01:24.490 --> 01:28.930
안 그러면 훈련하는 데 너무 오래 걸려서 재미가 없을 거예요
01:28.930 --> 01:34.000
우리가 작업하는 데이터의 종류에 대한 좋은 감각을 제공하죠
01:34.330 --> 01:41.560
안는 얼굴 폴더로 들어가 볼게요. 메타데이터가 들어있는 폴더입니다. 제품과
01:41.590 --> 01:48.400
설명, 가격에 대한 데이터입니다. 우리가 정말 신경 쓰는 것들이죠.
01:48.430 --> 01:49.270
여기 있네요
01:49.300 --> 01:56.380
좋은 감을 잡을 수 있어요 전자 제품의 데이터 세트를 보면요 크기가 5기가바이트
01:56.380 --> 01:59.320
조금 넘는 걸 보실 수 있어요
01:59.320 --> 02:05.110
빅데이터 집합이죠 유용한 정보가 엄청나게 많아요
02:05.110 --> 02:08.160
7개월 전에 업로드됐고요
02:08.160 --> 02:10.290
최근 일이군요
02:11.100 --> 02:14.010
Get up, Get up, Get up, Get up, Get, 시작, 시작할게요
02:14.010 --> 02:16.410
수입 문제부터 시작하죠
02:16.440 --> 02:19.440
복잡할 게 없죠
02:19.470 --> 02:20.700
아직은요
02:20.730 --> 02:22.380
더 많이 올 거예요
02:22.680 --> 02:24.660
환경을 설정할 거예요
02:24.690 --> 02:26.550
오늘 이걸 쓸 건 아니지만요
02:26.550 --> 02:28.260
그냥 껴안는 얼굴만 할 거예요
02:28.290 --> 02:29.970
얼굴 포옹에 로그인하세요
02:30.720 --> 02:37.230
매트플로틀리브가 유피터 노트북에 차트를 띄울 수 있게 해 주죠
02:37.380 --> 02:41.070
먼저 데이터 세트를 로드해요
02:41.070 --> 02:45.660
우리가 할 일은 데이터 집합의 이름을 지정하는 겁니다 Amazon reviews요
02:45.660 --> 02:49.980
어플라이언스 카테고리로 시작하도록 선택할게요
02:50.010 --> 02:56.970
냉장고나 세탁기 같은 가전제품을 가장 먼저 로드할 거예요
02:57.000 --> 03:03.480
얼굴 포옹 데이터 로드셋 함수를 이용해서요
03:03.780 --> 03:09.330
이걸 처음 실행하면 H깅페이스 허브에서 다운로드 됩니다
03:09.350 --> 03:13.370
제가 이미 했기 때문에 그건 필요 없죠
03:13.400 --> 03:20.870
이미 완성된 가전제품이 몇 개나 있는지 확인할 거예요
03:20.990 --> 03:26.510
가전제품이 94,000개 있어요
03:26.510 --> 03:28.520
이 중 하나를 보죠
03:28.520 --> 03:34.550
어디 보자 데이터 포인트가 데이터셋이라고 해보죠
03:35.030 --> 03:36.290
첫 번째 걸 보죠
03:36.290 --> 03:37.100
안 될 거 없죠
03:37.370 --> 03:38.360
한번 보죠
03:42.590 --> 03:44.210
이렇게 생긴 거군요
03:44.210 --> 03:45.950
정보가 아주 많아요
03:45.950 --> 03:49.370
하지만 특히 기능이라는 게 있어요
03:49.370 --> 03:54.350
제목도 있고 몇 가지 다른 것도 있는데 아마 유용할 거예요
03:54.530 --> 04:01.910
특히 제목, 설명, 기능 세부 사항, 가격이 있죠
04:01.940 --> 04:04.970
하나씩 프린트해서 잠깐 보도록 하죠
04:05.030 --> 04:06.770
이게 제목이에요
04:06.770 --> 04:09.860
얼음 제조기 조리대예요
04:09.890 --> 04:13.280
이 묘사는 비어 있어요
04:13.820 --> 04:16.430
이게 세부 사항이에요
04:16.460 --> 04:24.830
기능이 아주 많아요 상세 정보와 가격은 문제가 바로 보이네요
04:24.830 --> 04:26.870
이 경우엔 프라이스가 없어요
04:26.870 --> 04:30.080
모든 물건에 가격이 있는 건 아니군요
04:30.560 --> 04:35.780
보다시피 설명은 목록의 형태로 나타나죠
04:35.780 --> 04:41.090
특성이라면 세부 사항은 사전 형태로 나오겠죠
04:41.090 --> 04:43.790
그건 속임수지만 사전은 아니에요
04:43.790 --> 04:47.180
JSON을 포함하는 문자열이죠
04:47.180 --> 04:54.980
이 텍스트를 읽어내려면 로드 인을 하고 A를 써서 사전으로 변환해야 해요 JSON
04:54.980 --> 04:58.940
로드 문자열 로드 s를 써서요
05:00.020 --> 05:01.310
05:01.310 --> 05:05.060
다른 데이터 포인트를 보고 다음 걸 보죠
05:05.060 --> 05:12.740
냉장고 달걀꽂이처럼 생겼고 달걀 10개까지 들어가며 하나도 없어요
05:13.250 --> 05:15.390
이것도 가격은 없어요
05:15.420 --> 05:17.880
세 번째도 가격표가 없어요
05:17.880 --> 05:20.940
새 건조기 드럼 슬라이드예요
05:20.940 --> 05:24.720
이 시점에서 처음으로 걱정하게 될지도 몰라요
05:24.750 --> 05:27.300
가전제품이 94,000개예요
05:27.300 --> 05:30.000
처음 본 세 개는 가격이 없었어요
05:30.000 --> 05:32.340
몇 개나 가격이 적혀 있는지 보죠
05:32.340 --> 05:37.800
간단한 방법은 데이터 집합의 모든 데이터 포인트를 반복하는 거죠
05:37.800 --> 05:40.410
Get it, get it, get it, it! 그럼 우린 돈을 벌겠죠
05:40.650 --> 05:44.040
그걸 try 블록에 넣을 거예요
05:44.190 --> 05:50.010
그게 없으면 실패할 테니까요 그럼 데이터 포인트를 건너뛰죠
05:50.010 --> 05:53.220
0으로 매기는 것도 전부 무시하고요
05:53.220 --> 05:57.120
따라서 가격이란 숫자가 있는 것만 살펴볼 거예요
05:57.120 --> 06:01.140
가격이 0이 아닌 0이 0보다 크다는 거죠
06:01.170 --> 06:05.490
마이너스 가격은 없을 것 같지만 있다 해도 개수는 확인 안 할 거예요 get it
06:06.360 --> 06:11.310
이제 이걸 통해 그걸 알아내려 할 거예요
06:11.310 --> 06:12.540
다 됐어요
06:12.540 --> 06:19.560
726개라는 뜻인데 거의 50%에 해당하죠
06:19.560 --> 06:20.580
그러니 끔찍하진 않죠
06:20.580 --> 06:22.290
괜찮아요, 괜찮아요
06:22.290 --> 06:26.790
잠시 걱정되는 건 살 게 별로 없을까 봐서요 하지만 적어도
06:26.790 --> 06:29.700
가전제품은 걱정 안 해요
06:29.970 --> 06:35.010
데이터 세트인데 절반은 가격이 적혀 있어요
06:35.400 --> 06:36.960
작은 측면이죠
06:36.960 --> 06:39.270
제가 숫자를 인쇄한 때를 눈치채셨는지 모르겠네요
06:39.270 --> 06:45.210
보통 쉼표로 수천을 구분하는데 이런 걸 읽을 때
06:45.240 --> 06:47.370
아주 유용하죠
06:47.370 --> 06:53.340
이렇게 하는 방법은 파이썬의 f 문자열을 사용한다면: 콤마를 합니다 이렇게요
06:53.460 --> 06:59.850
get을 서식에 사용하면 이런 스타일로 숫자가 나와요
07:00.000 --> 07:02.610
팁을 하나 드리죠
07:02.700 --> 07:06.510
어, 이미 알고 계실 수도 있지만 모르셨더라도 알아두면 유용한 정보죠
07:07.500 --> 07:08.490
07:08.970 --> 07:14.490
이제 할 일은 가격이 있는 건 전부 다 가져오는 거예요
07:14.850 --> 07:23.370
제목, 설명, 특징, 세부 사항에 글자가 몇 개인지 알아낼 거예요
07:23.370 --> 07:29.130
문자의 총수를 더해서 set의 길이에 입력할 거예요
07:29.130 --> 07:36.150
이제 가격 목록과 길이 목록이 나왔어요 디테일이 얼마나 많은지 가늠할 수 있죠
07:36.180 --> 07:42.390
균일한지, 아니면 뭔가 어떤 식으로든 삐뚤어졌는지 알 수 있어요
07:42.450 --> 07:50.400
그래서 매트플로틀리브를 많이 사용할 거예요 길이를 히스토그램 형태로
07:50.400 --> 07:53.250
줄거리를 만들 거예요
07:53.250 --> 08:00.360
기억하시면 좋겠네요 얼마 전 통계학 클래스에서 히스토그램은 기본적으로
08:00.360 --> 08:06.930
모든 걸 통에 버킷으로 넣는 거예요 각 통에 몇 개가 있는지 보여주죠
08:06.960 --> 08:09.060
직접 보여드리는 게 더 쉽겠네요
08:09.060 --> 08:10.170
이렇게 생겼어요
08:10.170 --> 08:18.330
엑스 축을 따라 각기 다른 가전제품과 세탁기의 길이를 표시합니다
08:18.330 --> 08:22.830
설명에 포함된 글자의 개수죠
08:22.830 --> 08:29.240
이 정도로 많은 글자를 가진 기기가 몇 개인지 세어보죠
08:29.240 --> 08:36.470
이 주변이 봉우리처럼 솟아 있는데 긴 꼬리가 더
08:36.470 --> 08:38.960
많이 나타나요
08:38.960 --> 08:43.610
이건 우리가 훈련할 때 도전이 될 겁니다 궁극적으로 우리
08:43.610 --> 08:48.650
자신의 오픈 소스 모델을 사용하고 훈련해야 하니까요
08:48.650 --> 08:55.730
우리가 이해해야 하는 중요한 제약 중 하나는 통과할 수 있는 글자 수의 최대치입니다
08:55.730 --> 09:01.490
혹은 각 시점에서 통과할 수 있는 토큰의 최대치죠
09:01.490 --> 09:06.770
훈련 포인트를 통과할 때마다 메모리가 더 많이 필요하고
09:06.770 --> 09:09.950
달성하기 더 어려워져요
09:09.980 --> 09:14.990
또 다른 요점은 개척자 모델을 사용해도 이와 관련된 문제는 없지만 다른 문제가
09:14.990 --> 09:19.430
있다는 것입니다 토큰을 많이 제출하는 것이 더 많은 토큰을 제출하는
09:19.430 --> 09:24.710
것보다 비용이 더 많이 듭니다 이 문제는 몇몇의 경우에 큰 문제가 되지 않죠
09:24.830 --> 09:31.490
하지만 분노로 많은 제품을 공격한다면 그 숫자는 점점 늘어날 거예요
09:31.520 --> 09:37.430
이상적으로는 컷오프를 선택하고 그 시점에서 데이터를 제한하는 거죠
09:37.550 --> 09:40.820
그건 나중에 생각해 볼 거예요
09:41.120 --> 09:45.200
또 하나 주목할 점은 가격 분배예요
09:45.200 --> 09:47.270
그래서 가격이 얼마죠?
09:47.300 --> 09:53.150
아까 분석에서 힌트를 얻으셨을 거예요 냉장고나 세탁기
09:53.150 --> 09:59.900
같은 가전제품이 가득할 줄 알았는데 우리가 본 건 좀 더 작았어요
09:59.900 --> 10:05.810
달걀 홀더와 제빙기였어요 생각해 보면 그리 놀랍지 않아요
10:05.810 --> 10:12.860
데이터에 따르면 값싼 제품들이 훨씬 더 많이 있었을 거예요 비싼
10:13.010 --> 10:16.730
제품들을 눌러 버렸겠죠
10:16.730 --> 10:17.660
한 번 보죠
10:17.690 --> 10:19.100
어떤지 보죠
10:20.360 --> 10:22.850
그런 것 같네요
10:23.120 --> 10:29.280
데이터 집합의 평균 가격은 6달러예요
10:29.310 --> 10:33.360
최고 21,000달러까지 올라가요
10:33.390 --> 10:40.290
목록에 21,000달러짜리 가전제품이 있는데 가격이 낮은
10:40.290 --> 10:43.140
제품들이 아주 많아요
10:43.470 --> 10:48.150
중간값과 모드 차이를 기억하시는 분들을 위해 설명드리죠
10:48.180 --> 10:54.930
학교 통계를 보면 비싼 아이템을 기준으로 평균값을 올릴
10:54.930 --> 11:01.710
수 있고 확실히 모드를 능가합니다 중앙값도 능가하겠죠
11:02.730 --> 11:10.080
보시다시피 저렴한 제품이 많이 유통되고 삐뚤게
11:10.080 --> 11:12.690
분배돼 있어요
11:12.690 --> 11:19.650
훈련 중에는 힘들 수도 있어요 훈련 데이터가 저비용 아이템으로 인해
11:19.650 --> 11:22.140
정말 좁아질 테니까요
11:22.440 --> 11:26.880
이 엄청나게 비싼 물건이 뭔지 빨리 살펴보죠
11:26.880 --> 11:30.630
21,000달러짜리 물건이에요
11:30.630 --> 11:35.300
데이터 세트에서 21,000달러 이상 하는 건 다 골라낼 거예요
11:35.300 --> 11:38.000
터보셰프 총알 같아요
11:38.000 --> 11:41.300
급속 조리 전자레인지 대류식 오븐이에요
11:41.330 --> 11:45.290
누가 그런 설명을 해줬다면 그게 21,000달러나 할 줄은
11:45.320 --> 11:46.940
상상도 못 했을 거예요
11:47.300 --> 11:53.870
똑같은 건 아니지만 아마존 최신 버전인 것 같아요
11:53.960 --> 12:00.590
이걸 자세히 보면 이것도 터보셰프에서 만든 거예요
12:00.590 --> 12:05.420
21,000달러가 아니라 18,000달러밖에 안 해요
12:05.900 --> 12:07.640
당신은 어떤지 모르겠네요
12:07.640 --> 12:12.440
전자레인지가 이렇게 비싼지 몰랐어요 하지만 전문가용이고
12:12.470 --> 12:17.090
고급 전자레인지예요 가격도 저렴하고요
12:17.090 --> 12:27.110
그것의 21,000달러 버전이 여기 어딘가에 있어요 우리 데이터에서 스케일을 벗어나서요
12:28.340 --> 12:35.120
이제 데이터를 큐레이팅할 시간입니다 다음 비디오에서 하죠