Ghi chú Nhà khoa học dữ liệu: bắt đầu từ đâu và có cần thiết không?

Ghi chú Nhà khoa học dữ liệu: bắt đầu từ đâu và có cần thiết không?

TL;DR là bài đăng hỏi/trả lời về Khoa học dữ liệu cũng như cách bước vào nghề và phát triển trong đó. Trong bài viết, tôi sẽ phân tích các nguyên tắc cơ bản và Câu hỏi thường gặp và sẵn sàng trả lời các câu hỏi cụ thể của bạn - viết trong phần nhận xét (hoặc trong tin nhắn cá nhân), tôi sẽ cố gắng trả lời mọi thứ trong vòng vài ngày.

Với sự ra đời của loạt ghi chú “Ngày của người theo chủ nghĩa Satan”, rất nhiều tin nhắn và nhận xét kèm theo câu hỏi về cách bắt đầu và nơi đào, và hôm nay chúng tôi sẽ phân tích các kỹ năng và câu hỏi chính nảy sinh sau khi xuất bản.

Mọi thứ được chỉ ra ở đây không khẳng định bất kỳ sự thật cuối cùng nào và là ý kiến ​​chủ quan của tác giả. Chúng tôi sẽ chia nhỏ những điều chính có vẻ quan trọng nhất trong quá trình này.

Tại sao chính xác điều này lại cần thiết

Để mục tiêu có thể đạt được tốt hơn, sao cho nó ít nhất có vẻ cụ thể theo cách nào đó - bạn muốn trở thành DS hoặc Nhà khoa học nghiên cứu trên Facebook / Apple / Amazon / Netflix / Google - xem các yêu cầu, ngôn ngữ​​và sự cần thiết kỹ năng trực tiếp cho vị trí nào. Quá trình tuyển dụng là gì? Làm thế nào để vượt qua một ngày bình thường trong một vai trò như vậy? Hồ sơ trung bình của một người làm việc ở đó trông như thế nào?

Thông thường, bức tranh chung là một người không thực sự hiểu chính xác những gì anh ta muốn và không hoàn toàn rõ ràng về cách chuẩn bị cho hình ảnh không rõ ràng này - do đó, cần có ít nhất một kế hoạch sơ bộ về chính xác những gì bạn muốn.

Chỉ định chế độ xem hiện tại của mục tiêu

Ngay cả khi nó thay đổi trong quá trình chơi và điều này nói chung là bình thường - thay đổi kế hoạch trong quá trình chơi - bạn nên đặt mục tiêu trước mặt và tập trung vào mục tiêu đó, định kỳ đánh giá và suy nghĩ lại.

Nó sẽ hay nó vẫn còn liên quan

Đến lúc bạn đạt đến vị trí đó.

Hãy tưởng tượng rằng trước khi có được vị trí này, bạn cần phải có bằng Tiến sĩ, làm việc 2-3 năm trong ngành và thường cắt tóc khi thiền định trong tu viện - chẳng phải tình hình với Khoa học Dữ liệu cũng giống như trước đây với các nhà kinh tế học sao? và luật sư? Liệu mọi thứ có thay đổi đến mức không thể nhận ra trong lĩnh vực mà bạn muốn làm hay không.

Chẳng lẽ bây giờ mọi người sẽ đổ xô đến đó và chúng ta sẽ thấy một bức tranh khi có rất nhiều lớp người đang cố gắng bước vào nghề - và sẽ chỉ có một vị trí rất nhỏ để bắt đầu.

Có thể đáng để xem xét các xu hướng hiện tại khi chọn một con đường, không chỉ tình trạng hiện tại của thị trường lao động mà còn cả ý tưởng của bạn về việc nó đang thay đổi như thế nào và nó ở đâu.

Ví dụ, tác giả không có ý định đi sâu vào dữ liệu của những người theo chủ nghĩa Satan, nhưng trong thời gian làm Tiến sĩ, ông đã thấy các dự án phụ có tiếng vang mạnh mẽ về kỹ năng với DS và khi kết thúc chương trình sau đại học, ông tự nhiên chuyển sang môi trường, nhìn thấy một vị trí tốt. .

Nếu trong quá trình chơi mà thấy cần phải đi nơi khác - vì lúc này có nhiều hành động nhất và tất cả hành động thú vị nhất đang diễn ra, thì chúng ta sẽ đến đó một cách tự nhiên.

Phân tích kỹ năng

Đối với tôi, đây là những loại kỹ năng có điều kiện mà dường như là chìa khóa để làm việc đầy đủ và hiệu quả trong DS. Riêng biệt, tôi sẽ làm nổi bật tiếng Anh - học bất cứ điều gì bạn làm trong CS. Tiếp theo là các danh mục chính.

Lập trình/Kịch bản

Bạn cần biết những ngôn ngữ nào? Trăn? Java? kịch bản shell? lua? SQL? C++?

Chính xác những gì bạn cần để có thể làm và tại sao về mặt lập trình - ở đây phạm vi các vị trí rất khác nhau.

