นักวิทยาศาสตร์ข้อมูล Notes: จะเริ่มต้นที่ไหนและจำเป็นหรือไม่

นักวิทยาศาสตร์ข้อมูล Notes: จะเริ่มต้นที่ไหนและจำเป็นหรือไม่

TL;DR เป็นโพสต์สำหรับคำถาม/คำตอบเกี่ยวกับ Data Science และวิธีเข้าสู่วิชาชีพและพัฒนาในนั้น ในบทความ ฉันจะวิเคราะห์หลักการพื้นฐานและคำถามที่พบบ่อย และพร้อมที่จะตอบคำถามเฉพาะของคุณ - เขียนในความคิดเห็น (หรือในข้อความส่วนตัว) ฉันจะพยายามตอบทุกอย่างภายในสองสามวัน

ด้วยการถือกำเนิดของบันทึกชุด "วันที่ซาตาน" ข้อความและความคิดเห็นมากมายมาพร้อมกับคำถามเกี่ยวกับวิธีการเริ่มต้นและสถานที่ที่จะขุดและวันนี้เราจะวิเคราะห์ทักษะหลักและคำถามที่เกิดขึ้นหลังจากการตีพิมพ์

ทุกสิ่งที่กล่าวไว้ในที่นี้ไม่ได้อ้างว่าเป็นความจริงขั้นสุดท้ายและเป็นความเห็นส่วนตัวของผู้เขียน เราจะดูสิ่งสำคัญที่ดูเหมือนสำคัญที่สุดในกระบวนการนี้

เหตุใดสิ่งนี้จึงจำเป็น?

เพื่อให้บรรลุเป้าหมายได้ดีขึ้น อย่างน้อยก็ดูค่อนข้างเจาะจง - คุณอยากเป็น DS หรือ Research Scientist ที่ Facebook/Apple/Amazon/Netflix/Google - ดูข้อกำหนด ภาษา และทักษะที่จำเป็น โดยเฉพาะตำแหน่งไหน กระบวนการจ้างงานเป็นอย่างไร? วันปกติผ่านไปอย่างไรในบทบาทเช่นนี้? โปรไฟล์โดยเฉลี่ยของคนที่ทำงานที่นั่นเป็นอย่างไร?

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

สรุปมุมมองเป้าหมายปัจจุบัน

แม้ว่ามันจะเปลี่ยนแปลงไปตลอดทาง และโดยทั่วไปแล้วการเปลี่ยนแปลงแผนระหว่างการเล่นเป็นเรื่องปกติ แต่ก็คุ้มค่าที่จะมีเป้าหมายและมุ่งความสนใจไปที่สิ่งนั้น ประเมินและคิดใหม่เป็นระยะๆ

มันจะเป็นหรือจะยังคงเกี่ยวข้อง?

เมื่อถึงเวลาที่คุณเติบโตเป็นตำแหน่ง

ลองนึกภาพว่าก่อนที่ตำแหน่งของคุณคุณจะต้องได้รับปริญญาเอก ทำงานในอุตสาหกรรมนี้มา 2-3 ปี และโดยทั่วไปแล้วตัดผมของคุณขณะนั่งสมาธิในวัด - สถานการณ์ของ Data Science จะไม่เหมือนเดิมกับที่เคยเป็นกับนักเศรษฐศาสตร์และ ทนายความ? ทุกอย่างจะเปลี่ยนไปเกินกว่าจะจดจำได้ในพื้นที่ที่คุณต้องการติดตามหรือไม่?

ไม่มีโอกาสที่ดีที่ทุกคนจะรีบไปที่นั่นแล้วเราจะเห็นภาพที่มีคนจำนวนมากที่พยายามเข้าสู่อาชีพนี้ - และจะมีเพียงตำแหน่งเริ่มต้นที่น้อยเท่านั้น

การพิจารณาแนวโน้มปัจจุบันเมื่อเลือกเส้นทางอาจคุ้มค่า ไม่เพียงแต่สถานะปัจจุบันของตลาดแรงงานเท่านั้น แต่ยังรวมถึงแนวคิดของคุณว่ามีการเปลี่ยนแปลงอย่างไรและอยู่ที่ไหน

ตัวอย่างเช่น ผู้เขียนไม่ได้วางแผนที่จะกลายเป็นซาตาน แต่ในช่วงปริญญาเอกของเขา เขาทำงานในโครงการของบุคคลที่สามที่มีทักษะสูงเหมือนกับ DS และเมื่อสำเร็จการศึกษาระดับบัณฑิตวิทยาลัย เขาก็เปลี่ยนมาสู่สภาพแวดล้อมโดยธรรมชาติโดยมองเห็นสิ่งที่ดี ตำแหน่ง.

หากในระหว่างการเล่นปรากฎว่าจำเป็นต้องย้ายไปที่อื่น - เนื่องจากขณะนี้มีการเคลื่อนไหวมากที่สุดและมีการกระทำที่น่าสนใจที่สุดเกิดขึ้น เราก็จะย้ายไปที่นั่นอย่างเป็นธรรมชาติ

