Cái nào tốt hơn r hoặc python để phân tích dữ liệu?

Có hàng tá bài viết so sánh R vs. Python từ quan điểm chủ quan, dựa trên quan điểm. Cả Python và R đều là những lựa chọn tuyệt vời để phân tích dữ liệu hoặc bất kỳ công việc nào trong lĩnh vực khoa học dữ liệu

Nhưng nếu mục tiêu của bạn là tìm ra ngôn ngữ nào phù hợp với mình, thì việc đọc ý kiến ​​của người khác có thể không hữu ích. “Dễ” của người này là “khó” của người khác và ngược lại

Trong bài viết này, chúng ta sẽ làm điều gì đó khác biệt. Chúng tôi sẽ xem xét khách quan cách cả hai ngôn ngữ xử lý các tác vụ khoa học dữ liệu hàng ngày để bạn có thể xem xét chúng song song và xem ngôn ngữ nào phù hợp hơn với bạn

Hãy ghi nhớ, bạn không cần phải thực sự hiểu tất cả mã này để đưa ra đánh giá ở đây. Chúng tôi sẽ cung cấp cho bạn các đoạn mã R và Python cho từng tác vụ — chỉ cần quét qua mã và xem xét đoạn mã nào có vẻ “dễ đọc” hơn đối với bạn. Đọc phần giải thích và xem liệu một ngôn ngữ có hấp dẫn hơn ngôn ngữ kia không

Tin tốt? . Nếu bạn đang muốn học một số kỹ năng lập trình để làm việc với dữ liệu, tham gia khóa học Python hoặc khóa học R sẽ là những lựa chọn tuyệt vời

Tại sao bạn nên tin tưởng chúng tôi

Vì chúng tôi sẽ trình bày mã song song trong bài viết này nên bạn không thực sự cần phải “tin tưởng” vào bất cứ điều gì — bạn chỉ cần xem mã và đưa ra đánh giá của riêng mình

Tuy nhiên, đối với hồ sơ, chúng tôi không đứng về phía nào trong cuộc tranh luận giữa R và Python. Cả hai ngôn ngữ đều tuyệt vời để làm việc với dữ liệu và cả hai đều có điểm mạnh và điểm yếu. Chúng tôi dạy cả hai, vì vậy chúng tôi không quan tâm đến việc hướng bạn đến cái này hơn cái kia

R so với Python. Nhập CSV

Hãy chuyển ngay sang so sánh trong thế giới thực, bắt đầu với cách R và Python xử lý việc nhập CSV

[Khi so sánh mã, chúng tôi cũng sẽ phân tích tập dữ liệu về các cầu thủ NBA và hiệu suất của họ trong mùa giải 2013-2014. Bạn có thể tải xuống tệp tại đây nếu bạn muốn tự mình dùng thử. ]

R

library[readr]
ba 
8, chứa dữ liệu về các cầu thủ NBA từ mùa giải 2013-2014, vào biến
[1] 481 31
/code>
9

Sự khác biệt thực sự duy nhất là trong Python, chúng ta cần nhập thư viện gấu trúc để có quyền truy cập vào Dataframes. Trong R, mặc dù chúng ta có thể nhập dữ liệu bằng cách sử dụng hàm cơ sở R là

nba.shape
0, nhưng việc sử dụng hàm thư viện
nba.shape
1 là
nba.shape
2 có lợi thế về tốc độ nhanh hơn và diễn giải các loại dữ liệu một cách nhất quán

Các khung dữ liệu có sẵn trong cả R và Python - chúng là các mảng [ma trận] hai chiều trong đó mỗi cột có thể thuộc một kiểu dữ liệu khác nhau. Bạn có thể coi chúng giống như phiên bản lập trình của bảng dữ liệu hoặc bảng tính. Khi kết thúc bước này, tệp CSV đã được cả hai ngôn ngữ tải vào khung dữ liệu

