อุตสาหกรรมที่สร้างขึ้นจากการรับเข้าศึกษาในมหาวิทยาลัยค่อนข้างอิ่มตัว ตั้งแต่ผู้สอนส่วนตัว 'หัวกะทิ' ในเอเชีย ไปจนถึงผู้ทรงอิทธิพลในการเตรียมสอบระดับโลกอย่าง Kaplan และแม้แต่ตลาดกลางในรูปแบบ TaskRabbit สำหรับ 'บริการให้คำปรึกษาเรียงความ' (อ่าน: การลอกเลียนแบบที่แฝงอยู่) แต่ดูเหมือนว่าผู้สอน ครู และที่ปรึกษายังไม่ได้ถอดรหัสรหัสการรับเข้าเรียน สูตรมหัศจรรย์มีอยู่จริงหรือไม่? อาจจะไม่ แต่มีแนวโน้มว่าจะมีกฎการตัดสินใจภายในคณะกรรมการรับสมัครที่เราไม่รู้มากนัก และแน่นอนว่ามีความสัมพันธ์พื้นฐานระหว่างการยอมรับและการปฏิเสธที่เราสามารถเรียนรู้ได้

สำหรับโครงการสุดท้ายของฉันที่ "Galvanize" ฉันโชคดีที่ได้ร่วมงานกับ "AdmitSee" ซึ่งเป็นแหล่งข้อมูลการสมัครเข้าวิทยาลัยออนไลน์ที่ผู้สนใจศึกษาสามารถเลือกดูโปรไฟล์และเรียงความของนักเรียนที่รับเข้าเรียนจริงได้ ด้วยข้อมูลที่ไม่ซ้ำใครนี้ ฉันตั้งใจที่จะตอบคำถามสำคัญสองข้อ:

I) เราสามารถสร้างแบบจำลองการทำนายที่ดีกว่าเครื่องคำนวณความน่าจะเป็นที่มีอยู่สำหรับการรับเข้าเรียนในวิทยาลัยได้หรือไม่?

II) เราสามารถรวบรวมข้อมูลเชิงลึกอะไรบ้างจากเรียงความ Common App ทั้งในระดับบุคคลและระดับรวม

โพสต์นี้ตอบคำถามแรก ส่วนที่ II สามารถพบได้ "ที่นี่"

แบบอย่างเดียวที่จะเอาชนะพวกเขาทั้งหมด

สำหรับผู้เริ่มต้น ขอให้ชัดเจนว่าไม่มีวิธีที่ดีในการตรวจสอบว่าแบบจำลองใหม่ดีกว่าหรือแย่กว่าเครื่องคิดเลขที่มีอยู่ในปัจจุบัน (เช่น StatFuse, Cappex) เนื่องจากจะต้องใช้ i) คาดการณ์นักเรียนจริงนับพันครั้งโดยใช้เครื่องคิดเลขเหล่านั้น ii) รอเป็นเวลาหลายเดือนก่อนที่นักเรียนเหล่านั้นจะมีผลการรับสมัคร และ iii) การคำนวณความแม่นยำสำหรับแต่ละรุ่น ไม่ต้องพูดถึงการได้รับความยินยอมในการบันทึกทุกอย่าง โดยพื้นฐานแล้วมันเป็นไปไม่ได้ที่จะทำการทดสอบแบบนั้น อย่างไรก็ตาม เรารู้ว่าแบบจำลองเหล่านี้ใช้ปัจจัยอินพุตเดียวกันโดยประมาณ: คะแนน SAT/ACT, GPA, ข้อมูลประชากร... ข้อมูลพื้นฐานที่คุณคาดหวัง หากเราถือว่าประสิทธิภาพของโมเดลเหล่านี้ใกล้เคียงกันโดยประมาณ การเพิ่มมิติข้อมูลมากขึ้น เช่น คุณลักษณะใหม่ๆ ก็น่าจะให้ผลลัพธ์ที่ดีกว่า

การจำกัดปัญหา

หลังจากแบ่งการทดสอบรถไฟกับชุดข้อมูลของฉันแล้ว ฉันมีนักเรียนประมาณ 12,000 คนที่จะร่วมงานด้วย ในจำนวนนี้ แม้แต่โรงเรียนที่มีข้อมูลมากที่สุดก็มีมากที่สุดหลายร้อยแห่ง เนื่องจากการสร้างแบบจำลองในระดับโรงเรียนอาจมีความคลาดเคลื่อนค่อนข้างมาก ฉันจึงเลือกที่จะจำกัดปัญหาเพื่อทำนายผลลัพธ์แบบไบนารี่เดียว นั่นก็คือ การเข้าศึกษาใน "โรงเรียนชั้นนำ" กล่าวอีกนัยหนึ่ง หากนักเรียนได้รับการตอบรับให้เข้าเรียนใน 'โรงเรียนชั้นนำ' ใดๆ (หมายถึง Ivies, Stanford และ MIT) ตัวแปรผลลัพธ์จะเป็น 1 หากไม่เป็นเช่นนั้น 0