พังทลายทักษะ

เหล่านี้เป็นทักษะที่มีเงื่อนไขซึ่งดูเหมือนว่าฉันจะเป็นกุญแจสำคัญในการทำงาน DS อย่างเต็มที่และมีประสิทธิภาพ ฉันจะเน้นภาษาอังกฤษแยกกัน - เรียนรู้ทุกสิ่งที่คุณทำใน CS ต่อไปเป็นหมวดหมู่ที่สำคัญ

การเขียนโปรแกรม/การเขียนสคริปต์

คุณแน่ใจที่จะทำความคุ้นเคยกับภาษาใด? หลาม? ชวา? การเขียนสคริปต์เชลล์? ลัวะ? ฐานข้อมูล? ซี++?

สิ่งที่คุณต้องทำจริงๆ และทำไมในแง่ของการเขียนโปรแกรม ช่วงของตำแหน่งที่นี่แตกต่างกันอย่างมาก

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

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

ตัวอย่างเช่น สำหรับ Python ผู้คนแต่งหน้ากันแล้ว แผนที่ การเรียนภาษา.

แน่นอนว่ามีคำแนะนำที่มีประสบการณ์และแหล่งข้อมูลที่ดีสำหรับความต้องการของคุณอยู่แล้ว - คุณต้องตัดสินใจเลือกรายการและเริ่มดำเนินการตามนั้น

ทำความเข้าใจกระบวนการทางธุรกิจ

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

โดยปกติแล้ว ฉันจะถามตัวเองด้วยคำถามต่อไปนี้:

  • ฉันทำอะไรในบริษัทกันแน่?
  • ทำไม?
  • ใครจะใช้มันและอย่างไร?
  • ฉันมีตัวเลือกอะไรบ้าง?
  • ขีดจำกัดของพารามิเตอร์มีอะไรบ้าง?

นี่เป็นรายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับพารามิเตอร์: คุณมักจะสามารถเปลี่ยนสถานการณ์การทำงานได้อย่างมากหากคุณรู้ว่าบางสิ่งบางอย่างสามารถเสียสละได้: ตัวอย่างเช่น ความสามารถในการตีความหรือในทางกลับกัน สองสามเปอร์เซ็นต์จะไม่มีบทบาทที่นี่ และเรามีการดำเนินการที่รวดเร็วมาก และลูกค้าต้องการโซลูชันนั้น เพราะเขาจ่ายตามเวลาที่ไปป์ไลน์ทำงานใน AWS

คณิตศาสตร์

ที่นี่คุณคิดและเข้าใจทุกอย่างด้วยตัวเอง - หากไม่มีความรู้คณิตศาสตร์พื้นฐานคุณก็เป็นเพียงลิงที่มีระเบิดมือ (ขออภัย Random Forest) - ดังนั้นคุณต้องเข้าใจสิ่งพื้นฐานเป็นอย่างน้อย หากฉันจะรวบรวมรายการขั้นต่ำสุดก็จะรวมถึง:

  • พีชคณิตเชิงเส้น - แหล่งข้อมูลจำนวนมากนั้นง่ายสำหรับ Google ค้นหาสิ่งที่เหมาะกับคุณที่สุด
  • การวิเคราะห์ทางคณิตศาสตร์ - (อย่างน้อยในสองภาคการศึกษาแรก)
  • ทฤษฎีความน่าจะเป็นมีอยู่ทั่วไปในการเรียนรู้ของเครื่อง
  • Combinatorics - จริงๆ แล้วเป็นส่วนเสริมของทฤษฎี
  • ทฤษฎีกราฟ - อย่างน้อยขั้นพื้นฐาน
  • อัลกอริทึม - อย่างน้อยสำหรับสองภาคการศึกษาแรก (ดูคำแนะนำของ Cormen ในหนังสือของเขา)
  • คณิตศาสตร์ - อย่างน้อยขั้นพื้นฐาน

การวิเคราะห์ข้อมูลเชิงปฏิบัติและการแสดงภาพ

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

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

ฉันอยากจะพูดถึงการมองเห็น: เห็นเพียงครั้งเดียวดีกว่าได้ยินร้อยครั้ง

การแสดงกราฟต่อผู้จัดการนั้นง่ายและชัดเจนกว่าชุดตัวเลขเป็นร้อยเท่า ดังนั้น matplotlib, seaborn และ ggplot2 จึงเป็นเพื่อนของคุณ

ทักษะอ่อน

สิ่งสำคัญเท่าเทียมกันคือสามารถสื่อสารแนวคิดของคุณ รวมถึงผลลัพธ์และข้อกังวล (ฯลฯ) ให้กับผู้อื่นได้ ตรวจสอบให้แน่ใจว่าคุณสามารถระบุงานได้อย่างชัดเจนทั้งในแง่เทคนิคและทางธุรกิจ

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

