Tôi là một lập trình viên, làm thế nào để tôi tham gia vào lĩnh vực Khoa học dữ liệu?


13

Trước hết thuật ngữ này nghe có vẻ tối nghĩa.

Dù sao..tôi là một lập trình viên phần mềm. Một trong những ngôn ngữ tôi có thể viết mã là Python. Nói về Dữ liệu Tôi có thể sử dụng SQL và có thể thực hiện Quét dữ liệu. Những gì tôi đã tìm ra cho đến nay sau khi đọc rất nhiều bài báo rằng Khoa học dữ liệu hoàn toàn tốt về:

1- Thống kê

2- Đại số

3- Phân tích dữ liệu

4- Trực quan.

5- Học máy.

Những gì tôi biết cho đến nay:

1- Lập trình Python 2- Loại bỏ dữ liệu trong Python

Các chuyên gia có thể hướng dẫn tôi hoặc đề xuất một lộ trình để cải thiện cả lý thuyết và thực tiễn? Tôi đã đưa ra khoảng 8 tháng khung thời gian cho bản thân mình.


Hãy cụ thể về những gì bạn muốn "nhận được". Không chỉ lĩnh vực, mà còn ở cấp độ nào. Ví dụ: "thợ khai thác văn bản y tế chuyên nghiệp" hoặc "người kiểm tra vũ trụ vật lý thiên văn nghiệp dư"
Pete

Tôi sẵn sàng trở thành một người có thể làm việc như một nhà tư vấn hoặc một nhân viên có thể liên hệ với các công ty để tìm hiểu dữ liệu của họ và hiểu rõ hơn về nó.
Volatil3

(1) Khóa học của Andrew về Ng học máy; (2) Khóa học Yaser Abu-Mostafa về Học từ dữ liệu; Cả hai đều có thể truy cập (không bao gồm thời gian) và sẽ giúp bạn có mức độ hiểu biết tốt.
Vladislavs Dovgalecs


Thuật ngữ Khoa học dữ liệu rất rộng. Có lẽ bạn có thể nghĩ về loại công việc bạn muốn, và bạn muốn làm việc với công ty nào, xem yêu cầu và trách nhiệm của họ. Sau đó, bạn sẽ biết nếu công việc đáp ứng mong đợi của bạn và khoảng cách về khả năng của bạn. Đây là một yêu cầu của nhà khoa học dữ liệu trong GOOGLE. ! [Yêu cầu nhà khoa học dữ liệu từ Google ] ( i.stack.imgur.com/5KSN6.png )
Bạch tuộc

Câu trả lời:


18

Tập trung ít hơn vào việc đạt được các kỹ năng và nhiều hơn vào việc có được kinh nghiệm. Cố gắng thực sự giải quyết một số vấn đề và đăng công việc của bạn trên github. Bạn sẽ tìm hiểu thêm trong quá trình và có thể chứng minh kiến ​​thức và kinh nghiệm cho nhà tuyển dụng, điều này có giá trị hơn nhiều so với hiểu biết sâu sắc về một chủ đề hoặc lý thuyết.

Khoa học dữ liệu là một lĩnh vực được tải khá nhiều hiện nay vì vậy tôi không chắc bạn muốn làm loại công việc nào, nhưng giả sử rằng máy học là một thành phần của nó thì kaggle.com là một nơi tốt để bắt đầu. Về các mục tiêu, nếu bạn có thể làm việc với dữ liệu trong gấu trúc / numpy / scipy, hãy xây dựng các mô hình trong sci-kit tìm hiểu và tạo một số biểu đồ đẹp trong seaborn, ggplot hoặc thậm chí matplotlib thì bạn sẽ không gặp vấn đề gì một công việc từ góc độ kỹ năng - đặc biệt nếu bạn có mẫu mã và ví dụ để thể hiện khả năng của mình. Nếu bạn gặp khó khăn thì stackexchange sẽ có câu trả lời hoặc bạn có thể đăng câu hỏi và bạn sẽ có câu trả lời ngay. Khi bạn đang làm việc để kiếm sống thì bạn sẽ học được nhiều hơn, rất có thể từ một thành viên nhóm cao cấp, người cố vấn cho bạn.

May mắn nhất.


7

