Đọc xong cái tựa, các bạn đừng tưởng rằng mình lọt nhầm vào trang báo lá cải nào nhé! Đây vẫn là blog Tôi Đi Code Dạo, do mình – Hoàng Code Dạo – viết bài về code nha.
Tác giả bài viết:
- Anh Cảnh Trần – Data Scientist: Data Analysis (Phân tích dữ liệu) và Data Visualization (Trình bày dữ liệu).
- Hoàng Code Dạo – Blogger: Data Provider (Cung cấp dữ liệu) + Editor (Xào chế lại cho bài nó bựa)
Trong bài này, anh Cảnh chia sẻ về quá trình sử dụng Python và các kĩ thuật Data Analysis để phân tích và tìm hiểu dữ liệu về JAV Idol và movies; đồng thời rút ra khá nhiều điều thú vị!
Mặc dù đặt cái tựa giật gân thế thôi, nhưng đây là bài viết hoàn toàn mang tính chất học thuật và technical nhé!
Mọi chuyện bắt đầu vào một ngày đẹp trời nọ…
Khi Data Scientist gặp trùm JAV
Bạn nào hay theo dõi blog (qua series Nhận Diện Idol) cũng biết là mình có một niềm đam mê JAV, lộn, đam mê nghiên cứu văn hóa Nhựt Bổn rất mãnh liệt.
Thế rồi một ngày đẹp trời nọ, mình tìm ra một API của dmm18, (dịch sang tiếng việt là đạp mẹ mèo), website 18+ lớn nhất xứ sở Nhựt Bổn.
Có API thì dại gì không thử, mình thử lần lượt từng API và… lấy được toàn bộ thông tin về JAV Idol lẫn movies trên trang này. Thông tin được cập nhật và format rất rõ ràng, đầy đủ.
Không biết làm gì với đống data này, mình bắt đầu cầu cứu đại ca Cảnh Trần. Hai bên quyết định làm 1 hệ thống recommendation tên JAV Rec – giới thiệu film và idol dựa theo sở thích của bạn.
Hệ thống thì từ từ sẽ có sau. Từ đây đến cuối bài, anh Cảnh sẽ chia sẻ về quá trình phân tích dữ liệu trước nhé!
Data Cleansing – Gạn đục khơi trong
Phân tích dữ liệu cũng giống như đãi cát tìm vàng vậy. Dữ liệu đưa vào có thể bị thiếu sót, nên ta phải chạy bước cleansing để lọc bỏ, hoặc điền dữ liệu vào những vùng bị thiếu sót này.
Dữ liệu đã có về JAV Idol bao gồm các field: id
, japanName
, name
, birthday
, height
, bust
, hip
, waist
, hobby
, prefectures
và imageUrl
Để dễ tính toán, chúng ta tính luôn số lượng phim đã đóng, tính tuổi của JAV Idol luôn.
def _counting_movies(actress_id): return len(train_movie[train_movie.actress_id == actress_id]) train_actress['no_movies'] = train_actress['id'].apply(lambda x: _counting_movies(x))
train_actress['birthday'] = pd.to_datetime(train_actress['birthday']) train_actress['age'] = train_actress['birthday'].apply(lambda x: pd.to_datetime('today').year - x.year)
Dữ liệu cuối cùng sẽ có format như sau:
<class 'pandas.core.frame.DataFrame'> Int64Index: 3664 entries, 0 to 10156 Data columns (total 12 columns): id 3664 non-null int64 name 3664 non-null object bust 3664 non-null int64 waist 3664 non-null int64 hip 3664 non-null int64 birthday 3664 non-null datetime64[ns] age 3664 non-null int64 hobby 2856 non-null object prefectures 2712 non-null object no_movies 3664 non-null int64 no_genres 3664 non-null int64 imageUrl 3664 non-null object dtypes: datetime64[ns](1), int64(7), object(4) memory usage: 372.1+ KB
Tổng cộng ta có dữ liệu của khoảng 3664 JAV Idol. Hai field hobby
và prefectures
thiếu dữ liệu khá nhiều, nhưng vì chúng không quan trọng nên chúng ta có thể bỏ qua.
Dùng EDA (Explanation Data Analysis) sơ bộ – Tìm ra JAV Idol điển hình
Sau khi đã clean dự liệu, chúng ta chạy EDA sơ bộ để xem giá trị max, min, trung bình của các field nhé
Cho bạn nào chưa biết thì cột mean chính là trung bình. Nhìn vào bảng này ta có thể đưa ra một số nhận xét về các JAV Idol:
- Số đo 3 vòng trung bình lần lượt là: 84.6 – 57.4 – 84.3
- Tuổi trung bình là 33 tuổi, trẻ nhất là 20, lớn nhất là… 63 (WTF)
- Trung bình 1 người đóng 25 bộ phim. 75% các diễn viên đóng dưới 24 bộ phim.
- Số còn lại thì đóng nhiều bá chấy, hàng họ tanh bành, max là tận 1090 bộ
Dùng 2 dòng code ngắn gọn, ta có thể biểu diễn tuổi của các JAV Idol dưới dạng đồ thị
sns.set(color_codes=True) sns.distplot(df['age']);

