การใช้การแสดงผลด้วยกราฟ: distplot
การทำความเข้าใจการกระจายตัวของตัวแปรตามนั้นสำคัญมาก เพราะส่งผลต่อการเลือกโมเดลและขั้นตอนการเตรียมข้อมูล วิธีที่ดีที่สุดคือการพล็อตกราฟ อย่างไรก็ตาม PySpark ไม่มีฟังก์ชันพล็อตกราฟในตัว จึงต้องผ่านขั้นตอนกลางบางอย่างก่อน ในแบบฝึกหัดนี้จะได้แสดงผลตัวแปร 'LISTPRICE' และวิเคราะห์การกระจายตัวของข้อมูลเพิ่มเติมด้วยการคำนวณค่าความเบ้ (skewness)
แพ็กเกจ matplotlib.pyplot และ seaborn ถูก import ไว้ให้แล้วในชื่อ plt และ sns
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering with PySpark
คำแนะนำการฝึกหัด
- สุ่มตัวอย่าง DataFrame
df50% ด้วยsample()โดยไม่ใช้การสุ่มแบบ replacement และกำหนด random seed เป็น 42 - แปลง Spark DataFrame เป็น
pandas.DataFrame()ด้วยtoPandas() - พล็อต distribution plot โดยใช้เมธอด
distplot()ของseaborn - Import ฟังก์ชัน
skewness()จากpyspark.sql.functionsแล้วคำนวณค่าด้วยเมธอดagg()บนคอลัมน์'LISTPRICE'จากนั้นอย่าลืมเรียกcollect()เพื่อประมวลผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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())