Tôi thích khóa học về Khoa học dữ liệu của Berkeley, sẽ cung cấp một nền tảng và hương vị tốt cho Khoa học dữ liệu, Sau khi chuyển sang udacity và coursera và nhiều tài nguyên khác. Vì vậy, nếu bạn có kỹ năng lập trình hơn sẽ cần toán học và chỉ số và rất nhiều hình dung. Cũng sẽ rất tuyệt khi làm quen với IPython vì điều cần thiết là phải xem mọi bước (trực quan hóa) cách nó thực hiện thay vì viết toàn bộ tập lệnh và kiểm tra sau (anaconda rất dễ cài đặt và làm việc với). Khóa học được liệt kê dưới đây: bcifts.ber siêu.edu / cifts / 1267848 / wiki cũng là khóa học tôi tìm thấy khóa học miễn phí tốt từ SAS: Thống kê 1: Giới thiệu về ANOVA, Regression và Logistic Regression support.sas.com/edu/schedules.html ? ctry = chúng tôi & id = 1979

Bắt đầu với ML sẽ đề xuất: www.kaggle.com/c/titanic/details/getting-started-with-python

bên trái cũng dành cho Excel bằng cách sử dụng các bảng Pivot và R. DataCamp đã phát hành hướng dẫn về cách sử dụng R. Một khi bạn hoàn thành các bước này, nhiều cuộc thi trong việc giành lấy kinh nghiệm là trên kaggle (một phiên bản gần đây cho Phân loại tội phạm ở San Francisco) và cuối cùng video hướng dẫn tuyệt vời từ www.dataschool.io

hy vọng nó giúp ...


Cảm ơn câu trả lời của bạn. Bạn đã học như thế nào?
Volatil3

1
Sách, hướng dẫn trực tuyến và rất nhiều mã liên quan để chơi với dữ liệu. Hãy thử kaggle.com và thử các cuộc thi thông qua. Thật tuyệt khi bắt đầu học ML.
n1tk

và cuối cùng cố gắng tìm một cộng đồng các nhà khoa học dữ liệu và tham gia vào các dự án, bạn sẽ thu được rất nhiều kinh nghiệm được chia sẻ trong các dự án mà không có cuốn sách nào có thể dạy.
n1tk

Nhưng tôi không giỏi về lý thuyết như thống kê, Toán học, v.v. Tôi đã học chúng trong những ngày Uni
Volatil3

Tôi là trường hợp cụ thể của tôi, tôi đã cân nhắc quay trở lại trường học và chuyển sang chương trình tiến sĩ về Khoa học dữ liệu và phân tích ... yêu cầu tính toán 1,2, đại số tuyến tính, đại số tuyến tính số, SAS, R, toán học cho dữ liệu lớn, lý thuyết đồ thị và nhiều hơn nữa ...
n1tk

4

Không đồng ý với David, một nhà khoa học dữ liệu thực thụ là một nhà thống kê ứng dụng, người viết mã và biết cách sử dụng các thuật toán học máy vì những lý do đúng đắn. Thống kê là cơ sở của tất cả các khoa học dữ liệu. Đó là "chiếc bánh" mỗi se. Mọi thứ khác chỉ là đóng băng.

Câu hỏi là loại nhà khoa học dữ liệu nào bạn muốn trở thành? Bạn có muốn trở thành một bậc thầy về chủ đề này (kiến thức về cách thức, tại sao, khi nào và khi nào không áp dụng thuật toán hoặc kỹ thuật) hay Kagidd Script Kiddie sử dụng Scipy và nghĩ rằng anh ta là Nhà khoa học dữ liệu?

1 - Số liệu thống kê

2- Mọi thứ khác


2
Không chắc chắn tôi hiểu những gì bạn đang nói. Tôi chưa bao giờ nói rằng việc biết "thống kê ứng dụng" không quan trọng - tôi chỉ đơn giản là phân biệt rằng việc có kinh nghiệm áp dụng các phương pháp quan trọng hơn là có được kiến ​​thức lý thuyết về chính các phương pháp đó.
David

1
David, đó chính xác là điểm bất đồng của tôi. Không có kiến ​​thức lý thuyết về các phương pháp, chúng tôi chỉ đơn giản là những đứa trẻ kịch bản. Kinh nghiệm là quan trọng, nhưng nó là sản phẩm phụ của kiến ​​thức lý thuyết, không phải là cách khác.
Mô hình Markov ẩn

2
Không, không phải vậy. Có một sự khác biệt lớn giữa kinh nghiệm ứng dụng và kiến ​​thức lý thuyết, nó thường là sự khác biệt giữa những gì đạt được trong ngành công nghiệp so với trong lớp học. Ví dụ, sẽ có giá trị hơn khi biết cách xác minh một cách hiệu quả rằng một mô hình không phù hợp bằng cách sử dụng một phương pháp được áp dụng như xác nhận chéo so với việc biết các nền tảng lý thuyết của chính quy hóa. Ngoài ra, vui lòng ngừng đề cập đến "kịch bản nhí" - không ai ủng hộ việc sử dụng chức năng một lần nhấp để gửi mới và khủng khiếp của kaggle.
David

