Phân phối lớp Python

Phân loại trong Học máy có giám sát [ML] là quá trình dự đoán lớp hoặc danh mục dữ liệu dựa trên các lớp dữ liệu được xác định trước đã được 'gắn nhãn'

  • Dữ liệu được dán nhãn là dữ liệu đã được phân loại
  • Dữ liệu chưa gán nhãn là dữ liệu chưa được gán nhãn

Để biết thêm thông tin về dữ liệu được dán nhãn, hãy tham khảo. Cách gắn nhãn dữ liệu cho máy học trong Python

Các loại phân loại

Có hai cách phân loại chính

  • Phân loại nhị phân – sắp xếp dữ liệu trên cơ sở các giá trị rời rạc hoặc không liên tục [thường là hai giá trị]. Ví dụ: một xét nghiệm y tế có thể phân loại bệnh nhân thành những người mắc một bệnh cụ thể so với những người không mắc bệnh.
  • Phân loại nhiều lớp – sắp xếp dữ liệu thành ba lớp trở lên. Ví dụ: hồ sơ y tế phân loại bệnh nhân thành những người có triệu chứng nhiễm trùng thận, gan, phổi hoặc bàng quang.

Cách thực hiện phân loại với Scikit-Learn

Bạn có thể sử dụng scikit-learning để thực hiện phân loại bằng bất kỳ thuật toán phân loại nào của nó [còn được gọi là trình phân loại], bao gồm.  

  • Cây quyết định/Rừng ngẫu nhiên – bộ phân loại Cây quyết định có các thuộc tính tập dữ liệu được phân loại thành các nút hoặc nhánh trong cây. Trình phân loại Rừng ngẫu nhiên là một công cụ ước tính tổng hợp phù hợp với một rừng cây quyết định và sử dụng giá trị trung bình để cải thiện độ chính xác của dự đoán.
  • K-Hàng xóm gần nhất [KNN] – thuật toán phân loại đơn giản, trong đó K đề cập đến căn bậc hai của số lượng bản ghi đào tạo.
  • Phân tích phân biệt tuyến tính – eước tính xác suất của một tập hợp đầu vào mới cho mỗi lớp.
  • Hồi quy logistic – một mô hình có biến đầu vào [x] và biến đầu ra [y], là giá trị rời rạc của 1 [có] hoặc 0 [không].
  • Naive Bayes – một nhóm các bộ phân loại dựa trên mô hình Bayesian đơn giản tương đối nhanh và chính xác. Lý thuyết Bayes khám phá mối quan hệ giữa xác suất và khả năng.
  • Máy vectơ hỗ trợ [SVM] – một mô hình có các thuật toán học liên kết phân tích dữ liệu để phân loại. Còn được gọi là Mạng vectơ hỗ trợ.

Để biết thêm thông tin về SciKit-Learn, cũng như cách cài đặt nó, hãy tham khảo

  • Scikit-learning trong Python là gì?
  • Làm cách nào để cài đặt Scikit-learning?

Cách chạy Nhiệm vụ phân loại với K-Hàng xóm gần nhất

Trong ví dụ này, trình phân loại KNN được sử dụng để huấn luyện dữ liệu và chạy các tác vụ phân loại

# Import libraries and classes required for this example:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler 
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report, confusion_matrix
import pandas as pd 

# Import dataset:
url = “iris.csv”

# Assign column names to dataset:
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'Class']

# Convert dataset to a pandas dataframe:
dataset = pd.read_csv[url, names=names] 

# Use head[] function to return the first 5 rows: 
dataset.head[] 
# Assign values to the X and y variables:
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 4].values 

# Split dataset into random train and test subsets:
X_train, X_test, y_train, y_test = train_test_split[X, y, test_size=0.20] 

# Standardize features by removing mean and scaling to unit variance:
scaler = StandardScaler[]
scaler.fit[X_train]

X_train = scaler.transform[X_train]
X_test = scaler.transform[X_test] 

# Use the KNN classifier to fit data:
classifier = KNeighborsClassifier[n_neighbors=5]
classifier.fit[X_train, y_train] 

# Predict y data with classifier: 
y_predict = classifier.predict[X_test]

# Print results: 
print[confusion_matrix[y_test, y_predict]]
print[classification_report[y_test, y_predict]] 

Xem cách sử dụng trình phân loại KNN để đào tạo và phân loại dữ liệu

Cách chạy tác vụ phân loại với Naive Bayes

Trong ví dụ này, trình phân loại a Naive Bayes [NB] được sử dụng để chạy các tác vụ phân loại.

# Import dataset and classes needed in this example:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# Import Gaussian Naive Bayes classifier:
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score

# Load dataset: 
data = load_iris[]

# Organize data:
label_names = data['target_names']
labels = data['target']
feature_names = data['feature_names']
features = data['data']

# Print data:
print[label_names]
print['Class label = ', labels[0]]
print[feature_names]
print[features[0]]
# Split dataset into random train and test subsets:
train, test, train_labels, test_labels = train_test_split[features, labels, test_size=0.33, random_state=42]

# Initialize classifier:
gnb = GaussianNB[]

