Chức năng sạch Python

Bây giờ, hãy lấy câu lệnh đã tải đó và quay lại vài bước. Làm sạch dữ liệu, hay còn gọi là làm sạch dữ liệu, là một phần không thể thiếu trong quá trình chuẩn bị dữ liệu

Chuẩn bị dữ liệu là gì và quan điểm của bạn là gì, bạn hỏi. Vâng, cảm ơn bạn, đó là những gì tôi đang nhận được. Chuẩn bị dữ liệu phù hợp là điều cần thiết và nếu được thực hiện không đúng cách, xương sống tốn kém của phân tích dữ liệu hiệu quả

Phân tích dữ liệu và phân tích văn bản đã trở thành tiêu điểm của mọi doanh nghiệp quan tâm đến thành công liên tục trong thị trường hiện đại. Theo đúng nghĩa đen, khả năng phân tích và định lượng phản hồi của khách hàng, mô hình bán hàng và thông tin khách hàng khác đã trở thành xu hướng của lĩnh vực cho các doanh nghiệp đang tìm cách tạo dựng tên tuổi cho chính họ

Học hỏi từ quy trình hiện tại của bạn, biết khách hàng của bạn, cải thiện quy trình của bạn, bán chạy hơn đối thủ cạnh tranh là tên của trò chơi.  

Hướng dẫn này sẽ giải thích những điều cơ bản về việc làm sạch dữ liệu là gì, sau đó chuyển sang nội dung thực tế. Cuối cùng, hướng dẫn này sẽ chuyển thành hướng dẫn cách làm sạch dữ liệu bằng Python hướng dẫn bạn từng bước.  

1. Làm sạch dữ liệu là gì?

Làm sạch dữ liệu là quá trình sửa hoặc xóa dữ liệu bị hỏng, không chính xác hoặc không cần thiết khỏi tập dữ liệu trước khi phân tích dữ liệu

Mở rộng định nghĩa cơ bản này, làm sạch dữ liệu, thường được nhóm với làm sạch dữ liệu, lọc dữ liệu và chuẩn bị dữ liệu, giúp biến dữ liệu lộn xộn, có khả năng xảy ra sự cố thành dữ liệu sạch. Điều quan trọng, đó là 'dữ liệu sạch' được định nghĩa là dữ liệu mà các công cụ phân tích dữ liệu mạnh mẽ mà bạn đã bỏ tiền ra thực sự có thể sử dụng

Tại MonkeyLearn, chúng tôi muốn giải thích lý do tại sao làm sạch dữ liệu lại quan trọng bằng một phương pháp đơn giản.  

  1. Chúng tôi giải thích Nguyên tắc dữ liệu xấu 1-100 và
  2. Chúng tôi bối cảnh hóa nguyên tắc với một vài trích dẫn lựa chọn

Nguyên tắc dữ liệu xấu 1-100

The cost of bad data quality over time is significantly higher the longer you wait to clean.

Theo thống kê, mỗi đô la chi cho việc làm sạch dữ liệu xấu sẽ ngăn chặn khoảng 100 đô la chi phí tuyến dưới

Đối với bất kỳ doanh nghiệp nào, ROI (lợi tức đầu tư) là rất quan trọng. Nếu bạn đầu tư vào một chiến dịch quảng cáo, bạn sẽ hy vọng thấy doanh số bán hàng tăng lên

Điều chúng tôi hy vọng chứng minh với Nguyên tắc dữ liệu xấu 1-100 không chỉ là việc làm sạch dữ liệu mang lại ROI đáng kinh ngạc. Chúng tôi cũng muốn nhấn mạnh rằng giá trị của nó lớn đến mức việc đầu tư vào phân tích dữ liệu và làm sạch dữ liệu cần thiết trước đó thường là cách sử dụng tài nguyên hợp lý hơn nhiều so với các kỹ thuật tiếp thị quảng cáo và bán hàng trong quá khứ

Như Giám đốc điều hành của chúng tôi, Raúl Garreta, đã nói,

“Nếu quy trình xuôi dòng của bạn nhận dữ liệu đầu vào là rác, thì chất lượng kết quả của bạn cũng sẽ kém”