การสร้างโมเดล Ensemble

ต่อไปนี้คือการแสดงภาพอย่างง่ายของวิธีที่ฉันสร้างโมเดลทั้งมวลของฉัน เริ่มต้นด้วยชุดข้อมูลดิบประมาณ 50 ฟิลด์ ฉันได้สร้างคุณลักษณะทำนายที่มีประโยชน์จำนวนหนึ่ง เช่น การมีส่วนร่วมด้านกีฬาตัวแทน การได้รับรางวัล การดำรงตำแหน่งผู้นำ ฯลฯ ในด้านเรียงความ ฉันใช้เทคนิค NLP เพื่อค้นหา การกระจายหัวข้อของแต่ละเรียงความ (ฉันจะเจาะลึกมากขึ้นเกี่ยวกับวิธีการทำสิ่งนี้ในโพสต์ถัดไป) นอกจากนี้ ฉันได้สร้างตัวแปรที่เรียกว่า word_sophistication ซึ่งเป็นตัวแทนของจำนวนคำ 'แฟนซี' ที่นักเรียนใช้ในเรียงความของเขา/เธอ (วัดจากจำนวนคำที่ซับซ้อนทั้งหมด / จำนวนคำทั้งหมด) อาจมีคนตั้งสมมติฐานว่าความสุดขั้วทั้งสองมีความสัมพันธ์เชิงลบกับผลลัพธ์การรับเข้า: ค่าศูนย์อาจบ่งบอกถึงการขาดการใช้ถ้อยคำ ในขณะที่ค่าที่สูงอาจชี้ไปที่นักเขียนที่พูดเก่งและมีสีสันมากเกินไปในการใช้คำฟุ่มเฟือยของเขา (ขออภัยที่ประชด) หากเป็นเช่นนั้น ค่าที่เหมาะสมที่สุดจะต้องมีอยู่ที่ไหนสักแห่งในสเปกตรัมนี้ จากนั้นเราจะปล่อยให้ความงามของการเรียนรู้ของเครื่องเข้ามาแทนที่เพื่อค้นหาจุด/ช่วงนี้

การประเมินแบบจำลอง

ในการประเมินโมเดล ฉันได้พูดคุยกับบุคลากรที่ AdmitSee และเราตกลงกันว่า ความแม่นยำ จะเป็นตัวชี้วัดที่เหมาะสมที่สุดในการประเมินความสำเร็จของโมเดลที่นี่ (โปรดดู Aside 1 ด้านล่างสำหรับ เพิ่มเติมเกี่ยวกับเมตริกตัวแยกประเภท) แบบจำลองที่จัดลำดับความสำคัญของความแม่นยำมักจะระมัดระวังในการประมาณความน่าจะเป็น ซึ่งค่อนข้างสอดคล้องกับเป้าหมายของ AdmitSee ในการสนับสนุนให้นักเรียนใช้ผลิตภัณฑ์ของตน แม้ว่าพวกเขาจะเป็น 'นักศึกษาดาวเด่น' ก็ตาม

เส้นโค้งลักษณะการทำงานของตัวรับ (ROC) แสดงให้เห็นถึงประสิทธิภาพของแบบจำลองเนื่องจากเราเปลี่ยนแปลงเกณฑ์ที่เราแยกแยะสองคลาส โดยพื้นฐานแล้ว เป้าหมายคือการเพิ่มพื้นที่ใต้เส้นโค้งให้สูงสุด ในกราฟด้านล่าง เราเปรียบเทียบประสิทธิภาพของแบบจำลองทั้งสี่: i) Logistic Regression, ii) Random Forest, iii) Ensemble Model พื้นฐาน [LR+RF], iv) Grand Ensemble ที่สร้างจาก Ensemble พื้นฐานและรวมเข้ากับ รูปแบบใหม่ที่รวมเอาคุณสมบัติการเขียนเรียงความ โดยไม่สนใจ LR ในขณะที่พื้นที่ใต้เส้นโค้งดูมองไม่เห็น แต่ Grand Ensemble ก็ทำได้สำเร็จ ด้วยความแม่นยำ 62.8 (เทียบกับ Ensemble's 61.9 และ RF's 57.7)

นอกเหนือจากที่ 1: ประสิทธิภาพของตัวแยกประเภท