แผนภูมิและเอกสารของคุณควรอ่านได้โดยไม่มีคุณ นั่นคือคุณไม่จำเป็นต้องไปหาคุณเพื่อทำความเข้าใจสิ่งที่เขียนไว้ที่นั่น

คุณสามารถนำเสนอที่ชัดเจนเพื่อให้เข้าใจประเด็นและ/หรือบันทึกโครงการ/งานของคุณ

คุณสามารถถ่ายทอดจุดยืนของคุณในลักษณะที่มีเหตุผลและไม่แสดงอารมณ์ เช่น พูดว่า "ใช่/ไม่ใช่" หรือตั้งคำถาม/สนับสนุนการตัดสินใจ

การอบรม

มีสถานที่หลายแห่งที่คุณสามารถเรียนรู้ทั้งหมดนี้ได้ ฉันจะให้รายการสั้น ๆ - ฉันลองทุกอย่างแล้วและพูดตามตรงว่าแต่ละรายการมีข้อดีและข้อเสียของตัวเอง ลองใช้และตัดสินใจว่าอะไรเหมาะกับคุณ แต่ฉันขอแนะนำให้ลองใช้หลายตัวเลือกและไม่ติดขัดกับตัวเลือกเดียว

  • หลักสูตรออนไลน์: coursera, udacity, Edx ฯลฯ
  • โรงเรียนใหม่: ออนไลน์และออฟไลน์ - SkillFactory, ShAD, MADE;
  • โรงเรียนคลาสสิก: หลักสูตรปริญญาโทของมหาวิทยาลัยและหลักสูตรการฝึกอบรมขั้นสูง
  • โปรเจ็กต์ - คุณสามารถเลือกงานที่คุณสนใจแล้วตัดออก แล้วอัปโหลดไปยัง GitHub
  • การฝึกงาน - เป็นการยากที่จะแนะนำสิ่งใดที่นี่ คุณต้องมองหาสิ่งที่มีอยู่และค้นหาตัวเลือกที่เหมาะสม

จำเป็นไหม?

โดยสรุป ฉันอาจจะเพิ่มหลักการส่วนตัวสามประการที่ฉันพยายามทำตามตัวเอง

  • ควรจะน่าสนใจ
  • นำมาซึ่งความสุขภายใน (= อย่างน้อยก็ไม่ทำให้เกิดความทุกข์);
  • "เพื่อเป็นของคุณ"

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

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

“การเป็นของคุณ” เป็นความรู้สึกแบบเดียวกับที่คุณอยากทำ ฉันมีเรื่องราวเล็กน้อย ตั้งแต่วัยเด็ก ฉันสนใจดนตรีร็อค (และเมทัล - แซลมอน!) และเช่นเดียวกับคนอื่นๆ มากมาย ฉันต้องการเรียนรู้วิธีเล่นก็แค่นั้นแหละ ปรากฎว่าฉันไม่ได้ยินและไม่มีเสียง - สิ่งนี้ไม่ได้รบกวนฉันเลย (และฉันต้องบอกว่าสิ่งนี้ไม่รบกวนนักแสดงหลายคนบนเวที) และเมื่อฉันยังอยู่ในโรงเรียนฉันก็ได้กีตาร์... และ เห็นได้ชัดว่าฉันไม่ชอบนั่งเล่นเป็นชั่วโมงๆ มันยากลำบากสำหรับฉันดูเหมือนว่ามีเรื่องไร้สาระบางอย่างออกมา - ฉันไม่พอใจกับมันเลยและรู้สึกแย่งี่เง่าและไร้ความสามารถโดยสิ้นเชิง ฉันบังคับตัวเองให้นั่งเรียน และโดยทั่วไปแล้ว มันไม่ใช่อาหารที่ดีสำหรับม้า

ในเวลาเดียวกัน ฉันสามารถนั่งเงียบๆ เป็นเวลาหลายชั่วโมงเพื่อพัฒนาของเล่น โดยใช้สคริปต์เพื่อสร้างภาพเคลื่อนไหวด้วยแฟลช (หรืออย่างอื่น) และฉันก็มีแรงบันดาลใจอย่างมากที่จะทำองค์ประกอบต่างๆ ในเกมให้เสร็จ หรือจัดการกับกลไกของการเคลื่อนไหว และ/หรือ การเชื่อมต่อไลบรารีบุคคลที่สาม ปลั๊กอิน และอื่นๆ อีกมากมาย

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

คุณมีคำถามอื่น ๆ อีกหรือไม่?

แน่นอนว่าเราไม่สามารถตอบทุกหัวข้อและคำถามได้ ดังนั้นโปรดเขียนความคิดเห็นและ PM มาหาฉัน ฉันยินดีเสมอที่จะมีคำถาม

นักวิทยาศาสตร์ข้อมูล Notes: จะเริ่มต้นที่ไหนและจำเป็นหรือไม่

นักวิทยาศาสตร์ข้อมูล Notes: จะเริ่มต้นที่ไหนและจำเป็นหรือไม่

ที่มา: will.com

เพิ่มความคิดเห็น