Tìm số hàng

R

dim[nba]
[1] 481 31
/code>

con trăn

nba.shape
import pandas
ba = pandas.read_csv["nba_2013.csv"]
0

Mặc dù cú pháp và định dạng hơi khác nhau, nhưng chúng ta có thể thấy rằng trong cả hai ngôn ngữ, chúng ta có thể nhận được cùng một thông tin rất dễ dàng

Đầu ra ở trên cho chúng ta biết tập dữ liệu này có 481 hàng và 31 cột

Kiểm tra hàng đầu tiên của dữ liệu

R

import pandas
ba = pandas.read_csv["nba_2013.csv"]
1
import pandas
ba = pandas.read_csv["nba_2013.csv"]
2

con trăn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
3____12

Một lần nữa, chúng ta có thể thấy rằng mặc dù có một số khác biệt nhỏ về cú pháp nhưng hai ngôn ngữ này rất giống nhau.

Cần lưu ý rằng Python ở đây hướng đối tượng nhiều hơn -

nba.shape
3 là một phương thức trên đối tượng khung dữ liệu, trong khi R có một hàm
nba.shape
3 riêng biệt

Đây là chủ đề chung mà chúng ta sẽ thấy khi bắt đầu phân tích các ngôn ngữ này. Python hướng đối tượng nhiều hơn và R có nhiều chức năng hơn

Đừng lo lắng nếu bạn không hiểu sự khác biệt - đây đơn giản là hai cách tiếp cận lập trình khác nhau và trong bối cảnh làm việc với dữ liệu, cả hai cách tiếp cận đều có thể hoạt động rất tốt

R so với Python. Tìm giá trị trung bình cho mỗi thống kê

Bây giờ, hãy tìm các giá trị trung bình cho từng thống kê trong tập dữ liệu của chúng tôi

Các cột, như chúng ta có thể thấy, có các tên như

nba.shape
5 [thực hiện các bàn thắng trên sân] và
nba.shape
6 [kiến tạo]. Đây là số liệu thống kê theo mùa và bộ dữ liệu của chúng tôi theo dõi chúng cho từng hàng [mỗi hàng đại diện cho một người chơi riêng lẻ]

Nếu bạn muốn giải thích đầy đủ hơn về tất cả các số liệu thống kê, hãy xem tại đây. Hãy xem cách R và Python xử lý số liệu thống kê tóm tắt bằng cách tìm các giá trị trung bình cho mỗi số liệu thống kê trong dữ liệu

R

import pandas
ba = pandas.read_csv["nba_2013.csv"]
0
import pandas
ba = pandas.read_csv["nba_2013.csv"]
1

con trăn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
2____13

Bây giờ chúng ta có thể thấy một số khác biệt lớn trong cách tiếp cận của R so với Python

Trong cả hai, chúng tôi đang áp dụng một chức năng trên các cột khung dữ liệu. Trong Python, sử dụng phương thức trung bình trên khung dữ liệu sẽ tìm giá trị trung bình của từng cột theo mặc định

Trong R thì phức tạp hơn một chút. Chúng ta có thể sử dụng các hàm từ hai gói phổ biến để chọn các cột mà chúng ta muốn tính trung bình và áp dụng hàm

nba.shape
7 cho chúng. Toán tử
nba.shape
8, được gọi là “đường ống”, chuyển đầu ra của một hàm thành đầu vào cho hàm tiếp theo.
Lấy giá trị trung bình của giá trị chuỗi [nói cách khác, dữ liệu văn bản không thể tính trung bình] sẽ chỉ dẫn đến kết quả là
nba.shape
9 — không khả dụng. Chúng ta chỉ có thể lấy giá trị trung bình của các cột số bằng cách sử dụng
import pandas
ba = pandas.read_csv["nba_2013.csv"]
00.

Tuy nhiên, chúng ta cần bỏ qua giá trị