Điều quan trọng cần lưu ý là hiểu biết sâu sắc của Raúl được áp dụng bất kể sức mạnh của chương trình phân tích dữ liệu của bạn. Điều đó sẽ giống như đưa động cơ diesel vào một chiếc lamborghini

Với dữ liệu xấu, thật đơn giản – rác vào, rác ra.  

Garbage in equals garbage out of powerful machine learning models.

Bây giờ, mục đích của hướng dẫn này là thông báo cho bạn cách thực hiện tốt nhất việc làm sạch dữ liệu bằng Python. Đối với những người không quen biết, Python là một trong những ngôn ngữ mã phổ biến nhất, nếu không muốn nói là phổ biến nhất trên thế giới.  

Hơn nữa, và thậm chí còn quan trọng hơn, phần lớn các bộ dữ liệu có thể và được lập trình bằng Python. Kết hợp tầm quan trọng của Python, Numpy và Pandas, cả hai thư viện Python (có nghĩa là bộ công cụ được lập trình sẵn) đều là công cụ được các nhà khoa học dữ liệu lựa chọn khi làm sạch, chuẩn bị và phân tích dữ liệu khác

Người ta cần gì hơn nữa?

2. Dọn dẹp dữ liệu với Python

Sử dụng Pandas và NumPy, giờ đây chúng tôi sẽ hướng dẫn bạn thực hiện một loạt tác vụ sau đây, được liệt kê bên dưới. Chúng tôi sẽ đưa ra một ý tưởng cực kỳ ngắn gọn về nhiệm vụ, sau đó giải thích mã cần thiết bằng INPUT (những gì bạn nên nhập) và OUTPUT (những gì bạn sẽ thấy kết quả). Nếu có liên quan, chúng tôi cũng sẽ có một số ghi chú và mẹo hữu ích để bạn làm rõ những điều khó hiểu.  

Dưới đây là các tác vụ làm sạch dữ liệu cơ bản mà chúng tôi sẽ giải quyết

1. Nhập thư viện

Hãy cài đặt và chạy Pandas và NumPy trên tập lệnh Python của bạn

ĐẦU VÀO

import pandas as pd
import numpy as np

ĐẦU RA

Trong trường hợp này, tập lệnh của bạn bây giờ sẽ tải các thư viện. Bạn sẽ biết điều này có đúng không bằng cách nhập tập dữ liệu vào bước tiếp theo của chúng tôi

2. Nhập bộ dữ liệu phản hồi của khách hàng

Tiếp theo, chúng tôi yêu cầu các thư viện của mình đọc tập dữ liệu phản hồi. Hãy xem nó trông như thế nào

ĐẦU VÀO

data = pd.read_csv('feedback.csv')

ĐẦU RA.  

Như bạn có thể thấy “phản hồi. csv” phải là tập dữ liệu bạn muốn kiểm tra. Và, trong trường hợp này, khi chúng ta đọc “pd. read_csv” làm chức năng trước, chúng tôi biết rằng chúng tôi đang sử dụng thư viện Pandas để đọc tập dữ liệu của mình.  

3. Xác định vị trí dữ liệu bị thiếu

Tiếp theo, chúng tôi sẽ sử dụng một bản hack Python bí mật được gọi là 'hàm isnull' để khám phá dữ liệu của chúng tôi. Trên thực tế, một chức năng phổ biến, 'isnull' giúp chúng tôi tìm thấy các giá trị bị thiếu ở đâu trong tập dữ liệu của chúng tôi. Đây là thông tin hữu ích vì đây là những gì chúng tôi cần sửa trong khi làm sạch dữ liệu

ĐẦU VÀO

data.isnull()

ĐẦU RA.  

Kết quả đầu ra của chúng tôi là một danh sách các giá trị boolean.  

Có một số thông tin chi tiết mà danh sách có thể cung cấp cho chúng tôi. Đầu tiên và quan trọng nhất là vị trí của dữ liệu bị thiếu – bất kỳ giá trị 'Đúng' nào dưới một cột biểu thị dữ liệu bị thiếu trong danh mục của cột đó cho tệp dữ liệu đó

Vì vậy, ví dụ: điểm dữ liệu 1 bị thiếu dữ liệu trong phần Đánh giá và phần ID Đánh giá của nó (cả hai đều được đánh dấu là đúng).  