Vếu to vếu nhỏ – Từ dưa hấu đến bức tường
Đọc tới đây, mình đoán được các bạn cũng có thắc mắc như mình ha: Có data rồi, coi thử coi vòng 1 vòng 3 ai to nhất?
Và không cần chờ lâu, kết quả có ngay đây! Chỉ cần 2 dòng code đơn giản để sort và tìm ra top 5
df = df.sort_values(by="bust", ascending=False) df.head()
Tất nhiên là ngay sau đó mình phải chịu khó đi kiểm chứng dữ liệu rồi. Có vẻ dữ liệu cũng khá chuẩn nhỉ hihi.

Quả là cái gì to quá cũng không tốt. Mô phật! Con không cần dưa hấu nữa, con về ăn cam đây.
JAV Idol thích làm gì, quê ở đâu?
Tất nhiên, trò hay không chỉ có tới đây. Bạn có nhớ dữ liệu về idol có field hobby
(sở thích) chứ? Ta có thể dùng thư viện wordcloud để hiển thị sở thích dựa trên số lượng idol.
wordcloud = WordCloud( max_words=200, max_font_size=40, scale=3, random_state=1 ).generate(hobby)
Tất nhiên, với khả năng tiếng Nhật “thần thánh”, chúng ta dễ dàng nhìn thấy những sở thích phổ biến nhất là karaoke (カラオケ), shopping (ショッピング), nấu ăn (料理), bơi (水泳) và piano (ピアノ).
Để ý kĩ các bạn sẽ thấy còn có nhiều bạn sở thích game và cosplay. Đấy, người ta có sở thích lành mạnh chứ không phải abc dê trên dê dưới đâu nha mấy ông thần!
Còn 1 field khác khá thú vị tên prefectures
, tỉnh thành mà các idol này sinh ra.
Chúng ta dùng thư viện geopy để chuyển tên tỉnh thành tọa độ latitude và longitude là được, không cần dùng google map api.
from geopy.geocoders import Nominatim import time geolocator = Nominatim() # Get latitude and longitude by using city name def get_location(adress): location = geolocator.geocode(adress) return location.latitude, location.longitude # Get lat and lng prefecture_df['location'] = 1 for index, row in prefecture_df.iterrows(): count = 0 while count < 5: try: prefecture_df.loc[index,'location'] = str(get_location(row['prefectures'])) count = 6 except: count += 1 time.sleep(5)
Sau đó, chúng ta dùng folium để hiển thị trên bản đồ