nba.shape
9 khi lấy giá trị trung bình [yêu cầu chúng ta chuyển
import pandas
ba = pandas.read_csv["nba_2013.csv"]
02 vào hàm
nba.shape
7]. Nếu không, chúng tôi sẽ kết thúc bằng
nba.shape
9 cho giá trị trung bình của các cột như
import pandas
ba = pandas.read_csv["nba_2013.csv"]
05. Cột này là tỷ lệ phần trăm ba điểm. Một số người chơi đã không thực hiện cú đánh ba điểm, vì vậy tỷ lệ phần trăm của họ bị thiếu. Nếu chúng tôi thử hàm
nba.shape
7 trong R, chúng tôi nhận được phản hồi
nba.shape
9, trừ khi chúng tôi chỉ định
import pandas
ba = pandas.read_csv["nba_2013.csv"]
02, bỏ qua các giá trị
nba.shape
9 khi lấy giá trị trung bình

Ngược lại, phương thức

import pandas
ba = pandas.read_csv["nba_2013.csv"]
10 trong Python đã mặc định bỏ qua các giá trị này

Tạo biểu đồ phân tán theo cặp

Một cách phổ biến để khám phá tập dữ liệu là xem các cột khác nhau tương quan với nhau như thế nào. Hãy so sánh các cột

nba.shape
6,
nba.shape
5 và
import pandas
ba = pandas.read_csv["nba_2013.csv"]
13

R

import pandas
ba = pandas.read_csv["nba_2013.csv"]
4

con trăn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
5

Cuối cùng, cả hai ngôn ngữ đều tạo ra những âm mưu rất giống nhau. Nhưng trong mã, chúng ta có thể thấy hệ sinh thái khoa học dữ liệu R có nhiều gói nhỏ hơn như thế nào [GGally là gói trợ giúp cho ggplot2, gói đồ thị R được sử dụng nhiều nhất] và nhiều gói trực quan hơn nói chung

Trong Python, matplotlib là gói sơ đồ chính và seaborn là lớp được sử dụng rộng rãi trên matplotlib

Với trực quan hóa trong Python, nhìn chung có một cách chính để thực hiện điều gì đó, trong khi trong R, có nhiều gói hỗ trợ các phương pháp thực hiện khác nhau [chẳng hạn như có ít nhất nửa tá gói để tạo các biểu đồ cặp]

Một lần nữa, không có cách tiếp cận nào là “tốt hơn”, nhưng R có thể mang lại sự linh hoạt hơn về khả năng chọn và chọn gói phù hợp nhất với bạn

Lập cụm người chơi

Một cách hay khác để khám phá loại dữ liệu này là tạo các biểu đồ cụm. Những điều này sẽ cho thấy những người chơi nào giống nhau nhất

[Hiện tại, chúng ta sẽ tạo các cụm; chúng ta sẽ vẽ chúng một cách trực quan trong bước tiếp theo. ]

R

import pandas
ba = pandas.read_csv["nba_2013.csv"]
6

con trăn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
7

Để phân cụm chính xác, chúng tôi cần xóa mọi cột không phải là số và cột có giá trị bị thiếu [

nba.shape
9,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
15, v.v.]

Trong R, chúng tôi thực hiện việc này bằng cách áp dụng một hàm trên từng cột và xóa cột nếu cột đó có bất kỳ giá trị nào bị thiếu hoặc không phải là số. Sau đó, chúng tôi sử dụng gói cụm để thực hiện phương tiện k và tìm cụm

import pandas
ba = pandas.read_csv["nba_2013.csv"]
16 trong dữ liệu của mình. Chúng tôi đặt một hạt giống ngẫu nhiên bằng cách sử dụng
import pandas
ba = pandas.read_csv["nba_2013.csv"]
17 để có thể tái tạo kết quả của mình