Chúng tôi có thể mở rộng thêm dữ liệu còn thiếu của từng tính năng bằng cách mã hóa

ĐẦU VÀO.  

data.isnull().sum()

ĐẦU RA

Từ đây, chúng tôi sử dụng mã để thực sự làm sạch dữ liệu. Điều này tập trung vào hai tùy chọn cơ bản. 1) Xóa dữ liệu hoặc, 2) Nhập dữ liệu bị thiếu. Nếu bạn chọn tham gia

1. Thả dữ liệu

Bạn sẽ phải đưa ra quyết định khác – chỉ loại bỏ các giá trị còn thiếu và giữ nguyên dữ liệu trong tập hợp hay loại bỏ toàn bộ đối tượng địa lý (toàn bộ cột) vì có quá nhiều điểm dữ liệu bị thiếu không phù hợp để phân tích

Nếu bạn muốn loại bỏ các giá trị còn thiếu, bạn sẽ phải truy cập và đánh dấu chúng là vô hiệu theo tiêu chuẩn của Pandas hoặc NumBy (xem phần bên dưới). Nhưng nếu bạn muốn bỏ toàn bộ cột, thì đây là mã

ĐẦU VÀO.  

remove = ['Review ID','Date']
data.drop(remove, inplace =True, axis =1)

ĐẦU RA.  

Bây giờ, hãy kiểm tra tùy chọn khác của chúng tôi

2. Nhập dữ liệu bị thiếu

Về mặt kỹ thuật, phương pháp điền các giá trị riêng lẻ theo tiêu chuẩn Pandas hoặc NumBy được mô tả ở trên cũng là một hình thức nhập dữ liệu bị thiếu – chúng tôi gọi đó là thêm 'Không đánh giá'. Khi cần nhập dữ liệu bị thiếu, bạn có thể thêm 'Không đánh giá' bằng mã bên dưới hoặc điền dữ liệu chính xác theo cách thủ công

ĐẦU VÀO

data['Review'] = data['Review'].fillna('No review')

ĐẦU RA

Như bạn có thể thấy, bây giờ điểm dữ liệu 1 đã được đánh dấu là 'Không đánh giá' - thành công

Các bản sao, chẳng hạn như thiếu dữ liệu, gây ra sự cố và làm tắc nghẽn phần mềm phân tích. Hãy xác định vị trí và loại bỏ chúng

Để xác định vị trí trùng lặp, chúng tôi bắt đầu với

ĐẦU VÀO

data.duplicated()

ĐẦU RA

Aka một danh sách các giá trị boolean trong đó giá trị 'True' chỉ ra các giá trị trùng lặp

Hãy tiếp tục và loại bỏ bản sao đó (datapoint 8)

ĐẦU VÀO

data.drop_duplicates()

ĐẦU RA.  

Và ở đó chúng tôi có nó, bộ dữ liệu của chúng tôi với bản sao của chúng tôi đã bị xóa. trở đi

5. Phát hiện ngoại lệ

Ngoại lệ là các giá trị số nằm ngoài đáng kể so với tiêu chuẩn thống kê. Cắt giảm điều đó khỏi sự cắt xén khoa học không cần thiết - chúng là những điểm dữ liệu nằm ngoài phạm vi nên chúng có khả năng đọc sai.  

Chúng, giống như các bản sao, cần phải được loại bỏ. Trước tiên, hãy phát hiện ra một ngoại lệ, kéo tập dữ liệu của chúng tôi lên

ĐẦU VÀO

________số 8

ĐẦU RA

Hãy xem giá trị 'tối đa' đó - không có giá trị nào khác gần bằng 100, với giá trị trung bình (trung bình) là 11. Giờ đây, giải pháp của bạn đối với các trường hợp ngoại lệ sẽ phụ thuộc vào kiến ​​thức của bạn về tập dữ liệu của mình. Trong trường hợp này, các nhà khoa học dữ liệu nhập kiến ​​thức biết rằng họ định đặt giá trị 1 chứ không phải 100. Vì vậy, chúng tôi có thể xóa ngoại lệ một cách an toàn để sửa dữ liệu của mình

ĐẦU VÀO

data.loc[10,'Rating'] = 1

