‫ตอนนี้ เรามีโมเดลในอุดมคติที่ทำงานได้ดี -- ดีกับชุดข้อมูลการตรวจสอบความถูกต้อง
‫ความยาวของแขนที่ถูกต้องคือเมตริกที่เราให้ความสนใจ เนื่องจากเป็นเมตริกการประเมินสำหรับการแข่งขัน
‫Kaggle โดยเฉพาะ
‫แน่นอน หากคุณกำลังทำงานกับปัญหาอื่นหรือชุดข้อมูลอื่น คุณอาจมีตัวชี้วัดการประเมินที่แตกต่างกันซึ่งคุณกำลังพยายามปรับปรุง
‫แต่ในกรณีของเรา เราทำได้ดีทีเดียว
‫ลองใช้แบบจำลองในอุดมคติของเราเพื่อคาดการณ์ข้อมูลการทดสอบ
‫มีเกร็ดเล็กๆ น้อยๆ ในส่วนนี้ที่สำคัญอย่างยิ่งที่ต้องจดจำ และเราจะมาพบกันในวินาทีนี้
‫ก่อนอื่นเราต้องนำเข้าข้อมูลการทดสอบ
‫ทีนี้ถ้าเรามาดูกัน
‫ในโฟลเดอร์ข้อมูลของเรา
‫นี่แค่ในบ้านของดาวพฤหัสบดี เพราะเราได้สร้างโฟลเดอร์โครงการสำหรับโครงการนี้โดยเฉพาะ และเราได้ดาวน์โหลดข้อมูลของเราแล้ว
‫วางไว้ที่นี่
‫ข้างในนี้มีชุดข้อมูลซึ่งเป็น CSV ทดสอบ
‫นี่คือสิ่งที่เราจะใช้
‫และถ้าเรากลับมาที่ Kaggle มันบอกเราว่า test CSV คือชุดทดสอบที่จะไม่ออกจนกว่าจะถึงสัปดาห์สุดท้ายของการแข่งขัน
‫สิ่งที่เราได้รับในขณะนี้ เนื่องจากการแข่งขันนี้ผ่านไปแล้ว จึงมีข้อมูลตั้งแต่วันที่
‫1 พฤษภาคม 2555 ถึงเดือนพฤศจิกายน 2555
‫โอเค ประมาณหกเดือนหลังจากตั้งค่าการตรวจสอบของเรา
‫สวยงาม.
‫และโมเดลของเราทำงานได้ดีในชุดการตรวจสอบ
‫ดังนั้นสิ่งที่คุณอาจเห็นคือดูว่าเราสามารถคาดการณ์ข้อมูลหกเดือนในอนาคตได้อย่างไร
‫ดังนั้นเราจะไปทดสอบ rdv เท่ากับ PDF หรืออ่านเป็น v
‫เรากำลังจะทำแบบเดียวกับที่เราทำในตอนเริ่มต้นกับชุดข้อมูลรถไฟและชุดข้อมูลที่ถูกต้อง
‫สมุดสีน้ำเงินสำหรับรถปราบดิน
‫มหัศจรรย์.
‫และเรียกว่าการทดสอบ csv และเราจะผ่านในหน่วยความจำต่ำเท่ากับเท็จ
‫และเราจะผ่านวันที่ด้วยเพราะจำไว้ว่าเราไม่ได้ทำการดัดแปลงใดๆ กับชุดข้อมูลนี้เหมือนกับที่เราทำกับชุดอื่นๆ
‫ของเรา
‫เราจะดูว่ามันเกิดขึ้นในอีกสักครู่ จากนั้นเราจะตรวจสอบ DF test dot head
‫โอ้.
‫เกิดอะไรขึ้น?
‫อ้าว พิมพ์ผิด
‫สวยงาม.
‫นี่จึงดูคุ้นเคย
‫มันเป็นสิ่งที่เราเคยเห็นมาก่อน
‫ยกเว้นตอนนี้
‫คราวนี้ ชุดข้อมูลการทดสอบไม่มีคอลัมน์ราคาลด
‫และเหตุผลก็คือเพราะนั่นคือคอลัมน์ที่เราพยายามจะทำนาย
‫ทําไมเราไม่ดูว่าเราทำได้ไหม?
‫ดังนั้นเราจึงไปทดสอบสเปรดเท่ากับโมเดลในอุดมคติ
‫เราใช้แบบจำลองในอุดมคติของเรา แบบจำลองเวลานี้ทำนายว่าแบบจำลองในอุดมคตินั้นทำงานได้ดีที่สุด
‫และเราน่าจะผ่านกรอบข้อมูลทั้งหมดได้ใช่ไหม
‫เนื่องจากนี่จะเป็นค่า X ของเรา และเราไม่ต้องวางคอลัมน์ใดๆ เนื่องจากไม่มีคอลัมน์ราคาลด
‫มาดูกันว่าจะเกิดอะไรขึ้น
‫อันที่จริง พวกเขาแสดงความคิดเห็นเล็กน้อยที่นี่ ทำการคาดคะเนเกี่ยวกับชุดข้อมูลการทดสอบ และฉันแค่คิดถึงความท้าทายเล็กน้อยก่อนที่เราจะเรียกใช้เซลล์นี้
‫ฉันอยากให้คุณลองคิดดูว่าจะเกิดอะไรขึ้น
‫ดังนั้นโมเดลแมชชีนเลิร์นนิงของเราจึงได้รับการฝึกอบรมเกี่ยวกับชุดข้อมูลใดชุดหนึ่ง และตอนนี้เราได้นำเข้าชุดข้อมูลทดสอบแล้ว
‫จะเกิดอะไรขึ้นหากเราพยายามคาดคะเนชุดข้อมูลนี้โดยอิงตาม ฉันจะให้คำแนะนำตามข้อมูลที่แบบจำลองของเราได้รับการฝึกอบรมมา
‫และถ้าคุณไม่มั่นใจก็ไม่เป็นไร
‫เราจะเห็นมันในวินาที
‫เราควรจะได้เห็นมันตอนนี้
‫โอ้ ไปกันเถอะ
‫ค่าผิดพลาด
‫ตกลง.
‫เกิดอะไรขึ้นที่นี่?
‫ไม่สามารถแปลงสตริงเป็นทศนิยม
‫ตกลง.
‫ดังนั้นหากคุณจำย้อนกลับขึ้นไปด้านบนได้ ให้เลื่อนกลับขึ้นไปผ่านโน้ตบุ๊กที่เรากำลังดำเนินการอยู่
‫เราทำอะไรก่อนที่เราจะฝึกโมเดลการเรียนรู้ของเครื่อง?
‫เราพบว่ามีข้อผิดพลาดที่คล้ายกันเมื่อเราเริ่มต้นที่นี่เมื่อเราเริ่มสร้างแบบจำลอง
‫คงจะดีถ้าฉันหามันเจอ
‫นางแบบของเรา
‫ไม่ทำงาน
‫ไปเลย.
‫ตกลง.
‫สร้างแบบจำลอง
‫ดังนั้นเทมเพลต DF จะลดลง
‫ไม่สามารถแปลงสตริงเป็นเที่ยวบิน
‫ดังนั้นข้อความแสดงข้อผิดพลาดเดียวกันคือสิ่งที่อยู่ด้านล่าง
‫เหตุผลที่เกิดเหตุการณ์นี้ขึ้น คุณคิดอย่างไร?
‫ก็เพราะว่าเมื่อเรานำเข้าชุดข้อมูลดั้งเดิมของเรา เราได้ทำการดัดแปลงบางอย่างกับชุดข้อมูลนั้น
‫เราทำอะไร?
‫เราทำให้แน่ใจว่าข้อมูลของเราเป็นตัวเลข และทำให้แน่ใจว่าไม่มีค่าที่ขาดหายไป
‫สิ่งที่เราทำไปแล้วตอนนี้คือเรานำเข้าการทดสอบ DF แล้ว
‫อาจมีค่าที่ขาดหายไปซึ่งจะมี
‫และมันอาจจะไม่ใช่ตัวเลขทั้งหมด
‫และ.
‫ไกลออกไป.
‫เราได้ดำเนินการประมวลผลข้อมูลมาพอสมควรแล้วที่นี่
‫และถ้าเราเอาคอลัมน์
‫นี่คือคุณสมบัติทั้งหมด
‫แต่ถ้าเราตรวจสอบคอลัมน์อดีตรถไฟ
‫ไม่จำเป็นต้องมีวงเล็บ
‫เราสังเกตว่าความยาวของคอลัมน์ต่างกัน
‫อืม.
‫มี 102 คอลัมน์ในรถไฟ x ของเรา
‫ในการทดสอบ DF เราได้อะไรมาบ้าง?
‫เราเห็นมันที่นี่มาก่อนเมื่อเราทำดอทเฮด
‫52 คอลัมน์
‫อืม.
‫เหตุผลที่โมเดลแมชชีนเลิร์นนิงของเราไม่สามารถคาดการณ์ชุดข้อมูลทดสอบได้ในขณะนี้ เป็นเพราะว่าโมเดลนั้นไม่อยู่ในรูปแบบเดียวกับที่โมเดลได้รับการฝึกหรือเป็นชุดข้อมูลที่โมเดลได้รับการฝึก
‫นั่นคือสิ่งที่เราจะต้องทำ
‫ไม่เป็นไร.
‫มากำจัดสิ่งเหล่านี้กันเถอะ
‫แล้วไง?
‫เราจะทำสิ่งนี้ได้อย่างไร?
‫ดังนั้นเราอาจไปประมวลผลข้อมูลล่วงหน้า
‫กล่าวคือ การรับชุดข้อมูลการทดสอบในรูปแบบเดียวกับชุดข้อมูลการฝึกอบรมของเรา
‫มหัศจรรย์.
‫แล้วเราจะทำสิ่งนี้ได้อย่างไร?
‫ฉันคิดว่าสิ่งที่เราสามารถทำได้คือสร้างฟังก์ชันสำหรับการทำเช่นนั้น
‫ดังนั้นถ้าเราจะนำเข้าชุดข้อมูลใหม่ เช่น ชุดข้อมูลทดสอบ จริง ๆ แล้วเราทำการปรับเปลี่ยนชุดข้อมูลการฝึกอบรมของเรา
‫เราสามารถใช้ฟังก์ชันที่เราทำกับชุดข้อมูลการฝึก และทำสิ่งเดียวกันกับชุดข้อมูลทดสอบ
‫ด้วยวิธีนี้ทั้งคู่จึงเหมือนกัน
‫นั่นทำให้รู้สึก
‫มาดูกันก่อน
‫มาดูกันว่าเราจะทำได้ไหม
‫ดังนั้นก่อนประมวลผลข้อมูลหรือส่งผ่านกรอบข้อมูล
‫เราจะทิ้งโน้ตไว้ที่นี่
‫ดังนั้นทำการแปลงบน DF และส่งคืน DF ที่แปลงแล้วอย่างง่ายใช่ไหม
‫เราต้องการสร้างฟังก์ชันที่ใช้ data frame บางประเภท
‫มันจัดการหลายอย่างบน data frame นั้น และในที่สุด มันจะส่งคืน data frame
‫นั้น
‫ตอนนี้เราจะต้องเติมการแปลงทั้งหมด ที่เราทำเดิมเพื่อทำ temp ในนี้
‫และเราสามารถทำได้โดยขึ้นไป
‫เราอาจต้องทำสำเนาและก้าวที่นี่
‫ดังนั้นจำกลับขึ้นไปด้านบน
‫นี่เป็นกฎเล็กน้อย เกร็ดเล็กเกร็ดน้อย
‫สิ่งที่คุณทำกับชุดข้อมูลการฝึก คุณจะต้องทำกับชุดข้อมูลทดสอบ
‫นั่นเป็นเกร็ดความรู้เล็กๆ น้อยๆ ของแมชชีนเลิร์นนิง
‫ตกลง.
‫นี่คือการยักย้ายถ่ายเทครั้งใหญ่ชุดแรกที่เราทำ
‫มันอาจจะคัดลอกว่า
‫มหัศจรรย์.
‫และเราจำได้แค่บรรทัดนี้
‫ดังนั้นเราจึงได้เพิ่มข้อมูลบางส่วนที่นี่โดยพิจารณาจากคอลัมน์วันที่ เวลา วันที่ขาย แล้วจึงลบออก
‫นั่นคือสองขั้นตอนแรกที่เราต้องทำ
‫ตกลง.
‫เราจะเลื่อนลงไปจนสุดปลายสมุดบันทึกของเรา
‫วิดีโอนี้จะต้องใช้การเลื่อนเยอะ เพราะเราทำสามสิ่งหลักๆ ถูกต้อง
‫เราได้เพิ่มข้อมูลบางส่วนที่นี่ไปยังวันที่ เวลา หรือเราแยกข้อมูล
‫นั่นอาจเป็นความคิดที่ดีกว่า
‫เราดึงข้อมูลจากคอลัมน์เวลาวันที่และเพิ่มลงในกรอบข้อมูล
‫ดังนั้นเราอาจไป def dot drop และหลังจากที่เราทำเสร็จแล้ว เราจะวางคอลัมน์วันที่ขาย
‫และเราจะไปแกนเท่ากับหนึ่งและในตำแหน่งเท่ากับจริง
‫มหัศจรรย์.
‫และเราต้องลบ temp ออกจากสิ่งเหล่านี้เพราะเราใช้ DF เท่านั้น
‫เคล็ดลับเล็ก ๆ น้อย ๆ ที่นี่คือการย้ายเคอร์เซอร์และกดคำสั่งค้างไว้หากคุณใช้ Mac หรืออาจเป็นตัวควบคุมว่าคุณใช้
‫Windows และเราสามารถย้อนกลับได้ที่นี่
‫วิเศษไปเลย
‫เนื่องจากเราไม่ได้ทำงานกับ DF temp เรากำลังทำงานกับ DF
‫ดังนั้น DataFrame ที่ตั้งชื่อตามอำเภอใจจะทำงานร่วมกับฟังก์ชันของเราได้
‫สิ่งต่อไปที่เราทำคือเราต้องเติมแถวตัวเลขด้วยค่ามัธยฐาน
‫และพวกเราด้วย
‫เต็มไปด้วยหมวดหมู่
‫ข้อมูลหายและกลายเป็นตัวเลข
‫และเปลี่ยนหมวดหมู่เป็นตัวเลข
‫นั่นคือสิ่งที่เราต้องเลื่อนกลับขึ้นไปหา
‫มาทำกันก่อน
‫เราจะได้รับปาฏิหาริย์ใหม่ที่ขาดหายไป
‫โชคดีที่เราวางสมุดบันทึกไว้
‫เราได้เพิ่มหัวข้อเหล่านี้ไว้ที่นี่เพื่อให้เราเห็นว่าเรากำลังทำอะไรอยู่
‫ทั้งหมดนี้เป็นส่วนหนึ่งของการช่วยเหลือตัวเองใช่ไหม?
‫ดังนั้นให้เติมแถวตัวเลขด้วยค่ามัธยฐาน
‫เราต้องการรหัสทั้งหมดนี้ที่นี่
‫เราจะคัดลอกสิ่งนั้น
‫สวยงาม.
‫ดังนั้นนี่คือที่ที่ความคิดเห็นและหัวข้อต่างๆ ในสมุดบันทึกของคุณสามารถช่วยตัวคุณเองในอนาคตได้จริงๆ
‫คือเมื่อคุณต้องการใช้สายตาและทำความสะอาดสิ่งต่างๆ
‫ดังนั้นเราจึงไปอีกครั้ง
‫เราต้องลบ DF temp ออก เพื่อให้ได้ DF temp
‫เราไม่ต้องการอุณหภูมิ DF นั้น เราแค่ต้องการ DF เท่านั้น
‫ตกลง.
‫สวยงาม.
‫และเรายังต้องกรอกข้อมูลในหมวดหมู่ที่ขาดหายไปและเปลี่ยนหมวดหมู่ให้เป็นตัวเลข
‫ทีนี้ มาดูกันว่าเราจำวิธีการทำสิ่งนี้ได้ไหม แทนที่จะต้องเลื่อนกลับขึ้นข้างบน เพราะเราเลื่อนมาพอแล้ว
‫พูดตามตรง
‫ดังนั้นเราจึงสามารถทำได้
‫ถ้าไม่ใช่ ถ้าเราจำได้ ถ้าไม่ใช่ประเภทตัวเลข เราก็ทำแบบนั้น
‫Typekit เป็นเนื้อหาประเภทตัวเลขเนื่องจากเรากำลังวนซ้ำ
‫เราอยู่ในวงเดียวกันนี่
‫เนื้อหาที่เราอยากไป
‫ป้ายกำกับ Def บวกขีดล่างขาดหายไป ใช่ เท่ากับ
‫มันจะตรวจสอบว่ามันเป็นโมฆะหรือไม่ถ้ามันเป็นโมฆะ
‫เราต้องการเพิ่มป้ายกำกับที่ไม่มีป้ายกำกับ จุดข้อมูลนั้นขาดหายไป
‫และจำวิธีที่เราเพิ่มบวกหนึ่งลงในรหัสหมวดหมู่เพราะแพนด้าและรหัสไม่มีหมวดหมู่เป็นหมวดหมู่เชิงลบ
‫นี่คือที่ที่เราสามารถไป
‫Def label เท่ากับ PD เด็ดขาด ดังนั้นให้เปลี่ยนเป็นหมวดหมู่
‫ดังนั้นให้เปลี่ยนเนื้อหาของคอลัมน์ใดคอลัมน์หนึ่งให้เป็นหมวดหมู่แล้วเข้าถึงรหัสหรือที่เรียกว่าการเปลี่ยนเป็นตัวเลขแล้วบวกหนึ่ง
‫ไม่เป็นไร.
‫ไม่ใช่ฟังก์ชั่นที่ไม่ดี
‫นี่คือสิ่งที่เกิดขึ้นในเวิร์กโฟลว์โน้ตบุ๊กใช่ไหม
‫อยู่บนนี้รึเปล่า?
‫คุณอาจจะจำแนกส่วนใหญ่ว่าค่อนข้างยุ่ง
‫เราได้ช่วยตัวเองด้วยหัวข้อต่างๆ และความคิดเห็นอื่นๆ
‫อย่างไรก็ตาม เมื่อคุณดำเนินการเพิ่มเติมในกระบวนการนี้ คุณจะเริ่มสร้างฟังก์ชันตัวช่วยเหล่านี้
‫ดังนั้นคุณกำลังรวมขั้นตอนต่างๆ มากมายไว้ในฟังก์ชันหนึ่งๆ เพื่อให้ซิงค์สิ่งต่างๆ ในโน้ตบุ๊กได้อย่างแท้จริง
‫และคุณสามารถเรียกฟังก์ชันแบบนี้ เหมือนกับฟังก์ชันคะแนนการแสดงของเรา และมันก็ทำกระบวนการที่จะเหมือนเดิมทุกครั้ง
‫แทนที่จะต้องเลื่อนดูสมุดบันทึกและค้นหาบางอย่างในเซลล์อื่น
‫ดังนั้นตอนนี้เราสามารถกด shift เข้าไปที่นั้นหรือสิ่งที่เกิดขึ้นคาดว่าบล็อกที่ขาดหายไป
‫ฉันไม่คิดว่าเราต้องการ
‫โอ้.
‫นั่นเป็นเหตุผลที่เราต้องการมัน
‫เราต้องการมันในการเต้นที่นี่
‫เราจะไปที่นั่น.
‫คลาสสิค.
‫นี่คือสิ่งที่เกิดขึ้นเมื่อเราคัดลอกและวางโค้ด
‫ใช่ไหม
‫การจัดรูปแบบไม่สมบูรณ์แบบเสมอไป
‫สวยงาม.
‫ดังนั้นเราจึงมีฟังก์ชันที่จะประมวลผลดาต้าเฟรมบางประเภทล่วงหน้า
‫จะเพิ่มข้อมูลบางอย่างตามคอลัมน์วันที่ขาย
‫มันจะเติมแถวตัวเลขด้วยค่ามัธยฐาน
‫มันจะเปลี่ยนข้อมูลหมวดหมู่ที่ขาดหายไปเป็นค่าศูนย์ และข้อมูลที่เหลือเป็นหมายเลขรหัสหมวดหมู่แล้ว
‫สวยงาม.
‫ดังนั้นจะผ่านไม่กี่ขั้นตอน
‫แต่ไม่เป็นไร เราทำงานได้ทุกอย่างที่จะเกิดขึ้นร่วมกัน
‫และตอนนี้เรามาทำอะไรที่นี่?
‫ที่จริงแล้ว คำถามที่ดีคือฟังก์ชันนี้จะพังตรงไหน
‫ฉันอาจปล่อยให้คุณทำเช่นนั้นสำหรับวิดีโอนี้เพื่อบันทึกวิดีโอไม่ให้ยาวเกินไป
‫ฉันต้องการให้คุณดูฟังก์ชันสำคัญที่เราสร้างขึ้นและคิดเกี่ยวกับมัน
‫ถ้าเราผ่านมัน กรอบข้อมูลการฝึกอบรมของเรา มันจะทำงานอย่างไร?
‫แล้วถ้าเราผ่านมัน กรอบข้อมูลการทดสอบของเรา การทดสอบ DF ที่ถูกต้อง ซึ่งอยู่บนนี้ เราก็ผ่านกรอบข้อมูลนี้
‫มันจะพังได้ยังไง?
‫เราจะตอบในวิดีโอหน้า