Trong Python, chúng tôi sử dụng gói máy học chính của Python, scikit-learning, để phù hợp với mô hình phân cụm k-mean và lấy nhãn cụm của chúng tôi. Chúng tôi thực hiện các phương pháp rất giống nhau để chuẩn bị dữ liệu mà chúng tôi đã sử dụng trong R, ngoại trừ việc chúng tôi sử dụng các phương pháp

import pandas
ba = pandas.read_csv["nba_2013.csv"]
18 và
import pandas
ba = pandas.read_csv["nba_2013.csv"]
19 để loại bỏ các cột không phải là số và các cột có giá trị bị thiếu

Vẽ sơ đồ người chơi theo cụm

Bây giờ chúng ta có thể vẽ sơ đồ người chơi theo cụm để khám phá các mẫu. Một cách để thực hiện việc này là trước tiên hãy sử dụng PCA để biến dữ liệu của chúng ta thành hai chiều, sau đó vẽ đồ thị và tô bóng từng điểm theo liên kết cụm

R

import pandas
ba = pandas.read_csv["nba_2013.csv"]
8

con trăn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
9

Ở trên, chúng tôi đã tạo một biểu đồ phân tán dữ liệu của mình và tô bóng hoặc thay đổi biểu tượng của từng điểm dữ liệu theo cụm của nó

Trong R, chúng tôi đã sử dụng hàm

import pandas
ba = pandas.read_csv["nba_2013.csv"]
20, là một phần của thư viện cụm. Chúng tôi đã thực hiện PCA thông qua chức năng
import pandas
ba = pandas.read_csv["nba_2013.csv"]
21 được tích hợp trong R

Với Python, chúng tôi đã sử dụng lớp PCA trong thư viện scikit-learning. Chúng tôi đã sử dụng matplotlib để tạo cốt truyện

Một lần nữa, chúng ta có thể thấy rằng mặc dù cả hai ngôn ngữ đều có cách tiếp cận hơi khác nhau, nhưng kết quả cuối cùng và số lượng mã cần thiết để có được nó lại khá giống nhau

Tách dữ liệu thành các tập huấn luyện và kiểm tra

Nếu chúng ta muốn sử dụng R hoặc Python để học máy có giám sát, thì nên chia dữ liệu thành các tập huấn luyện và kiểm tra để chúng ta không bị quá khớp

Hãy so sánh cách mỗi ngôn ngữ xử lý tác vụ học máy phổ biến này

R

dim[nba]
0

con trăn

dim[nba]
1

So sánh Python với R, chúng ta có thể thấy rằng R được tích hợp sẵn nhiều khả năng phân tích dữ liệu hơn, như

import pandas
ba = pandas.read_csv["nba_2013.csv"]
22,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
23 và
import pandas
ba = pandas.read_csv["nba_2013.csv"]
17, trong khi những thứ này trong Python được gọi thông qua các gói [
import pandas
ba = pandas.read_csv["nba_2013.csv"]
25,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
26,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
27]

Trong Python, một phiên bản gần đây của pandas đi kèm với phương thức

import pandas
ba = pandas.read_csv["nba_2013.csv"]
23 trả về một tỷ lệ hàng nhất định được lấy mẫu ngẫu nhiên từ khung dữ liệu nguồn — điều này làm cho mã ngắn gọn hơn nhiều

Trong R, có các gói giúp việc lấy mẫu đơn giản hơn, nhưng chúng không ngắn gọn hơn nhiều so với việc sử dụng hàm

import pandas
ba = pandas.read_csv["nba_2013.csv"]
23 tích hợp. Trong cả hai trường hợp, chúng tôi đặt một hạt giống ngẫu nhiên để làm cho kết quả có thể lặp lại

R so với Python. Hồi quy tuyến tính đơn biến

Tiếp tục với các tác vụ máy học phổ biến, giả sử chúng ta muốn dự đoán số lần kiến ​​tạo cho mỗi cầu thủ từ các bàn thắng trên sân mà mỗi cầu thủ thực hiện