Ví dụ: tôi thường phải triển khai logic, truy vấn, mô hình, phân tích phức tạp và nói chung là phát triển các hệ thống thông dịch, nhưng hầu như không bao giờ có bất kỳ yêu cầu nào về tốc độ mã, ngoại trừ những yêu cầu chung và hợp lý nhất.

Do đó, bộ kỹ năng của tôi rất khác so với những người viết thư viện Tensorflow và nghĩ đến việc tối ưu hóa mã để sử dụng hiệu quả l1 cache và những thứ tương tự, vì vậy hãy xem bạn cần gì và đánh giá cách học phù hợp.

Ví dụ, đối với python, mọi người thậm chí đã soạn thẻ học ngôn ngữ.

Chắc chắn đã có những lời khuyên có kinh nghiệm cho nhu cầu của bạn và có những nguồn tốt - bạn cần quyết định danh sách và bắt đầu thực hiện.

Hiểu quy trình kinh doanh

Không có nó, chẳng đi đến đâu: bạn cần hiểu tại sao bạn lại cần thiết trong quá trình này, bạn đang làm gì và tại sao. Thường thì đây là điều có thể giúp bạn tiết kiệm rất nhiều thời gian, tối đa hóa lợi ích của bạn và không lãng phí thời gian và nguồn lực vào những việc nhảm nhí.

Thông thường, tôi tự hỏi mình những câu hỏi sau:

  • Chính xác thì tôi làm gì ở công ty?
  • Tại sao?
  • Ai sẽ sử dụng nó và làm thế nào?
  • Tôi có những lựa chọn nào?
  • Giới hạn của các tham số là gì?

Sau đây là thông tin thêm một chút về các tham số: bạn thường có thể thay đổi đáng kể kịch bản công việc nếu bạn biết rằng có thể phải hy sinh điều gì đó: ví dụ: khả năng diễn giải hoặc ngược lại, một vài phần trăm sẽ không đóng vai trò gì ở đây và chúng tôi có rất nhiều giải pháp nhanh chóng và khách hàng cần nó vì họ trả tiền cho thời gian quy trình chạy trong AWS.

Toán học

Ở đây bạn tự suy nghĩ và hiểu mọi thứ - không có kiến ​​​​thức về toán học cơ bản, bạn chẳng khác gì một con khỉ cầm lựu đạn (xin lỗi với Random Forest) - vì vậy bạn cần phải hiểu ít nhất những điều cơ bản. Nếu tôi lập danh sách tối thiểu nhất thì nó sẽ bao gồm:

  • Đại số tuyến tính - một số lượng lớn tài nguyên rất dễ tìm kiếm trên google, hãy tìm những gì phù hợp với bạn nhất;
  • Phân tích toán học - (ít nhất trong khối lượng của hai học kỳ đầu tiên);
  • Lý thuyết xác suất có ở khắp mọi nơi trong học máy;
  • Tổ hợp - nó thực sự bổ sung cho theorver;
  • Lý thuyết đồ thị - ít nhất là BASIC;
  • Các thuật toán - ít nhất là khối lượng của hai học kỳ đầu tiên (xem các khuyến nghị của Kormen trong cuốn sách của ông);
  • Toán học - ít nhất là cơ bản.

Phân tích và trực quan hóa dữ liệu thực tế

Một trong những điều cơ bản nhất là không ngại nhúng tay vào dữ liệu và tiến hành phân tích toàn diện tập dữ liệu, lập dự án và đưa vào trực quan hóa dữ liệu nhanh chóng.

Phân tích dữ liệu khám phá sẽ trở thành một điều gì đó tự nhiên, giống như tất cả các phép biến đổi dữ liệu khác và khả năng đưa vào một quy trình đơn giản từ các nút unix (xem các bài viết trước) hoặc viết một sổ ghi chép dễ đọc và dễ hiểu.

Riêng tôi sẽ đề cập đến việc hình dung: thà nhìn một lần còn hơn nghe hàng trăm lần.

Hiển thị biểu đồ cho người quản lý dễ dàng và rõ ràng hơn hàng trăm lần so với một tập hợp số, vì vậy matplotlib, seaborn và ggplot2 là bạn của bạn.

Các kĩ năng mềm

Điều quan trọng không kém là có thể truyền đạt ý tưởng cũng như kết quả và mối quan tâm (vv) của bạn cho người khác - đảm bảo rằng bạn có thể nêu rõ vấn đề cả về mặt kỹ thuật và kinh doanh.

Bạn có thể giải thích cho đồng nghiệp, người quản lý, cấp trên, khách hàng và bất kỳ ai cần nó, điều gì đang xảy ra, loại dữ liệu bạn vận hành và loại kết quả bạn nhận được.

Biểu đồ và tài liệu của bạn sẽ được đọc mà không có bạn. Tức là bạn không cần phải đến gặp bạn mới hiểu được những gì được viết ở đó.

Bạn có thể trình bày rõ ràng để hiểu rõ vấn đề và/hoặc ghi lại dự án/công việc của bạn.

Bạn có thể truyền đạt quan điểm của mình một cách hợp lý và vô cảm, nói “có / không” hoặc đặt câu hỏi/ủng hộ quyết định.

