10 สุดยอดโครงการวิทยาศาสตร์ข้อมูลบน Github คุณควรลงมือทำ [2022]

เผยแพร่แล้ว: 2021-01-09

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

หากคุณปรารถนาที่จะเข้าสู่โดเมน Data Science วิธีที่ดีที่สุดในการสร้างพอร์ตโฟลิโอของคุณจากพื้นฐานคือการทำงานในโครงการ Data Science เราได้สร้างโพสต์นี้เพื่อสร้างแรงบันดาลใจให้คุณพัฒนาโครงการ Data Science ของคุณเอง

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

สารบัญ

10 สุดยอดโครงการวิทยาศาสตร์ข้อมูลบน GitHub

1. การจดจำใบหน้า

โปรเจ็กต์การจดจำใบหน้าใช้ประโยชน์จาก Deep Learning และอัลกอริธึม HOG ( Histogram of Oriented Gradients ) ระบบจดจำใบหน้านี้ออกแบบมาเพื่อค้นหาใบหน้าในรูปภาพ (อัลกอริธึม HOG) การแปลงภาพ (จัดแนวใบหน้าโดยใช้ชุดของทรีถดถอย) การเข้ารหัสใบหน้า (FaceNet) และการคาดการณ์ (Linear SVM)

เมื่อใช้อัลกอริธึม HOG คุณจะคำนวณการไล่ระดับสีตามการวางแนวการลงคะแนนแบบถ่วงน้ำหนักของสี่เหลี่ยมจัตุรัสขนาด 16×16 พิกเซล แทนที่จะใช้การไล่ระดับการคำนวณสำหรับแต่ละพิกเซลของภาพใดภาพหนึ่ง สิ่งนี้จะสร้างภาพ HOG ที่แสดงถึงโครงสร้างพื้นฐานของใบหน้า ในขั้นตอนต่อไป คุณต้องใช้ไลบรารี dlib Python เพื่อสร้างและดูการแสดงแทน HOG เพื่อค้นหาว่าส่วนใดของรูปภาพที่มีความคล้ายคลึงกันมากที่สุดกับรูปแบบ HOG ที่ได้รับการฝึกอบรม

2. Kaggle Bike Sharing

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

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

3. บทวิเคราะห์รายงานของรัฐบาลเม็กซิโก

โครงการนี้เป็นโปรแกรมที่ยอดเยี่ยมของ NLP เมื่อวันที่ 1 กันยายน 2019 รัฐบาลเม็กซิโกได้เผยแพร่รายงานประจำปีในรูปแบบ PDF ดังนั้น เป้าหมายของคุณในโครงการนี้คือการแยกข้อความออกจาก PDF ทำความสะอาด เรียกใช้ผ่านไปป์ไลน์ NLP และแสดงภาพผลลัพธ์โดยใช้การแสดงแบบกราฟิก

สำหรับโปรเจ็กต์นี้ คุณจะต้องใช้ไลบรารี Python หลายอัน ได้แก่:

  • PyPDF2 เพื่อแยกข้อความจากไฟล์ PDF
  • SpaCy เพื่อส่งข้อความที่แยกออกมาไปยังไปป์ไลน์ NLP
  • แพนด้าเพื่อแยกและวิเคราะห์ข้อมูลเชิงลึกจากชุดข้อมูล
  • NumPy สำหรับการดำเนินการเมทริกซ์ที่รวดเร็ว
  • Matplotlib สำหรับออกแบบพล็อตและกราฟ
  • Seaborn เพื่อปรับปรุงรูปแบบของแปลง/กราฟ
  • Geopandas เพื่อแปลงแผนที่

4. อัลเบิร์ต

ALBERT อิงจาก BERT ซึ่งเป็นโครงการของ Google ที่นำมาซึ่งการเปลี่ยนแปลงครั้งใหญ่ในด้าน NLP เป็นการใช้งานที่ได้รับการปรับปรุงของ BERT ซึ่งออกแบบมาสำหรับการแสดงแทนภาษาการเรียนรู้ด้วยตนเองโดยใช้ TensorFlow

ใน BERT โมเดลที่ได้รับการฝึกมาล่วงหน้านั้นมีขนาดใหญ่มาก ดังนั้นจึงเป็นเรื่องยากที่จะแกะกล่อง เสียบเข้ากับแบบจำลอง และรันบนเครื่องท้องถิ่น นี่คือเหตุผลที่ความต้องการ ALBERT ช่วยให้คุณบรรลุประสิทธิภาพที่ล้ำหน้าในการวัดประสิทธิภาพหลักโดยมีค่าพารามิเตอร์น้อยกว่า 30% แม้ว่า albert_base_zh จะมีพารามิเตอร์เพียง 10% เมื่อเทียบกับ BERT แต่ก็ยังคงความถูกต้องดั้งเดิมของ BERT

5. สตริงซิฟเตอร์

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

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

6. ช่างปูกระเบื้อง

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

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

7. DeepCTR