R

dim[nba]
2

con trăn

dim[nba]
3

Python ngắn gọn hơn một chút trong bước trước của chúng tôi, nhưng bây giờ R ngắn gọn hơn ở đây

Gói Scikit-learning của Python có mô hình hồi quy tuyến tính mà chúng ta có thể khớp và tạo dự đoán từ

R dựa vào các hàm

import pandas
ba = pandas.read_csv["nba_2013.csv"]
30 và
import pandas
ba = pandas.read_csv["nba_2013.csv"]
31 tích hợp.
import pandas
ba = pandas.read_csv["nba_2013.csv"]
31 sẽ hoạt động khác nhau tùy thuộc vào loại mô hình được trang bị được truyền vào nó — nó có thể được sử dụng với nhiều mô hình được trang bị khác nhau

Tính toán thống kê tóm tắt cho mô hình

Một nhiệm vụ học máy phổ biến khác

R

dim[nba]
4
dim[nba]
5

con trăn

dim[nba]
6
dim[nba]
7

Như chúng ta có thể thấy ở trên, chúng ta sẽ cần thực hiện nhiều hơn một chút trong Python so với R nếu chúng ta muốn nhận số liệu thống kê tóm tắt về mức độ phù hợp, chẳng hạn như giá trị bình phương r

Với R, chúng ta có thể sử dụng hàm

import pandas
ba = pandas.read_csv["nba_2013.csv"]
33 có sẵn để lấy thông tin về mô hình ngay lập tức. Với Python, chúng ta cần sử dụng gói statsmodels, cho phép sử dụng nhiều phương thức thống kê trong Python

Chúng tôi nhận được kết quả tương tự, mặc dù nhìn chung việc phân tích thống kê bằng Python khó hơn một chút và một số phương pháp thống kê tồn tại trong R không tồn tại trong Python

Điều chỉnh mô hình rừng ngẫu nhiên

Hồi quy tuyến tính của chúng tôi hoạt động tốt trong trường hợp một biến, nhưng giả sử chúng tôi nghi ngờ có thể có sự phi tuyến tính trong dữ liệu. Vì vậy, chúng tôi muốn phù hợp với một mô hình rừng ngẫu nhiên

Đây là cách chúng tôi có thể làm điều đó trong từng ngôn ngữ

R

dim[nba]
8

con trăn

dim[nba]
9

Sự khác biệt chính ở đây là chúng tôi cần sử dụng thư viện RandomForest trong R để sử dụng thuật toán, trong khi thuật toán này đã được tích hợp sẵn để học scikit trong Python

Scikit-learning có giao diện hợp nhất để làm việc với nhiều thuật toán học máy khác nhau trong Python. Thường chỉ có một triển khai chính của mỗi thuật toán

Với R, có nhiều gói nhỏ hơn chứa các thuật toán riêng lẻ, thường có cách truy cập chúng không nhất quán. Điều này dẫn đến sự đa dạng hơn của các thuật toán [nhiều thuật toán có một số triển khai và một số mới ra khỏi phòng thí nghiệm nghiên cứu], nhưng có một chút ảnh hưởng đến khả năng sử dụng

Nói cách khác, Python có thể dễ sử dụng hơn ở đây, nhưng R có thể linh hoạt hơn

Lỗi tính toán

Bây giờ chúng ta đã có hai mô hình phù hợp, hãy tính toán lỗi trong R và Python. Chúng tôi sẽ sử dụng MSE

R

[1] 481 31
/code>
0
[1] 481 31
/code>
1

con trăn

[1] 481 31
/code>
2____23

Trong Python, thư viện scikit-learning có nhiều chỉ số lỗi mà chúng ta có thể sử dụng. Trong R, có khả năng một số thư viện nhỏ hơn tính toán MSE, nhưng thực hiện thủ công khá dễ dàng bằng cả hai ngôn ngữ