đào tạo

Có rất nhiều nơi khác nhau mà bạn có thể học tất cả những điều này. Tôi sẽ đưa ra một danh sách ngắn - tôi đã thử mọi thứ từ nó và thành thật mà nói, mỗi món đều có ưu và nhược điểm. Hãy thử và quyết định xem điều gì phù hợp với bạn, nhưng tôi thực sự khuyên bạn nên thử một vài lựa chọn và không nên bận tâm vào một lựa chọn nào.

  • Các khóa học trực tuyến: Coursera, udacity, Edx, v.v.;
  • Trường học mới: trực tuyến và ngoại tuyến - SkillFactory, ShAD, MADE;
  • Các trường cổ điển: chương trình thạc sĩ đại học và các khóa đào tạo nâng cao;
  • Dự án - bạn có thể chỉ cần chọn các nhiệm vụ mà bạn quan tâm và cắt chúng, đăng chúng lên github;
  • Thực tập - thật khó để đề xuất điều gì đó ở đây, bạn phải tìm kiếm những gì có sẵn và tìm những lựa chọn phù hợp.

Nhưng nó có cần thiết không?

Để kết luận, có lẽ tôi sẽ thêm ba nguyên tắc cá nhân mà bản thân tôi cố gắng tuân theo.

  • Sẽ thú vị;
  • Mang lại niềm vui bên trong (= ít nhất là không gây đau khổ);
  • "Là của anh."

Tại sao chính xác là họ? Thật khó để tưởng tượng rằng bạn sẽ làm một việc gì đó ngày này qua ngày khác và bạn sẽ không thích hoặc không hứng thú với nó. Hãy tưởng tượng rằng bạn là một bác sĩ và ghét giao tiếp với mọi người - điều này chắc chắn có thể có tác dụng bằng cách nào đó, nhưng bạn sẽ thường xuyên không thoải mái với dòng bệnh nhân muốn hỏi bạn điều gì đó. Nó không hoạt động về lâu dài.

Tại sao tôi đặc biệt đề cập đến niềm vui bên trong? Đối với tôi, có vẻ như điều này là cần thiết để phát triển hơn nữa và về nguyên tắc là quá trình học tập. Tôi thực sự thích thú khi hoàn thành một số tính năng phức tạp và xây dựng một mô hình hoặc tính toán một tham số quan trọng. Tôi thích khi mã của tôi đẹp về mặt thẩm mỹ và được viết tốt. Do đó, thật thú vị khi nghiên cứu một cái gì đó mới và không trực tiếp đòi hỏi bất kỳ động lực đáng kể nào.

“Là của bạn” chính là cảm giác mà bạn muốn thực hiện về điều này. Tôi có một câu chuyện nhỏ. Từ khi còn nhỏ, tôi đã yêu thích nhạc rock (và metal - SALMON!) và có bao nhiêu người muốn học cách chơi, và thế là xong. Hóa ra tôi không có thính giác và giọng nói - điều này không làm tôi bận tâm chút nào (và tôi phải nói rằng điều này không làm phiền nhiều nghệ sĩ biểu diễn ngay trên sân khấu), và khi còn là một cậu học sinh, tôi đã có một cây đàn guitar ... và rõ ràng là tôi không thực sự thích ngồi hàng giờ và chơi trên đó. Thật khó khăn, đối với tôi, dường như có một thứ rác rưởi nào đó đang tràn ra - tôi không hề thích thú chút nào và chỉ cảm thấy tệ hại, ngu ngốc và hoàn toàn bất lực. Theo đúng nghĩa đen, tôi đã buộc mình phải ngồi xuống học dưới gậy, và nói chung đó không phải là thức ăn cho ngựa.

Đồng thời, tôi có thể bình tĩnh ngồi hàng giờ để phát triển một loại đồ chơi nào đó, sử dụng kịch bản để tạo hoạt ảnh cho thứ gì đó trong nháy mắt (hoặc thứ gì khác) và tôi có động lực mạnh mẽ để hoàn thành các yếu tố trong trò chơi hoặc xử lý cơ chế của trò chơi. chuyển động và/hoặc kết nối các thư viện, plugin của bên thứ ba và mọi thứ khác.

Và đến một lúc nào đó tôi nhận ra rằng việc chơi guitar không phải của mình và tôi rất thích nghe chứ không thích chơi. Và mắt tôi cay xè khi viết trò chơi và viết mã (lúc đó nghe đủ loại nhạc kim loại), và đó là điều tôi thích khi đó, và đó là điều lẽ ra tôi phải làm.

Bạn có bất cứ câu hỏi nào khác không?

Tất nhiên, chúng tôi không thể xem hết tất cả các chủ đề và câu hỏi, vì vậy hãy viết nhận xét và cá nhân - tôi luôn vui vẻ đặt câu hỏi.

Ghi chú Nhà khoa học dữ liệu: bắt đầu từ đâu và có cần thiết không?

Ghi chú Nhà khoa học dữ liệu: bắt đầu từ đâu và có cần thiết không?

Nguồn: www.habr.com

Thêm một lời nhận xét