Khai phá dữ liệu - Dữ liệu review của Foody


#1

Tập dữ liệu Review Foody được crawl từ anh kienvu2368

Sau khi thống kê được top reviews dựa vào dữ liệu trên, mình lấy 2 người thuộc nhóm nghi ngờ “outlier” và vẽ violinplot. Kết quả như sau :

Kết quả cho thấy phân bố rating giữa các cột khá giống nhau, và dựa trên thông tin của họ mình tìm kiếm được 1 vài thông tin nho nhỏ rằng

Dưới đây là biểu đồ phân bố của bạn không nằm trong nhóm tình nghi “outlier”

Bài viết sẽ được tiếp tục cập nhật … Link github : https://github.com/lhduc94/Foody_review


Import Library

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

Load dữ liệu

data = pd.read_pickle('foody_data.pkl')
data.head()

Xem thông tin mô tả dữ liệu

data.info()

datainfo

Tập dữ liệu có 174437 records với 13 columns. Trong đó có 6 cột dữ liệu numerical và còn lại thuộc object. Điều mình thắc mắc là các cột point đều có ý nghĩa như nhau sao kiểu dữ liệu lại có cả intfloat ?


#2

Cám ơn bạn.

Mình vẫn chưa hiểu công dụng và ý nghĩa của violinplot lắm. Bạn có thể viết rõ được hơn không? Many thanks :smiley:


#3

Anh cũng chưa hiểu violinplot, em giải thích thêm được không?


#4

Theo em hiểu thì bạn tìm ra ngưỡng số-lượng-reviews mà nếu vượt qua ngưỡng này thì các users đó được đưa vào diện tình nghi. Bước này ta có được danh sách các users tình nghi. Sau đó bạn quan sát violinplot của từng user (từ danh sách thu được). Mỗi cột tiêu chí của graph là phân bố điểm trên tiêu chí đó. Nhìn chung thì các user đầu danh sách (ảnh 1, 2) có xu hướng chọn điểm giống nhau và giữa các tiêu chí cũng giống nhau. Hiện tại thì bạn đang xem violinplot của user đầu, giữa và cuối của danh sách tình nghi và danh sách xém-bị-tình-nghi :smiley:

Mà phải chi forum hiện file ipython như kernel của Kaggle thì tốt quá nhỉ, đỡ phải vào github xem :smile:


#5

Can thiệp hơi sâu đấy nha :D.

Một cách hơi thủ công là export ipython ra markdown rồi paste vào đây, sửa link ảnh một tí.


#6

E chào a! E hiện tại đang rất cần source crawl Review bên Foody ạ! Không biết a có thể share cho e đc k ạ? e cảm ơn a nhiều


#7

Em có thể tự làm việc đó mà. Cũng không khó đâu em. Nếu dùng python em có thể tìm hiểu một trong các thư viện requests, selenium hay scrapy.

Kỹ năng crawler cũng rất cần cho một kỹ sư ML đó :stuck_out_tongue:


#8

@Bui_Ngoc_Bao mình nghĩ tự làm thì hay hơn. Mình mà public source code lên rồi sau đó server của foody bị sao thì tội họ :stuck_out_tongue:

Bạn tìm hiểu về request trên python nhé. Các dữ liệu của Foody khi load về đều theo dạng JSON nên rất dễ xử lý. :smiley:


#9

A cho e hỏi chút ạ, cái infinity scrolling của foody ý ạ, cái request của nó e chả thấy theo cái định dạng gì thì làm ntn để mình crawl hết data đc ạ? Bt mấy trang nó sẽ là http: …/binhluan-page-5, kiểu kiểu nt ạ nhưng foody thì k phải ạ( e dùng scrapy ạ)


#10

Bạn nên đọc thêm về cách các trang web gửi yêu cầu lên server. Học cách sử dụng developer tool của trình duyệt để xem các yêu cầu gửi đi và nhận về có dạng như thế nào. Bạn cũng nên học cách dùng requests nữa nhé: https://code.tutsplus.com/vi/tutorials/using-the-requests-module-in-python--cms-28204

À có gì bạn comment bên post gốc của mình nhé. Comment ở đây hơi bị loãng chủ để chính của bài viết. ^^