DeepCTR คือ “แพ็คเกจที่ใช้งานง่าย แยกส่วน และขยายได้ของโมเดล CTR แบบ Deep Learning” นอกจากนี้ยังมีองค์ประกอบและเลเยอร์ที่สำคัญอื่นๆ อีกมากมายที่มีประโยชน์มากสำหรับการสร้างแบบจำลองที่กำหนดเอง

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

pip ติดตั้ง -U deepctr-torch

ด้วย DeepCTR ทำให้ง่ายต่อการใช้โมเดลที่ซับซ้อนด้วยฟังก์ชัน model.fit() และ model.predict()

8. TubeMQ

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

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

9. DeepPrivacy

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

นี่คือเหตุผลที่เราต้องการเครื่องมืออย่าง DeepPrivacy เป็นเทคนิคการลบข้อมูลระบุตัวตนโดยอัตโนมัติสำหรับรูปภาพที่ใช้ประโยชน์จาก GAN (เครือข่ายปฏิปักษ์ทั่วไป) โมเดล GAN ของ DeepPrivacy จะไม่ดูข้อมูลส่วนตัวหรือข้อมูลที่ละเอียดอ่อนใดๆ อย่างไรก็ตาม มันสามารถสร้างภาพที่ไม่ระบุตัวตนได้อย่างสมบูรณ์ สามารถทำได้โดยการศึกษาและวิเคราะห์ท่าเดิมของบุคคลและภาพพื้นหลัง DeepPrivacy ใช้คำอธิบายประกอบของกรอบล้อมรอบเพื่อระบุพื้นที่ที่ละเอียดอ่อนต่อความเป็นส่วนตัวของรูปภาพ นอกจากนี้ยังใช้ Mask R-CNN เพื่อกระจายข้อมูลท่าทางของใบหน้าและ DSFD เพื่อตรวจจับใบหน้าในภาพ

10. ระบบทำนายเรตภาพยนตร์ IMDb

โปรเจ็กต์ Data Science นี้มีจุดมุ่งหมายเพื่อจัดเรตภาพยนตร์ก่อนที่จะออกฉาย โครงการแบ่งออกเป็นสามส่วน ส่วนแรกพยายามแยกวิเคราะห์ข้อมูลที่สะสมจากเว็บไซต์ IMDb ข้อมูลนี้จะรวมถึงข้อมูล เช่น ผู้กำกับ ผู้ผลิต การผลิตการคัดเลือก คำอธิบายภาพยนตร์ รางวัล ประเภท งบประมาณ ยอดรวม และ imdb_rating คุณสามารถสร้างไฟล์ movie_contents.json โดยเขียนบรรทัดต่อไปนี้:

python3 parser.py nb_elements

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

ห่อ

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

หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดู โปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

การมีส่วนร่วมในโครงการโอเพ่นซอร์สเป็นประโยชน์ต่อเราอย่างไร

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

อัลกอริทึม HOG คืออะไร?

ฮิสโตแกรมของ Oriented Gradients หรือ HOG เป็นเครื่องตรวจจับวัตถุที่ใช้ในวิชั่นคอมพิวเตอร์ หากคุณคุ้นเคยกับฮิสโทแกรมการวางแนวขอบ คุณสามารถสัมพันธ์กับ HOG ได้ วิธีนี้ใช้เพื่อวัดการเกิดขึ้นของการวางแนวการไล่ระดับสีในบางส่วนของภาพ อัลกอริธึม HOG ยังใช้ในการคำนวณการไล่ระดับการวางแนวการลงคะแนนแบบถ่วงน้ำหนักของสี่เหลี่ยมจัตุรัสขนาด 16×16 พิกเซล แทนที่จะใช้การไล่ระดับการคำนวณสำหรับแต่ละพิกเซลของภาพใดภาพหนึ่ง การนำอัลกอริธึมนี้ไปใช้แบ่งออกเป็น 5 ขั้นตอน ได้แก่ การคำนวณเกรเดียนท์ การวางแนว Binning บล็อกอธิบาย การทำให้เป็นมาตรฐานของบล็อก และการรับรู้วัตถุ

ขั้นตอนที่จำเป็นในการสร้างแบบจำลอง ML คืออะไร?

ต้องปฏิบัติตามขั้นตอนต่อไปนี้เพื่อพัฒนาแบบจำลอง ML: ขั้นตอนแรกคือการรวบรวมชุดข้อมูลสำหรับแบบจำลองของคุณ 80% ของข้อมูลนี้จะถูกใช้ในการฝึกอบรม และส่วนที่เหลืออีก 20% จะถูกใช้ในการทดสอบและการตรวจสอบแบบจำลอง จากนั้น คุณต้องเลือกอัลกอริธึมที่เหมาะสมสำหรับโมเดลของคุณ การเลือกอัลกอริทึมทั้งหมดขึ้นอยู่กับประเภทของปัญหาและชุดข้อมูล ถัดมาเป็นการฝึกโมเดล ซึ่งรวมถึงการรันโมเดลกับอินพุตต่างๆ และปรับแต่งใหม่ตามผลลัพธ์ กระบวนการนี้ทำซ้ำจนกว่าจะได้ผลลัพธ์ที่แม่นยำที่สุด