1
Nếu những gì bạn đang nói là đúng, thì tại sao các công ty lại thích bằng tiến sĩ và những người có bằng Thạc sĩ hơn những người chỉ đơn giản là Cử nhân? Đó là bởi vì họ có kiến ​​thức lý thuyết về các kỹ thuật điều khiển các thuật toán. Họ là những người xây dựng động cơ mỗi se. Kiến thức lý thuyết là kiến ​​thức sâu hơn. Kaggle là một chiếc xe tăng dành cho những đứa trẻ kịch bản.
Mô hình Markov ẩn

1
Trong khi tôi có thể thấy các điểm mà cả hai bạn đang cố gắng thực hiện, tôi nghĩ có lẽ nó nằm ngoài ngữ cảnh. Câu hỏi ban đầu là 'làm thế nào một lập trình viên có thể chuyển đổi thành một công việc trong khoa học dữ liệu?' Nếu câu trả lời là 'bỏ mọi thứ, dành vài năm để lấy bằng tiến sĩ về thống kê, sau đó tự mình thực hiện một số dự án và sau đó bắt đầu áp dụng', đó là một trở ngại khá khó khăn và bạn cũng có thể bảo họ đừng bận tâm trong thực tế giác quan. Ngược lại, với số lượng Thống kê PHD (hoặc thậm chí là Thạc sĩ) và số người tìm kiếm, nhà tuyển dụng có thể xem xét những người có thể chứng minh kinh nghiệm mà không cần bằng cấp.
vui mừng

4

Nếu bạn muốn trở thành một người đàn ông thực tế với kiến ​​thức thực sự, hãy bắt đầu với toán học (tính toán, xác suất + stat, đại số lelinear). Trên mỗi bước cố gắng thực hiện mọi thứ với lập trình, python là tốt cho việc này. Khi bạn có được nền tảng tốt, hãy chơi với dữ liệu thực và giải quyết các vấn đề

Các khóa học. Đại số tuyến tính - edx Laff hoặc mã hóa ma trận Stat - edx stat 2x Barkley Compus - đọc ... nó đơn giản


2

David có một điểm tốt, tôi sẽ đề nghị bạn tập trung vào bất cứ điều gì nó thúc đẩy sự quan tâm của bạn nhiều hơn. Đó là cách duy nhất để thành công trong mọi loại nỗ lực. Nếu bạn muốn xây dựng một cái gì đó mát mẻ bắt đầu với nó. Nếu bạn muốn đọc một cuốn sách đó cũng tốt. Điểm bắt đầu không thành vấn đề. Một vài ngày tới bạn sẽ hiểu rõ hơn về những gì bạn muốn và nên làm tiếp theo.


1

Khoa học dữ liệu rất rộng, có nhiều con đường khác nhau để đi vào đó. Nó thường được chia thành 4 hoặc 5 loại khác nhau, ví dụ:

nhập mô tả hình ảnh ở đây

Bạn có thể thấy từ các bài đăng khác trong chủ đề này, mọi người đến từ nền Thống kê ứng dụng (áp dụng thuật toán phù hợp), nền lập trình (tham gia vào Kaggle) và những người khác áp dụng nó cho nền tảng kinh doanh

Các công ty hiểu biết có thể gọi một người lập trình bị lệch là "Kỹ sư dữ liệu". Các công ty lớn cũng sử dụng từng loại cho nhóm khoa học dữ liệu của họ, vì vậy việc thể hiện các kỹ năng hình chữ T tốt sẽ là một điều tốt.


0

Nếu bạn là một lập trình viên, bạn có thể bắt đầu với trình phân loại Cây quyết định, tập trung vào tìm hiểu toán học đằng sau Entropy và Thông tin-Đạt được. Điều cần thiết là phải hiểu rằng ML chỉ là tất cả về nén dữ liệu.

Tôi rất không đồng ý với một số câu trả lời khác về giá trị của các khóa học thực tế. Giá trị nhất cho ML là toán học: lý thuyết số, đại số tuyến tính và lý thuyết xác suất.

Nếu bạn không tập trung vào toán học, điều duy nhất bạn sẽ học là, làm thế nào để sử dụng một số thư viện để làm phép thuật, đó không phải là học máy và không khoa học chút nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.