Hướng dẫn clustering non numeric data python - phân cụm dữ liệu không phải dạng số python

Cách xử lý dữ liệu phi hình số điển hình nhất là chuyển đổi một cột duy nhất thành nhiều cột nhị phân. Điều này được gọi là "Nhận các biến giả" hoặc "mã hóa nóng" (trong số nhiều thuật ngữ hợm hĩnh khác).

Có những điều khác bạn có thể làm để dịch dữ liệu thành các con số, chẳng hạn như phân tích tình cảm (tức là cetagorize mỗi tweet thành vui, buồn, hài hước, tức giận, v.v.), phân tích các tweet để xác định xem chúng có về một chủ đề nhất định hoặc không (tức là tweet này có nói về virus không?), Số lượng từ trong mỗi tweet, số lượng không gian trên mỗi tweet, nếu nó có ngữ pháp tốt hay không, v.v. chủ đề rộng.

Khi chuyển đổi dữ liệu thành các cột nhị phân, bạn sẽ nhận được số lượng các giá trị duy nhất trong cột của mình và tạo ra nhiều cột mới đó, mỗi cột trong số chúng chứa đầy số không và các cột.

Hãy tập trung vào cột đầu tiên của bạn:

import pandas as pd
df = pd.DataFrame({'account':['realdonaldtrump','naredramodi','pontifex','pmoindia','potus']})

    account
0   realdonaldtrump
1   narendramodi
2   pontifex
3   pmoindia
4   potus

Điều này tương đương với:

pd.get_dummies(df, columns=['account'], prefix='account')

   account_naredramodi  account_pmoindia  account_pontifex  account_potus  \
0                    0                 0                 0              0   
1                    1                 0                 0              0   
2                    0                 0                 1              0   
3                    0                 1                 0              0   
4                    0                 0                 0              1   

   account_realdonaldtrump  
0                        1  
1                        0  
2                        0  
3                        0  
4                        0

Đây là một trong nhiều phương pháp. Bạn có thể xem bài viết này về một mã hóa nóng ở đây.

Lưu ý: Khi bạn có nhiều giá trị duy nhất, việc này sẽ cung cấp cho bạn nhiều cột và một số thuật toán sẽ bị sập do không có đủ mức độ tự do (quá nhiều biến, không đủ quan sát). Cuối cùng, nếu bạn đang chạy hồi quy, bạn sẽ gặp phải đa hình hoàn hảo nếu bạn không thả một trong các cột.: When you have many unique values, doing this will give you many columns and some algorithms will crash due to not having enough degrees of freedom (too many variables, not enough observations). Last, if you are running a regression, you will run into perfect multicollinearity if you do not drop one of the columns.

Quay trở lại ví dụ của bạn, nếu bạn muốn biến tất cả các cột của mình thành loại dữ liệu này, hãy thử:

pd.get_dummies(df)

Tuy nhiên, tôi sẽ không làm điều này cho cột tweet vì mỗi tweet là giá trị duy nhất của riêng nó.

Tôi đã viết một bài báo có tiêu đề là phân cụm dữ liệu không phải là người sử dụng Python, trong số tháng 4 năm 2018 của tạp chí Visual Studio. Xem https://visualstudiomagazine.com/articles/2018/04/01/clustering-non-numeric-data.aspx.

Hướng dẫn clustering non numeric data python - phân cụm dữ liệu không phải dạng số python

Phân cụm là quá trình nhóm dữ liệu để các mục tương tự nằm trong cùng một nhóm/cụm. Sau khi dữ liệu được phân cụm, bạn có thể kiểm tra các cụm để xác định xem có bất kỳ mẫu thú vị nào xuất hiện hay để xác định các mục bất thường.