Nhìn vào bản đồ, ta dễ thấy những “điểm sáng JAV” ở Nhật là các thành phố lớn như Kyoto, Osaka, Hiroshima.
Kết
Các bạn thấy đấy, chỉ cần một ngày theo chân Data Scientist, chúng ta đã tìm ra vô số điều hay ho thú vị về ngành công nghiệp JAV – những thứ không hề có trong sách bào nào!
Nếu thấy hay, các bạn nhớ vào xem bài gốc để Clap và Follow anh Cảnh nha: https://medium.com/@canhtran/python-data-analysis-on-japanese-adult-video-jav-dataset-18-62727978477c
P/S: Nếu có thắc mắc cần hỏi hay muốn giao lưu livestream trực tiếp với anh Cảnh, các bạn cứ để lại comment nhé! Nếu nhiều người quan tâm thì mình sẽ sắp xếp nha hihi.
Mình cũng bắt đầu với nghiên cứu data science (một phần là do các thầy ở trường mình đề nghị mình học), nhưng có vẻ topic này là đỉnh cao của data science =)))
LikeLiked by 1 person
Trình của anh cảnh thì mình ko cần bàn .
Nhưng bài viết này nằm ở mức cơ bản, chỉ là 1 chút get dữ liệu và xác suất thống kê, dùng R làm vài dòng code là ra, chứ không đỉnh cao như bạn nói đâu.
LikeLiked by 1 person
Cái này là Python chứ nhỉ
LikeLike
Mình muốn theo con đường này. Mong chờ JAV à nhầm livestream
LikeLiked by 1 person
Editor rất có tâm 🙂
Đây mới đúng là nghệ sỹ đào JAV, à nhầm Data, đích thực!!
LikeLiked by 1 person
Công nhận lĩnh vực data scientist này lắm trò hay ho phết =)), đọc thấy các sếp ở đây master quá, hâm mộ vồn =))
LikeLiked by 1 person
Thank anh cảnh và anh hoàng đã cho mn 1 bài viết hay và thú vị, mong chờ cho 1 article siêu phẩm về algorithm xóa mờ video 😂 dùng NN và source code cho ae mở mang 😛
LikeLiked by 1 person
anh Cảnh ơi anh giỏi quá vậy.
E muốn xem livestream ^^
LikeLiked by 1 person
anh có thể cung cấp api không anh
LikeLiked by 1 person
mình đợi live stream của bạn về data science nhé
ko có là ko dc đâu
LikeLiked by 1 person
nghe như tuyên truyền văn hóa phẩm đồ trụy vậy
LikeLiked by 1 person
ù oai .. hay thật. data analytic thật không đơn giản. chỉ vài dòng code mà cho ta được đánh giá tổng quan cực cool
LikeLiked by 1 person
Đọc xong bài lại thấy rạo rực trong ng. Hôm sau chuyển chủ đề gì trong thực tế nha bạn
LikeLike
Not sure. Nhưng hình như DMM hạn chế việc register sử dụng API 😐
In order to use the web service, you need DMM member registration, DMM affiliate registration, API use registration. Please check the
terms of service and issue the API ID.
For details on how to use, please check ” Usage Guide “.
LikeLike
Haha, để kiếm cái API ID mà dùng gọi API của nó cũng là một quá trình khoai lắm nhé =))
LikeLike
Kaka đã nhờ đồng môn bên JP register giùm. Nó nhiều rule quá. Với một số services hình như block ngoài JP
LikeLike
Thật ra có APIs sẽ làm được nhiều thứ hay ho hơn nữa.
– tự tìm film mới theo filters, và tự download ( illegal )
– thêm face detection để tự orgranization mớ films
– filters dĩ nhiên k thể thiếu tìm theo sở thích
LikeLike
Livestream với anh Cảnh Trần đi anh ơi. Hóng hóng
LikeLike
Anh ơi, em đng học về data sc nhưng không có background về kinh tế thì có khó khăn gì không ạ. DS thì nên bắt đầu từ business trước hay lập trình vậy anh
LikeLike
Cho em xin data được không anh?
LikeLike