Bắt đầu ngayBắt đầu miễn phí

Sử dụng trực quan hóa: distplot

Hiểu phân phối của biến phụ thuộc rất quan trọng và có thể ảnh hưởng đến loại mô hình hoặc bước tiền xử lý bạn chọn. Cách tốt để làm điều này là vẽ biểu đồ; tuy nhiên, việc vẽ không phải là chức năng tích hợp sẵn trong PySpark, nên bạn sẽ cần vài bước trung gian để chạy đúng. Trong bài tập này, bạn sẽ trực quan hóa biến 'LISTPRICE' và khai thác thêm thông tin về phân phối của nó bằng cách tính độ lệch (skewness).

Các gói matplotlib.pyplotseaborn đã được nhập sẵn với bí danh pltsns.

Bài tập này là một phần của khóa học

Feature Engineering với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Lấy mẫu 50% dataframe df với sample(), đảm bảo không lấy lặp (without replacement) và đặt hạt ngẫu nhiên (random seed) là 42.
  • Chuyển Spark DataFrame sang pandas.DataFrame() bằng toPandas().
  • Vẽ biểu đồ phân phối bằng phương thức distplot() của seaborn.
  • Import hàm skewness() từ pyspark.sql.functions và tính trên phép tổng hợp của cột 'LISTPRICE' với phương thức agg(). Nhớ collect() kết quả để thực thi và lấy giá trị.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Select a single column and sample and convert to pandas
sample_df = df.select(['LISTPRICE']).____(____, ____, 42)
pandas_df = sample_df.____()

# Plot distribution of pandas_df and display plot
sns.____(____)
plt.show()

# Import skewness function
from pyspark.sql.functions import skewness

# Compute and print skewness of LISTPRICE
print(df.____({____: ____}).collect())
Chỉnh sửa và Chạy Mã