Logistic Regression ใน Python - การเตรียมข้อมูล
สำหรับการสร้างลักษณนามเราต้องเตรียมข้อมูลในรูปแบบที่โมดูลการสร้างลักษณนามถาม เราเตรียมข้อมูลโดยการทำOne Hot Encoding.
การเข้ารหัสข้อมูล
เราจะพูดถึงความหมายของการเข้ารหัสข้อมูลในไม่ช้า ขั้นแรกให้เรารันโค้ด เรียกใช้คำสั่งต่อไปนี้ในหน้าต่างรหัส
In [10]: # creating one hot encoding of the categorical columns.
data = pd.get_dummies(df, columns =['job', 'marital', 'default', 'housing', 'loan', 'poutcome'])
ตามที่ความคิดเห็นกล่าวไว้ข้อความข้างต้นจะสร้างการเข้ารหัสข้อมูลที่ร้อนแรง ให้เราดูว่ามันสร้างอะไร? ตรวจสอบข้อมูลที่สร้างขึ้นที่เรียกว่า“data” โดยการพิมพ์บันทึกส่วนหัวในฐานข้อมูล
In [11]: data.head()
คุณจะเห็นผลลัพธ์ต่อไปนี้ -
เพื่อทำความเข้าใจข้อมูลข้างต้นเราจะแสดงรายการชื่อคอลัมน์โดยเรียกใช้ไฟล์ data.columns คำสั่งดังแสดงด้านล่าง -
In [12]: data.columns
Out[12]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur',
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed',
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'job_unknown', 'marital_divorced', 'marital_married', 'marital_single',
'marital_unknown', 'default_no', 'default_unknown', 'default_yes',
'housing_no', 'housing_unknown', 'housing_yes', 'loan_no',
'loan_unknown', 'loan_yes', 'poutcome_failure', 'poutcome_nonexistent',
'poutcome_success'], dtype='object')
ตอนนี้เราจะอธิบายวิธีการเข้ารหัสแบบ hot โดยใช้ไฟล์ get_dummiesคำสั่ง คอลัมน์แรกในฐานข้อมูลที่สร้างขึ้นใหม่คือช่อง "y" ซึ่งระบุว่าลูกค้ารายนี้สมัครเป็นสมาชิก TD หรือไม่ ตอนนี้ให้เราดูคอลัมน์ที่เข้ารหัส คอลัมน์แรกที่เข้ารหัสคือ“job”. ในฐานข้อมูลคุณจะพบว่าคอลัมน์ "งาน" มีค่าที่เป็นไปได้หลายค่าเช่น "admin", "blue-collar", "repreneur "และอื่น ๆ สำหรับแต่ละค่าที่เป็นไปได้เรามีคอลัมน์ใหม่ที่สร้างขึ้นในฐานข้อมูลโดยมีชื่อคอลัมน์ต่อท้ายเป็นคำนำหน้า
ดังนั้นเราจึงมีคอลัมน์ที่เรียกว่า "job_admin", "job_blue-collar" และอื่น ๆ สำหรับแต่ละเขตข้อมูลที่เข้ารหัสในฐานข้อมูลดั้งเดิมของเราคุณจะพบรายการคอลัมน์ที่เพิ่มในฐานข้อมูลที่สร้างขึ้นพร้อมค่าที่เป็นไปได้ทั้งหมดที่คอลัมน์นั้นใช้ในฐานข้อมูลดั้งเดิม ตรวจสอบรายการคอลัมน์อย่างละเอียดเพื่อทำความเข้าใจว่าข้อมูลถูกจับคู่กับฐานข้อมูลใหม่อย่างไร
การทำความเข้าใจการแมปข้อมูล
เพื่อทำความเข้าใจข้อมูลที่สร้างขึ้นให้เราพิมพ์ข้อมูลทั้งหมดโดยใช้คำสั่ง data ผลลัพธ์บางส่วนหลังจากรันคำสั่งแสดงอยู่ด้านล่าง
In [13]: data
หน้าจอด้านบนแสดงสิบสองแถวแรก หากคุณเลื่อนลงไปอีกคุณจะเห็นว่ามีการทำแผนที่สำหรับทุกแถว
เอาต์พุตหน้าจอบางส่วนที่อยู่ถัดจากฐานข้อมูลจะแสดงที่นี่สำหรับการอ้างอิงอย่างรวดเร็วของคุณ
หากต้องการทำความเข้าใจข้อมูลที่แมปให้เราตรวจสอบแถวแรก
มันบอกว่าลูกค้ารายนี้ไม่ได้สมัครสมาชิก TD ตามที่ระบุด้วยค่าในฟิลด์ "y" นอกจากนี้ยังระบุด้วยว่าลูกค้ารายนี้เป็นลูกค้า "ปกสีน้ำเงิน" เมื่อเลื่อนลงไปในแนวนอนก็จะบอกคุณว่าเขามี "ที่อยู่อาศัย" และไม่ได้รับ "เงินกู้"
หลังจากการเข้ารหัสร้อนครั้งเดียวเราต้องประมวลผลข้อมูลเพิ่มเติมก่อนที่จะเริ่มสร้างโมเดลของเราได้
การทิ้ง "ไม่รู้จัก"
หากเราตรวจสอบคอลัมน์ในฐานข้อมูลที่แมปคุณจะพบว่ามีคอลัมน์สองสามคอลัมน์ที่ลงท้ายด้วย "ไม่ทราบ" ตัวอย่างเช่นตรวจสอบคอลัมน์ที่ดัชนี 12 ด้วยคำสั่งต่อไปนี้ที่แสดงในภาพหน้าจอ -
In [14]: data.columns[12]
Out[14]: 'job_unknown'
สิ่งนี้บ่งชี้ว่าไม่ทราบงานสำหรับลูกค้าที่ระบุ เห็นได้ชัดว่าไม่มีประเด็นใดที่จะรวมคอลัมน์ดังกล่าวในการวิเคราะห์และการสร้างแบบจำลองของเรา ดังนั้นคอลัมน์ทั้งหมดที่มีค่า "ไม่ทราบ" จึงควรทิ้ง สิ่งนี้ทำได้ด้วยคำสั่งต่อไปนี้ -
In [15]: data.drop(data.columns[[12, 16, 18, 21, 24]], axis=1, inplace=True)
ตรวจสอบให้แน่ใจว่าคุณระบุหมายเลขคอลัมน์ที่ถูกต้อง ในกรณีที่มีข้อสงสัยคุณสามารถตรวจสอบชื่อคอลัมน์ได้ตลอดเวลาโดยระบุดัชนีในคำสั่งคอลัมน์ตามที่อธิบายไว้ก่อนหน้านี้
หลังจากวางคอลัมน์ที่ไม่ต้องการแล้วคุณสามารถตรวจสอบรายการสุดท้ายของคอลัมน์ดังที่แสดงในผลลัพธ์ด้านล่าง -
In [16]: data.columns
Out[16]: Index(['y', 'job_admin.', 'job_blue-collar', 'job_entrepreneur',
'job_housemaid', 'job_management', 'job_retired', 'job_self-employed',
'job_services', 'job_student', 'job_technician', 'job_unemployed',
'marital_divorced', 'marital_married', 'marital_single', 'default_no',
'default_yes', 'housing_no', 'housing_yes', 'loan_no', 'loan_yes',
'poutcome_failure', 'poutcome_nonexistent', 'poutcome_success'],
dtype='object')
ณ จุดนี้ข้อมูลของเราพร้อมสำหรับการสร้างแบบจำลองแล้ว