Bạn có thể nhận thấy có một sự khác biệt nhỏ trong các kết quả ở đây — điều đó gần như chắc chắn là do điều chỉnh tham số và không phải là vấn đề lớn

[Nếu bạn tự chạy mã này, bạn cũng có thể nhận được các số khác nhau một chút, tùy thuộc vào phiên bản của từng gói và ngôn ngữ bạn đang sử dụng]

R so với Python. Quét web, Phần 1

Chúng tôi có dữ liệu về các cầu thủ NBA từ năm 2013-2014, nhưng hãy quét một số dữ liệu bổ sung để bổ sung cho nó

Chúng tôi sẽ chỉ xem xét một điểm số từ Chung kết NBA ở đây để tiết kiệm thời gian

R

[1] 481 31
/code>
4

con trăn

[1] 481 31
/code>
5

Trong Python, gói yêu cầu giúp việc tải xuống các trang web trở nên đơn giản, với API nhất quán cho tất cả các loại yêu cầu

Trong R, RCurl cung cấp một cách đơn giản tương tự để thực hiện các yêu cầu

Cả hai đều tải trang web về kiểu dữ liệu ký tự

Ghi chú. bước này không cần thiết cho bước tiếp theo trong R, nhưng được hiển thị để so sánh

Quét web, Phần 2

Bây giờ chúng tôi đã tải xuống trang web bằng cả Python và R, chúng tôi sẽ cần phân tích cú pháp để trích xuất điểm số cho người chơi

R

[1] 481 31
/code>
6

con trăn

[1] 481 31
/code>
7

Trong cả hai ngôn ngữ, mã này sẽ tạo một danh sách chứa hai danh sách

  1. Điểm hộp cho
    import pandas
    ba = pandas.read_csv["nba_2013.csv"]
    34
  2. Điểm hộp cho
    import pandas
    ba = pandas.read_csv["nba_2013.csv"]
    35

Cả hai danh sách đều chứa tiêu đề, cùng với từng người chơi và số liệu thống kê trong trò chơi của họ. Bây giờ chúng tôi sẽ không biến dữ liệu này thành nhiều dữ liệu đào tạo hơn, nhưng nó có thể dễ dàng được chuyển thành định dạng có thể được thêm vào khung dữ liệu

[1] 481 31
/code>
9 của chúng tôi

Mã R phức tạp hơn mã Python, vì không có cách nào thuận tiện để sử dụng biểu thức chính quy để chọn các mục, vì vậy chúng tôi phải thực hiện phân tích cú pháp bổ sung để lấy tên nhóm từ HTML

R cũng không khuyến khích sử dụng các vòng lặp

import pandas
ba = pandas.read_csv["nba_2013.csv"]
37 để áp dụng các hàm dọc theo vectơ. Chúng tôi sử dụng
import pandas
ba = pandas.read_csv["nba_2013.csv"]
38 để làm điều này, nhưng vì chúng tôi cần xử lý từng hàng khác nhau tùy thuộc vào việc đó có phải là tiêu đề hay không, nên chúng tôi chuyển chỉ mục của mục chúng tôi muốn và toàn bộ danh sách
import pandas
ba = pandas.read_csv["nba_2013.csv"]
39 vào hàm

Trong R, chúng tôi sử dụng

import pandas
ba = pandas.read_csv["nba_2013.csv"]
20, gói quét web R được sử dụng rộng rãi để trích xuất dữ liệu chúng tôi cần. Lưu ý rằng chúng ta có thể chuyển một url trực tiếp vào rvest, vì vậy bước trước đó thực sự không cần thiết trong R

Trong Python, chúng tôi sử dụng BeautifulSoup, gói quét web được sử dụng phổ biến nhất. Nó cho phép chúng tôi lặp qua các thẻ và xây dựng danh sách các danh sách một cách đơn giản

R so với Python. Cái nào tốt hơn?