Nếu dữ liệu của bạn là tất cả số, thì có một số thuật toán tốt, bao gồm cả K-MEAN. Ví dụ, nếu mỗi mục dữ liệu đại diện cho một người có độ tuổi, giáo dục năm, thu nhập hàng năm, thì phân cụm là khá dễ dàng. Tuy nhiên, một cách đáng ngạc nhiên, nếu dữ liệu của bạn chứa các mục không phải là số, thì việc phân cụm là rất khó khăn. Ví dụ, nếu mỗi người mặt hàng có màu tóc, thì K-Means đã giành được công việc.

Lý do tại sao hầu hết các thuật toán giành được công việc với các mục không phải là số là các thuật toán phụ thuộc vào thước đo khoảng cách. Ví dụ, khoảng cách từ 25 tuổi và 28 tuổi có thể được định nghĩa là (25-28)^2 = 9. Nhưng khoảng cách giữa cô gái tóc vàng và và Red Red không có ý nghĩa.

Vì vậy, trong bài viết của tôi, tôi mô tả một kỹ thuật hoạt động tốt với dữ liệu không phải là số lượng. Chìa khóa là một số liệu gọi là Tiện ích danh mục (CU). CU dựa trên lý thuyết thông tin và xác suất, và là thước đo mức độ tốt của một phân cụm cụ thể của dữ liệu không phải là số lượng. Giá trị CU lớn hơn có nghĩa là một cụm tốt hơn.

Để phân cụm một tập hợp dữ liệu không phải là số lượng, bạn có thể thử phân cụm khác nhau và sử dụng phân cụm mang lại giá trị CU lớn nhất. Tất nhiên, phần khó là, hãy thử các cụm khác nhau vì số lượng phân cụm có thể có của bộ dữ liệu có thể lớn không thể tưởng tượng được cho các kích thước tập dữ liệu vừa phải.

Đạo đức của câu chuyện là các bộ dữ liệu phân cụm có chứa dữ liệu không phải là có thể nhưng bạn phải sử dụng một ý tưởng thông minh như tiện ích danh mục.


Hướng dẫn clustering non numeric data python - phân cụm dữ liệu không phải dạng số python

Cấm Briggate, Leeds, khoảng năm 1860, bởi John Atkinson Grimshaw. Kỹ thuật vẽ thông minh cho một cảnh đêm.

Mục nhập này đã được đăng trong học máy. Đánh dấu permalink.

Làm thế nào để bạn phân cụm dữ liệu phân loại trong Python?

Phương thức K được sử dụng để phân cụm các biến phân loại. Nó xác định các cụm dựa trên số lượng các danh mục phù hợp giữa các điểm dữ liệu. .. It defines clusters based on the number of matching categories between data points. (This is in contrast to the more well-known k-means algorithm, which clusters numerical data based on distant measures like Euclidean distance etc.)

Làm thế nào để Python xử lý dữ liệu không số?

Đầu tiên, bạn sẽ muốn đạp xe qua các cột trong Pandas DataFrame.Đối với các cột không phải là số, bạn muốn tìm các yếu tố duy nhất của chúng.Điều này có thể được thực hiện bằng cách đơn giản là lấy một tập hợp các giá trị cột.Từ đây, chỉ mục trong tập hợp đó có thể là giá trị "số" mới hoặc "ID" của dữ liệu văn bản.cycle through the columns in the Pandas dataframe. For columns that are not numbers, you want to find their unique elements. This can be done by simply take a set of the column values. From here, the index within that set can be the new "numerical" value or "id" of the text data.

Bạn có thể thực hiện phân cụm với dữ liệu phân loại không?

Về cơ bản, nó là một tập hợp các đối tượng dựa trên sự tương đồng và khác biệt giữa chúng.Phân cụm KModes là một trong những thuật toán học máy không giám sát được sử dụng để phân cụm các biến phân loại.KModes clustering is one of the unsupervised Machine Learning algorithms that is used to cluster categorical variables.

Có thể k

Đó là dữ liệu văn bản và tôi đã học được rằng K có nghĩa là không thể xử lý dữ liệu phi âm thanh.K means can not handle Non-Numerical data.