# Train the classifier:
model = gnb.fit[train, train_labels]
# Make predictions with the classifier:
predictive_labels = gnb.predict[test]
print[predictive_labels]

# Evaluate label [subsets] accuracy:
print[accuracy_score[test_labels, predictive_labels]]

Hình 1. Dự đoán nhãn phân loại và độ chính xác

Phân loại so với hồi quy

Sự khác biệt chính giữa phân loại và hồi quy là biến đầu ra cho phân loại là rời rạc, trong khi đầu ra cho hồi quy là liên tục.  

Để biết thông tin về hồi quy, hãy tham khảo. Cách chạy hồi quy tuyến tính trong Python Scikit-Learn

Các hướng dẫn sau đây sẽ cung cấp cho bạn hướng dẫn từng bước về cách làm việc với các gói Python học máy

  • Scikit-learning trong Python là gì
  • Cách cài đặt Scikit Learn
  • Cách chạy hồi quy tuyến tính trong Python Scikit-learning
  • Cách gắn nhãn dữ liệu cho máy học trong Python
  • Cách xây dựng một mảng Numpy
  • Cách biến một mảng Numpy thành một danh sách

Nhận phiên bản Python, được biên dịch sẵn với Scikit-learn, NumPy, pandas và các Gói ML phổ biến khác

ActivePython là bản phân phối Python đáng tin cậy dành cho Windows, Linux và Mac, được tích hợp sẵn các gói Python hàng đầu dành cho máy học – miễn phí để sử dụng cho mục đích phát triển

Một số gói ML phổ biến mà bạn được biên dịch trước – Với ActivePython

Học máy

  • TensorFlow [học sâu với mạng thần kinh]*
  • scikit-learning [thuật toán máy học]
  • máy ảnh [API mạng thần kinh cấp cao]

Khoa học dữ liệu

  • gấu trúc [phân tích dữ liệu]
  • NumPy [mảng nhiều chiều]
  • SciPy [thuật toán để sử dụng với numpy]
  • HDF5 [lưu trữ và thao tác dữ liệu]
  • matplotlib [trực quan hóa dữ liệu]

Tải ActiveState Python cho Machine Learning cho Windows, macOS hoặc Linux tại đây

Tại sao nên sử dụng ActiveState Python thay vì mã nguồn mở Python?

Mặc dù bản phân phối mã nguồn mở của Python có thể phù hợp với một cá nhân, nhưng nó không phải lúc nào cũng đáp ứng các yêu cầu về hỗ trợ, bảo mật hoặc nền tảng của các tổ chức lớn

Đây là lý do tại sao các tổ chức chọn ActiveState Python cho nhu cầu khoa học dữ liệu, xử lý dữ liệu lớn và phân tích thống kê của họ

Được đóng gói sẵn với các gói quan trọng nhất mà Nhà khoa học dữ liệu cần, ActiveState Python được biên dịch sẵn để bạn và nhóm của bạn không phải lãng phí thời gian để định cấu hình bản phân phối nguồn mở. Bạn có thể tập trung vào những gì quan trọng – dành nhiều thời gian hơn để xây dựng các thuật toán và mô hình dự đoán đối với các nguồn dữ liệu lớn của bạn và ít thời gian hơn cho cấu hình hệ thống

ActiveState Python tương thích 100% với bản phân phối Python mã nguồn mở và cung cấp hỗ trợ thương mại và bảo mật mà tổ chức của bạn yêu cầu

Với ActiveState Python, bạn có thể khám phá và thao tác dữ liệu, chạy phân tích thống kê và cung cấp trực quan hóa để chia sẻ thông tin chuyên sâu với người dùng doanh nghiệp và giám đốc điều hành của bạn sớm hơn–bất kể dữ liệu của bạn nằm ở đâu

Tải xuống ActiveState Python để bắt đầu hoặc liên hệ với chúng tôi để tìm hiểu thêm về cách sử dụng ActiveState Python trong tổ chức của bạn

sự phân bố lớp học là gì?

Một phân phối lớp có thể được định nghĩa là một từ điển trong đó khóa là giá trị lớp [e. g. 0 hoặc 1] và giá trị là số ví dụ được tạo ngẫu nhiên để đưa vào tập dữ liệu .

Phân phối trong Python là gì?

Phân phối chuẩn Python là hàm phân phối các biến ngẫu nhiên trong biểu đồ có hình chuông đối xứng . Nó làm như vậy bằng cách sắp xếp phân phối xác suất cho mỗi giá trị.

Phân phối lớp trong thống kê là gì?

Lớp học. Phân phối tần số. Phân phối tần suất là bảng hiển thị các lớp hoặc khoảng dữ liệu với số lượng trong mỗi lớp . Tần suất f của một lớp là số điểm dữ liệu trong lớp.

Lớp [] có nghĩa là gì trong Python?

Python là ngôn ngữ lập trình hướng đối tượng. Hầu hết mọi thứ trong Python là một đối tượng, với các thuộc tính và phương thức của nó. Lớp giống như một hàm tạo đối tượng hoặc "bản thiết kế" để tạo đối tượng .

Chủ Đề