‫ตกลง.
‫ตอนนี้เราได้เห็นวิธีต่างๆ ในการจัดการอาร์เรย์แล้ว แต่วิธีการส่วนใหญ่ที่เราเคยใช้นั้นเป็นการคำนวณหรือการรวม
‫ชนิดของการคำนวณในการขึ้นผู้ตัดสิน
‫แล้วถ้าคุณต้องการเปลี่ยนรูปร่างของอาร์เรย์ numpy ของคุณล่ะ
‫ทำไมคุณถึงต้องเปลี่ยนรูปร่างของผู้ตัดสิน เรย์?
‫จำไว้ว่าแมชชีนเลิร์นนิงจำนวนมากกำลังจัดเรียงอินพุตของคุณให้เป็นอัลกอริธึมแมชชีนเลิร์นนิงและทำให้แน่ใจว่าได้ผลลัพธ์ที่ถูกต้อง
‫และวิธีหนึ่งในการจัดเรียงอินพุตคือทำให้แน่ใจว่าข้อมูลของคุณหรือรายการตัวเลขหรืออาร์เรย์ของตัวเลขของคุณอยู่ในรูปแบบที่ถูกต้อง
‫มาดูวิธีการทำใน NumPy กันดีกว่า
‫ดังนั้นเราจะไปก่อร่างใหม่และแปลงร่าง
‫นี่คือส่วนนี้
‫ดีเล็ก ๆ น้อย ๆ มุ่งหน้าไปที่นั่น
‫มาดูกันเลย
‫อาร์เรย์
‫สวยงาม.
‫มาดูกันดีกว่าว่าเป็นรูปอะไร
‫สองต่อสาม.
‫ใช่นั่นสมเหตุสมผล
‫จำไว้นะ ก่อนหน้านี้ ในวิดีโอที่แล้ว เราพยายามคูณสองด้วยสาม
‫ลองนึกภาพสามภาพเพื่อให้เราเห็นอีกครั้ง
‫สาม.
‫เราจะไปที่นั่น.
‫มาดูรูปร่างกัน
‫รูปร่างสามจุด
‫ตกลง.
‫จะเกิดอะไรขึ้นถ้าเราพยายามคูณพวกนี้?
‫อา ไม่สามารถถ่ายทอดตัวถูกดำเนินการพร้อมกับรูปร่างได้
‫สอง สาม หรือสอง สาม สาม
‫ดี.
‫สิ่งที่สวยงามเกี่ยวกับอาร์เรย์ numpy ก็คือสามารถปรับเปลี่ยนหรือเปลี่ยนรูปแบบได้
‫มาดู Reshape กันก่อน
‫Reshape ทำอะไรได้บ้าง?
‫Reshape เป็นวิธีการที่คุณสามารถเรียกใช้บนอาร์เรย์ใดก็ได้
‫ดังนั้นถ้าเราพิมพ์ที่นี่
‫เปลี่ยนรูปร่างแท็บกะ
‫แปลงร่างเอกสารใหม่
‫ส่งกลับอาร์เรย์ที่มีข้อมูลเดียวกันกับรูปร่างใหม่
‫สวยงาม.
‫เราจะไปที่นั่น.
‫รับข้อมูลเพิ่มเติมที่นั่น
‫แต่มาดูกันว่ามันต้องการอะไร
‫รูปร่าง.
‫อืม.
‫ดังนั้น กฎข้อหนึ่งของการออกอากาศ หากเราค้นหาการออกอากาศอีกครั้ง
‫หนึ่งในกฎของการออกอากาศ
‫อยู่ที่นี่.
‫กฎการออกอากาศทั่วไป เมื่อใช้งานสองอาร์เรย์ numpy จะเปรียบเทียบองค์ประกอบรูปร่างอย่างชาญฉลาด
‫เริ่มต้นด้วยมิติต่อท้ายและเดินหน้าต่อไป
‫สองมิติเข้ากันได้เมื่อเท่ากันหรือหนึ่งมิติเป็นหนึ่งเดียว
‫นี่หมายความว่าถ้ารูปร่างของสองอาร์เรย์เท่ากัน การคูณอาจเกิดขึ้นได้
‫แต่ถ้ามันไม่เท่ากัน หนึ่งในนั้นก็ต้องเป็นหนึ่ง
‫นั่นคือสิ่งที่เราจะทำที่นี่
‫เรากำลังจะเปลี่ยนรูปร่าง A เป็นอาร์เรย์
‫จากรูปร่างถึงสาม
‫เข้ากันไม่ได้นี่
‫และเราจะเปลี่ยนหนึ่งในมิติเหล่านี้
‫เรากำลังจะเพิ่มมิติจริงๆ
‫ดังนั้นจงก่อร่างใหม่ สอง สาม หนึ่ง
‫มาดูกันว่าจะเกิดอะไรขึ้น
‫อา.
‫โอเค มันเลยสลับไปมานิดหน่อย
‫มาพิมพ์รูปร่างกันที่นี่
‫คุณจะเห็นว่าเราใช้วิธี reshape ที่ผ่านมาในรูปทรงที่ต่างออกไป
‫ตอนนี้เราได้เพิ่มมิติอื่นที่นี่ และตอนนี้รูปร่างของมันคือ สอง สาม หนึ่ง
‫เราจะตรวจสอบรูปร่างสามแบบ
‫ตกลง.
‫สอง สาม สาม.
‫ดังนั้นหากเราย้อนกลับไปดูกฎการออกอากาศ
‫ขนาดเท่ากันหรือไม่?
‫เลขที่
‫เป็นหนึ่งในนั้นหรือไม่?
‫ใช่.
‫ลองทำสิ่งนี้กัน
‫สองคนจะสร้างตัวแปร A เพื่อก่อร่างใหม่เท่ากับ A เพื่อก่อร่างใหม่
‫สอง สาม หนึ่ง.
‫สวยงาม.
‫เราจะดูเรื่องนี้กัน
‫ที่จะก่อร่างใหม่
‫มีการเปลี่ยนรูปร่าง A2, A2 Reshape Times A3
‫เราจะไปที่นั่น.
‫สวยงาม.
‫นั่นคือประโยชน์ของการก่อร่างใหม่
‫นี่เป็นเพียงตัวอย่างเล็กๆ น้อยๆ ที่นี่
‫ก่อนที่พวกเขาจะเข้ากันไม่ได้ แต่เนื่องจากเราเปลี่ยนโฉมมัน เราเปลี่ยนรูปแบบ a ให้อยู่ในกฎการออกอากาศของ
‫numpy
‫เราสามารถใช้ฟังก์ชันตัวคูณในอาร์เรย์ทั้งสองนี้ได้
‫ทีนี้ ถ้าแนวคิดนี้เริ่มแปลกๆ ก็ไม่เป็นไร
‫และจะต้องอาศัยการฝึกฝนเล็กน้อยเพื่อหาวิธีใช้การปรับรูปร่างอย่างเหมาะสม
‫แต่สิ่งสำคัญในที่นี้คือ เพียงเพราะคุณเป็นกรรมการ เรย์จึงมีรูปร่างที่แน่นอน ราวกับว่ามันเริ่มแบบนี้ไม่ได้หมายความว่าจะต้องอยู่ในรูปร่างนั้น
‫ดังนั้น A2 เวอร์ชันที่ปรับโฉมใหม่นี้จึงยังคงมีข้อมูลเหมือนกับ A2 ดั้งเดิม
‫มันเป็นเพียงรูปร่างที่แตกต่างกัน
‫นี่เป็นหนึ่งในปัญหาที่คุณจะเจอในปัญหาต่างๆ ของแมชชีนเลิร์นนิง คือ การทำให้แน่ใจว่าข้อมูลที่คุณกำลังพยายามค้นหารูปแบบภายในมีรูปร่างเหมือนกัน
‫ดังนั้นอัลกอริธึมแมชชีนเลิร์นนิงจึงสามารถทำงานเหมือนกับการออกอากาศนี้โดยเร็วที่สุด
‫และหากรูปร่างไม่เท่ากัน คุณมักจะได้รับข้อผิดพลาดแบบนี้กลับมา ซึ่งบอกว่าข้อมูลที่คุณพยายามค้นหารูปแบบนั้นไม่ใช่รูปร่างเดียวกัน
‫นั่นคือเมื่อคุณต้องคิดหาวิธีใช้บางอย่างเช่น Reshape เพื่อเปลี่ยนให้เป็นรูปร่างเดียวกันเพื่อให้เข้ากันได้
‫ตอนนี้มีอีกอย่างหนึ่งที่ทรานสโพส
‫ทีนี้ทรานสโพสคืออะไร?
‫เรามาดูกันก่อนว่า
‫แสดงความคิดเห็นเล็กน้อยที่นี่เพื่อให้เรารู้ว่าเกิดอะไรขึ้น
‫เปลี่ยน a เป็น จริง เราอาจปล่อยไว้ตรงนี้ A ถึง T เพื่อดูว่ามีอะไรเปลี่ยนแปลงบ้าง
‫ลองสำรองข้อมูล A ถึง Z กัน
‫เปลี่ยนสิ่งที่เปลี่ยนแปลง
‫ไปสร้างรูปร่างกันเถอะ
‫สาม.
‫สอง.
‫ตกลง.
‫ทีนี้ถ้าเราไปที่นี่
‫แปดรูปร่าง
‫แล้วทรานสโพสทำอะไร
‫มันสลับแกน
‫ตอนนี้รูปร่างสองเป็นสองสาม
‫แต่ถ้าเราเรียกทรานสโพส และตอนนี้ T เป็นสี่ทรานสโพส มันจะสลับแกนไปรอบๆ
‫นั่นคือสิ่งที่เราเห็นได้
‫ตอนนี้ 1 ถึง 3 3 อยู่ข้างล่างนี้ในคอลัมน์ และสี่ห้า, 6 5 อยู่ในคอลัมน์นี้
‫ที่ทำได้ก็แค่สลับแถวและคอลัมน์
‫ตอนนี้คุณสามารถทำสิ่งนี้กับอาร์เรย์ที่ใหญ่ขึ้นได้เช่นกัน
‫มาดูรูปร่างจุด a3a3 สอง สาม สามกัน
‫ถ้าเราเรียก a3t
‫มันจะสลับแกนพวกนี้ไปรอบๆ
‫ลองดู, รูปทรงสามจุด.
‫ตอนนี้เราได้พลิกมันแล้ว
‫ดังนั้นตอนนี้มิตินี้ ก็อยู่ที่จุดสิ้นสุดเช่นกัน และสามและสามได้สลับไปที่ด้านหน้าแล้ว
‫ความแตกต่างที่สำคัญระหว่างทรานสโพสและการปรับรูปร่างคือการที่ทรานสโพสเพียงแค่พลิกแกนไปรอบๆ
‫และก่อร่างใหม่
‫คุณสามารถสร้างรูปร่างที่กำหนดเองได้
‫ตัวอย่างเช่น เราเปลี่ยนรูปแบบ A เพื่อให้สอดคล้องกับกฎการออกอากาศของเรา
‫ดังนั้น ฝึกปรับโครงสร้างอาร์เรย์ของคุณ แล้วพบกันใหม่ในวิดีโอหน้า