Bây giờ chúng ta đã xem cách phân tích tập dữ liệu bằng cả R và Python. Và như chúng ta có thể thấy, mặc dù chúng làm mọi thứ hơi khác một chút, nhưng cả hai ngôn ngữ đều có xu hướng yêu cầu cùng một lượng mã để đạt được cùng một đầu ra

Tất nhiên, có nhiều nhiệm vụ chúng tôi chưa đi sâu vào, chẳng hạn như duy trì kết quả phân tích của mình, chia sẻ kết quả với người khác, thử nghiệm và làm cho mọi thứ sẵn sàng sản xuất cũng như tạo thêm hình ảnh trực quan

Còn rất nhiều điều để thảo luận về chủ đề này, nhưng chỉ dựa trên những gì chúng tôi đã làm ở trên, chúng tôi có thể rút ra một số kết luận có ý nghĩa về sự khác biệt của hai chủ đề này.

[Theo như cái nào thực sự tốt hơn, đó là vấn đề sở thích cá nhân. ]

R có nhiều chức năng hơn, Python hướng đối tượng hơn

Như chúng ta đã thấy từ các hàm như

import pandas
ba = pandas.read_csv["nba_2013.csv"]
30,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
31 và các hàm khác, R cho phép các hàm thực hiện hầu hết công việc. Đối chiếu điều này với lớp
import pandas
ba = pandas.read_csv["nba_2013.csv"]
23 trong Python và phương thức
import pandas
ba = pandas.read_csv["nba_2013.csv"]
23 trên Dataframes

Về mặt phân tích dữ liệu và khoa học dữ liệu, một trong hai cách tiếp cận đều hiệu quả.
R có nhiều chức năng phân tích dữ liệu tích hợp hơn, Python dựa trên các gói.

Khi chúng tôi xem số liệu thống kê tóm tắt, chúng tôi có thể sử dụng hàm dựng sẵn

import pandas
ba = pandas.read_csv["nba_2013.csv"]
33 trong R, nhưng phải nhập gói
import pandas
ba = pandas.read_csv["nba_2013.csv"]
26 trong Python. Dataframe là cấu trúc tích hợp trong R, nhưng phải được nhập qua gói
import pandas
ba = pandas.read_csv["nba_2013.csv"]
27 trong Python

Python có các gói "chính" cho các tác vụ phân tích dữ liệu, R có hệ sinh thái lớn hơn gồm các gói nhỏ

Với Python, chúng ta có thể thực hiện hồi quy tuyến tính, rừng ngẫu nhiên, v.v. với gói scikit-learn. Nó cung cấp một API nhất quán và được duy trì tốt

Trong R, chúng tôi có nhiều gói đa dạng hơn, nhưng cũng có sự phân mảnh lớn hơn và kém nhất quán hơn [hồi quy tuyến tính là một gói tích hợp,

import pandas
ba = pandas.read_csv["nba_2013.csv"]
30,
import pandas
ba = pandas.read_csv["nba_2013.csv"]
29 là một gói riêng biệt, v.v.]

R có nhiều hỗ trợ thống kê hơn nói chung

R được xây dựng như một ngôn ngữ thống kê, và nó cho thấy.

import pandas
ba = pandas.read_csv["nba_2013.csv"]
26 trong Python và các gói khác cung cấp phạm vi phù hợp cho các phương pháp thống kê, nhưng hệ sinh thái R lớn hơn nhiều

Việc thực hiện các tác vụ phi thống kê trong Python thường đơn giản hơn

Với các thư viện được duy trì tốt như BeautifulSoup và các yêu cầu, việc tìm kiếm trang web trong Python đơn giản hơn trong R

Điều này cũng áp dụng cho các tác vụ khác mà chúng tôi chưa xem xét kỹ lưỡng, chẳng hạn như lưu vào cơ sở dữ liệu, triển khai máy chủ web hoặc chạy các quy trình công việc phức tạp