ในโพสต์ก่อนหน้านี้ ฉันได้เขียนเกี่ยวกับ "การเรียนรู้แบบมีผู้สอน" ฉันได้กล่าวถึงข้อผิดพลาดประเภทที่ 1 และข้อผิดพลาดประเภทที่ 2 สั้น ๆ และอาจเลือกที่จะลดข้อผิดพลาดข้อหนึ่งให้เหลือน้อยที่สุด ทั้งนี้ขึ้นอยู่กับสถานการณ์ ความตึงเครียดนี้สามารถเข้าใจได้โดยการดูที่ตัวชี้วัดความสำเร็จในการประเมินประสิทธิภาพของตัวแยกประเภท สามสิ่งที่พบได้บ่อยที่สุดคือความแม่นยำ ความแม่นยำ และการเรียกคืน

ความแม่นยำ = จุดข้อมูลที่คาดการณ์อย่างถูกต้อง / จุดข้อมูลทั้งหมด

ความแม่นยำ = ผลบวกที่ทำนายไว้ถูกต้อง / ผลบวกที่ทำนายทั้งหมด

Recall = ผลบวกที่คาดการณ์ไว้ถูกต้อง / ผลบวกจริงทั้งหมด

กล่าวอีกนัยหนึ่ง ความแม่นยำ วัดจำนวนจุดข้อมูลที่คุณคาดการณ์ได้อย่างแม่นยำ โดยไม่คำนึงถึงคลาส (+/-) ความแม่นยำ วัดจำนวนจุดข้อมูลที่เป็นบวกจริง โดยพิจารณาจากจุดข้อมูลทั้งหมดที่คุณระบุว่าเป็นบวก การเรียกคืนวัดจำนวนจุดข้อมูลที่คุณติดป้ายกำกับว่าเป็นบวก โดยพิจารณาจากจุดข้อมูลที่เป็นบวกจริงๆ สิ่งสำคัญคือต้องทราบว่ามีการเสียอย่างโดยธรรมชาติระหว่างความแม่นยำและการเรียกคืน: การเพิ่มสิ่งหนึ่งจะต้องสูญเสียอีกสิ่งหนึ่ง

การตีความโมเดล

การเพิ่มประสิทธิภาพเพื่อความแม่นยำนั้นยอดเยี่ยม แต่จะเป็นอย่างไรหากเราต้องการทราบว่าตัวแปรแต่ละตัวส่งผลต่อโอกาสในการรับเข้าเรียนของคุณอย่างไร นี่คือจุดที่ Logistic Regression โดดเด่น แม้ว่าประสิทธิภาพจะอ่อนแอลง แต่ก็สามารถตีความได้อย่างมาก โดยเฉพาะอย่างยิ่ง เราสามารถหาเลขชี้กำลังของสัมประสิทธิ์เพื่อทำความเข้าใจผลกระทบส่วนเพิ่มของแต่ละคุณลักษณะต่อตัวแปรผลลัพธ์

เนื่องจากฉันผูกพันกับ NDA ฉันจึงไม่สามารถเปิดเผยรายละเอียดได้จริงๆ แต่สามารถยกตัวอย่างสั้นๆ ได้ ค่าสัมประสิทธิ์สำหรับตัวแปรไบนารี ผู้นำ คือ 0.82 การหาเลขชี้กำลังนั้นทำให้เราได้ 2.26 ความหมายก็คือ หากคุณไม่ได้อยู่ในตำแหน่งผู้นำอยู่แล้ว การได้รับตำแหน่งผู้นำจะมีโอกาสถูกยอมรับมากกว่าสองเท่า!

ความคิดสุดท้ายและคำเตือน

สิ่งหนึ่งที่ควรทราบก็คือ แบบจำลองของเราสันนิษฐานโดยปริยายว่าโรงเรียนชั้นนำเหล่านี้ใช้เกณฑ์เดียวกันในการคัดเลือกผู้สมัครทุกปี แต่ในความเป็นจริง โรงเรียนอาจอัปเดต (แม้จะเล็กน้อย) สิ่งที่พวกเขามองหาในตัวนักเรียนเมื่อเวลาผ่านไป ในแง่ของขั้นตอนต่อไป ฉันอยากจะดำเนินการวิศวกรรมฟีเจอร์เพิ่มเติมโดยดูที่เอฟเฟกต์การโต้ตอบ (เช่น Varsity * Captain) และโดยการสำรวจเอฟเฟกต์ที่ลึกกว่าซึ่งเกี่ยวพันกับตัวแปรต่างๆ (เช่น นักเรียนฮิสแปนิกที่มีตำแหน่งผู้นำในนักเรียนเอเชีย สังคม).

หากต้องการเจาะลึกด้านเทคนิค โปรดตรวจสอบ GitHub repo ของฉันสำหรับโปรเจ็กต์นี้

อ่านต่อสำหรับส่วนที่ II...