ĐẦU RA.  

Bây giờ tập dữ liệu của chúng tôi có xếp hạng từ 1 đến 5, điều này sẽ tiết kiệm được độ lệch lớn nếu có 100 giả mạo trong đó

6. Bình thường hóa vỏ bọc

Cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ chấm chữ i của mình và gạch chéo chữ t của mình. Có nghĩa là chúng tôi sẽ chuẩn hóa (chữ thường) tất cả các tiêu đề đánh giá để không gây nhầm lẫn cho các thuật toán của chúng tôi và chúng tôi sẽ viết hoa Tên khách hàng để các thuật toán của chúng tôi biết chúng là các biến (bạn sẽ thấy điều này trong hành động bên dưới)

Đây là cách làm cho mọi tiêu đề đánh giá được viết thường

ĐẦU VÀO

data = pd.read_csv('feedback.csv')
0

ĐẦU RA

Trông rất tuyệt. Về việc đảm bảo các chương trình mạnh mẽ của chúng tôi không bị vấp và phân loại sai tên khách hàng vì tên đó không được viết hoa. Dưới đây là cách đảm bảo viết hoa Tên khách hàng

ĐẦU VÀO

data = pd.read_csv('feedback.csv')
1

ĐẦU RA

Và bạn đã có nó – bộ dữ liệu của chúng tôi với tất cả các bản sửa lỗi. Hay đúng hơn, với tất cả các cách khắc phục. Chúng tôi đã tận dụng tốt các thư viện Python trực quan để định vị và loại bỏ dữ liệu xấu, đồng thời chuẩn hóa phần còn lại. Chúng tôi hiện đã sẵn sàng để tận dụng tối đa phần mềm phân tích dữ liệu máy học của chúng tôi.  

mang đi

Đi trước đối thủ khi phân tích dữ liệu không phải là điều dễ dàng - có vẻ như ngày càng có nhiều phần mềm mạnh mẽ hơn và các chức năng mới được phát triển và ra mắt

Nhưng phân tích dữ liệu của bạn chỉ tốt khi làm sạch dữ liệu của bạn, mà chúng tôi đã đề cập ở đây và khả năng tương thích của nó với phần mềm phân tích của bạn. Với dữ liệu sạch và phần mềm phân tích mạnh mẽ (và dễ sử dụng), bạn có thể luôn dẫn đầu trò chơi bằng cách dựa vào quy trình mà bạn kiểm soát và hiểu rõ

Phân tích văn bản của MonkeyLearn và studio phân tích dữ liệu tất cả trong một là sự kết hợp hoàn hảo cho dữ liệu sạch của bạn. Bởi vì phần mềm của chúng tôi tập trung vào khả năng tương thích API để vừa liên kết với phần mềm hiện có của bạn vừa tiếp nhận mã mới của bạn, và cũng vì thư viện mã mở của chúng tôi, tính dễ sử dụng và khả năng kiểm soát quy trình của chúng tôi là không ai sánh kịp.  

Tầm quan trọng của việc viết mã Python sạch là gì?

Mã sạch dễ đọc, dễ hiểu, gỡ lỗi và sửa đổi cho mọi người. Tuy nhiên, bạn phải viết mã sạch để tận dụng tối đa Python. Viết mã sạch rất quan trọng vì nó cho phép bạn giao tiếp rõ ràng với người tiếp theo làm việc với mã bạn đã viết

Mã sạch trông như thế nào?

“Mã sạch rất đơn giản và trực tiếp. Mã sạch giống như văn xuôi được viết tốt . Mã sạch không bao giờ che khuất ý định của nhà thiết kế mà thay vào đó là đầy đủ các phần trừu tượng sắc nét và các dòng điều khiển đơn giản. ” Định nghĩa của Grady về mã sạch ủng hộ khẳng định của Bjarne về tính dễ đọc.

Điều gì làm cho mã sạch?

Mã sạch rõ ràng, dễ hiểu và có thể bảo trì . Khi bạn viết mã sạch, bạn đang ghi nhớ những người khác có thể đọc và diễn giải mã của bạn sau này. Bạn đang giúp người khác hiểu mục đích mã của bạn để cuối cùng họ có thể thay đổi mã đó.