Vì Python được sử dụng trong nhiều ngành và lĩnh vực lập trình khác nhau, nên nó có thể là lựa chọn tốt hơn nếu bạn đang kết hợp công việc dữ liệu của mình với các loại tác vụ lập trình khác

Mặt khác, nếu bạn tập trung vào dữ liệu và số liệu thống kê, R sẽ mang lại một số lợi thế do nó được phát triển tập trung vào số liệu thống kê.
Có nhiều điểm tương đồng giữa quy trình phân tích dữ liệu ở cả hai.

Có những điểm tương đồng rõ ràng giữa cả R và Python [Pandas Dataframes được lấy cảm hứng từ R dataframes, gói rvest được lấy cảm hứng từ BeautifulSoup] và cả hai hệ sinh thái tiếp tục phát triển mạnh mẽ hơn

Trên thực tế, điều đáng chú ý là cú pháp và cách tiếp cận giống nhau như thế nào đối với nhiều tác vụ phổ biến ở cả hai ngôn ngữ

R so với Python. Bạn nên học cái nào?

Tại Dataquest, chúng tôi được biết đến nhiều nhất với các khóa học Python, nhưng chúng tôi đã làm lại hoàn toàn và khởi chạy lại Nhà phân tích dữ liệu của mình trong con đường R vì chúng tôi cảm thấy R là một ngôn ngữ tuyệt vời khác cho khoa học dữ liệu

Chúng tôi xem cả hai ngôn ngữ là bổ sung cho nhau và mỗi ngôn ngữ đều có điểm mạnh và điểm yếu. Một trong hai ngôn ngữ có thể được sử dụng làm công cụ phân tích dữ liệu duy nhất của bạn, vì hướng dẫn này chứng minh. Cả hai ngôn ngữ đều có rất nhiều điểm tương đồng về cú pháp và cách tiếp cận, và bạn không thể sai với bất kỳ ngôn ngữ nào

Cuối cùng, bạn có thể muốn học Python và R để có thể tận dụng thế mạnh của cả hai ngôn ngữ, chọn ngôn ngữ này hoặc ngôn ngữ kia trên cơ sở từng dự án tùy thuộc vào nhu cầu của bạn

Và tất nhiên, biết cả hai cũng giúp bạn trở thành một ứng viên linh hoạt hơn nếu bạn đang tìm kiếm một vị trí trong thế giới khoa học dữ liệu

Python có tốt hơn R không?

Mã Python dễ bảo trì và mạnh mẽ hơn R. Nhiều năm trước; . Gần đây, Python đang bắt kịp và cung cấp API tiên tiến cho máy học hoặc Trí tuệ nhân tạo

R hay Python tốt hơn để phân tích dữ liệu?

Nếu bạn đam mê tính toán thống kê và các phần trực quan hóa dữ liệu của phân tích dữ liệu, thì R có thể phù hợp với bạn . Mặt khác, nếu bạn muốn trở thành một nhà khoa học dữ liệu và làm việc với dữ liệu lớn, trí tuệ nhân tạo và các thuật toán học sâu, thì Python sẽ phù hợp hơn.

Ngôn ngữ nào là tốt nhất để phân tích dữ liệu?

Trăn . Python là ngôn ngữ lập trình khoa học dữ liệu được sử dụng rộng rãi nhất trên thế giới hiện nay. Nó là một ngôn ngữ mã nguồn mở, dễ sử dụng đã xuất hiện từ năm 1991. Ngôn ngữ năng động và có mục đích chung này vốn là hướng đối tượng.

Tôi nên học R hay Python trước?

Trong bối cảnh khoa học dữ liệu y sinh, hãy học Python trước, sau đó học đủ R để có thể hoàn thành phân tích của bạn , trừ khi . Nếu bạn học cả hai, bạn có thể viết mã R thành Python bằng rpy.

Chủ Đề