Làm thế nào để tính toán độ chính xác, độ thu hồi, độ chính xác và điểm số f1 cho trường hợp đa thủy tinh với scikit learning?


109

Tôi đang làm việc trong một vấn đề phân tích tình cảm, dữ liệu trông như thế này:

label instances
    5    1190
    4     838
    3     239
    1     204
    2     127

Vì vậy, dữ liệu của tôi không cân bằng vì 1190 instancesđược gắn nhãn 5. Để phân loại tôi sử dụng SVC của scikit . Vấn đề là tôi không biết cách cân bằng dữ liệu của mình theo cách phù hợp để tính toán chính xác độ chính xác, độ thu hồi, độ chính xác và điểm f1 cho trường hợp đa thủy tinh. Vì vậy, tôi đã thử các cách tiếp cận sau:

Đầu tiên:

    wclf = SVC(kernel='linear', C= 1, class_weight={1: 10})
    wclf.fit(X, y)
    weighted_prediction = wclf.predict(X_test)

print 'Accuracy:', accuracy_score(y_test, weighted_prediction)
print 'F1 score:', f1_score(y_test, weighted_prediction,average='weighted')
print 'Recall:', recall_score(y_test, weighted_prediction,
                              average='weighted')
print 'Precision:', precision_score(y_test, weighted_prediction,
                                    average='weighted')
print '\n clasification report:\n', classification_report(y_test, weighted_prediction)
print '\n confussion matrix:\n',confusion_matrix(y_test, weighted_prediction)

Thứ hai:

auto_wclf = SVC(kernel='linear', C= 1, class_weight='auto')
auto_wclf.fit(X, y)
auto_weighted_prediction = auto_wclf.predict(X_test)

print 'Accuracy:', accuracy_score(y_test, auto_weighted_prediction)

print 'F1 score:', f1_score(y_test, auto_weighted_prediction,
                            average='weighted')

print 'Recall:', recall_score(y_test, auto_weighted_prediction,
                              average='weighted')

print 'Precision:', precision_score(y_test, auto_weighted_prediction,
                                    average='weighted')

print '\n clasification report:\n', classification_report(y_test,auto_weighted_prediction)

print '\n confussion matrix:\n',confusion_matrix(y_test, auto_weighted_prediction)

Ngày thứ ba:

clf = SVC(kernel='linear', C= 1)
clf.fit(X, y)
prediction = clf.predict(X_test)


from sklearn.metrics import precision_score, \
    recall_score, confusion_matrix, classification_report, \
    accuracy_score, f1_score

print 'Accuracy:', accuracy_score(y_test, prediction)
print 'F1 score:', f1_score(y_test, prediction)
print 'Recall:', recall_score(y_test, prediction)
print 'Precision:', precision_score(y_test, prediction)
print '\n clasification report:\n', classification_report(y_test,prediction)
print '\n confussion matrix:\n',confusion_matrix(y_test, prediction)


F1 score:/usr/local/lib/python2.7/site-packages/sklearn/metrics/classification.py:676: DeprecationWarning: The default `weighted` averaging is deprecated, and from version 0.18, use of precision, recall or F-score with multiclass or multilabel data or pos_label=None will result in an exception. Please set an explicit value for `average`, one of (None, 'micro', 'macro', 'weighted', 'samples'). In cross validation use, for instance, scoring="f1_weighted" instead of scoring="f1".
  sample_weight=sample_weight)
/usr/local/lib/python2.7/site-packages/sklearn/metrics/classification.py:1172: DeprecationWarning: The default `weighted` averaging is deprecated, and from version 0.18, use of precision, recall or F-score with multiclass or multilabel data or pos_label=None will result in an exception. Please set an explicit value for `average`, one of (None, 'micro', 'macro', 'weighted', 'samples'). In cross validation use, for instance, scoring="f1_weighted" instead of scoring="f1".
  sample_weight=sample_weight)
/usr/local/lib/python2.7/site-packages/sklearn/metrics/classification.py:1082: DeprecationWarning: The default `weighted` averaging is deprecated, and from version 0.18, use of precision, recall or F-score with multiclass or multilabel data or pos_label=None will result in an exception. Please set an explicit value for `average`, one of (None, 'micro', 'macro', 'weighted', 'samples'). In cross validation use, for instance, scoring="f1_weighted" instead of scoring="f1".
  sample_weight=sample_weight)
 0.930416613529

Tuy nhiên, tôi nhận được cảnh báo như thế này:

/usr/local/lib/python2.7/site-packages/sklearn/metrics/classification.py:1172:
DeprecationWarning: The default `weighted` averaging is deprecated,
and from version 0.18, use of precision, recall or F-score with 
multiclass or multilabel data or pos_label=None will result in an 
exception. Please set an explicit value for `average`, one of (None, 
'micro', 'macro', 'weighted', 'samples'). In cross validation use, for 
instance, scoring="f1_weighted" instead of scoring="f1"

Làm cách nào để xử lý chính xác dữ liệu không cân bằng của tôi để tính toán theo đúng cách các chỉ số của trình phân loại?


Vậy tại sao không thêm averagetham số trong trường hợp thứ ba?
yangjie,

1
@yangjie Tôi không biết. Tôi chỉ kiểm tra tài liệu nhưng tôi không hiểu cách sử dụng chính xác các chỉ số cho dữ liệu không cân bằng. Bạn có thể cung cấp một số giải thích rộng hơn và một ví dụ? Cảm ơn!
new_with_python

Câu trả lời:


164

Tôi nghĩ rằng có nhiều sự nhầm lẫn về việc trọng lượng nào được sử dụng để làm gì. Tôi không chắc mình biết chính xác điều gì làm phiền bạn nên tôi sẽ đề cập đến các chủ đề khác nhau, hãy chịu khó;).

Trọng lượng hạng

Các trọng số từ class_weighttham số được sử dụng để huấn luyện bộ phân loại . Chúng không được sử dụng để tính toán bất kỳ số liệu nào mà bạn đang sử dụng : với các trọng số lớp khác nhau, các con số sẽ khác nhau chỉ đơn giản vì bộ phân loại khác nhau.

Về cơ bản trong mọi bộ phân loại scikit-learning, trọng số các lớp được sử dụng để cho mô hình của bạn biết mức độ quan trọng của một lớp. Điều đó có nghĩa là trong quá trình đào tạo, người phân loại sẽ nỗ lực hơn nữa để phân loại đúng các lớp có trọng lượng cao.
Cách họ làm điều đó là theo thuật toán cụ thể. Nếu bạn muốn biết chi tiết về cách nó hoạt động cho SVC và tài liệu không có ý nghĩa đối với bạn, hãy đề cập đến nó.

Các chỉ số

Khi bạn có bộ phân loại, bạn muốn biết nó hoạt động tốt như thế nào. Ở đây bạn có thể sử dụng các số liệu mà bạn đề cập: accuracy, recall_score, f1_score...

Thông thường khi phân bố lớp không cân bằng, độ chính xác được coi là một lựa chọn kém vì nó mang lại điểm số cao cho các mô hình chỉ dự đoán lớp thường xuyên nhất.

Tôi sẽ không nêu chi tiết tất cả các số liệu này nhưng lưu ý rằng, ngoại trừ accuracychúng, chúng được áp dụng tự nhiên ở cấp lớp: như bạn có thể thấy trong printbáo cáo phân loại này, chúng được xác định cho từng lớp. Họ dựa vào các khái niệm như true positiveshoặc false negativeyêu cầu xác định lớp nào là lớp tích cực .

             precision    recall  f1-score   support

          0       0.65      1.00      0.79        17
          1       0.57      0.75      0.65        16
          2       0.33      0.06      0.10        17
avg / total       0.52      0.60      0.51        50

Cảnh báo

F1 score:/usr/local/lib/python2.7/site-packages/sklearn/metrics/classification.py:676: DeprecationWarning: The 
default `weighted` averaging is deprecated, and from version 0.18, 
use of precision, recall or F-score with multiclass or multilabel data  
or pos_label=None will result in an exception. Please set an explicit 
value for `average`, one of (None, 'micro', 'macro', 'weighted', 
'samples'). In cross validation use, for instance, 
scoring="f1_weighted" instead of scoring="f1".

Bạn nhận được cảnh báo này vì bạn đang sử dụng điểm số f1, độ thu hồi và độ chính xác mà không xác định cách tính chúng! Câu hỏi có thể được diễn đạt lại: từ báo cáo phân loại ở trên, làm cách nào để bạn xuất ra một số toàn cục cho điểm f1? Bạn có thể:

  1. Lấy trung bình của điểm f1 cho mỗi lớp: đó là avg / totalkết quả ở trên. Nó còn được gọi là trung bình macro .
  2. Tính toán điểm số f1 bằng cách sử dụng tổng số âm tính đúng / âm tính sai toàn cầu, v.v. (bạn tính tổng số dương tính đúng / âm tính sai cho mỗi lớp). Aka vi tính trung bình.
  3. Tính giá trị trung bình có trọng số của điểm f1. Sử dụng 'weighted'trong scikit-learning sẽ cân nhắc điểm f1 bởi sự hỗ trợ của lớp: lớp càng có nhiều phần tử, điểm f1 của lớp này trong tính toán càng quan trọng.

Đây là 3 trong số các tùy chọn trong scikit-learning, có cảnh báo là bạn phải chọn một . Vì vậy, bạn phải chỉ định một averageđối số cho phương pháp điểm số.

Cái nào bạn chọn là tùy thuộc vào cách bạn muốn đo lường hiệu suất của bộ phân loại: ví dụ: lấy trung bình vĩ mô không tính đến sự mất cân bằng của lớp và điểm f1 của lớp 1 cũng quan trọng như điểm f1 của lớp 5. Tuy nhiên, nếu bạn sử dụng trung bình có trọng số, bạn sẽ có tầm quan trọng hơn đối với lớp 5.

Toàn bộ đặc tả đối số trong các số liệu này không quá rõ ràng trong scikit-learning ngay bây giờ, nó sẽ trở nên tốt hơn trong phiên bản 0.18 theo tài liệu. Họ đang xóa một số hành vi tiêu chuẩn không rõ ràng và họ đang đưa ra cảnh báo để các nhà phát triển nhận thấy điều đó.

Tính toán điểm số

Điều cuối cùng tôi muốn đề cập (vui lòng bỏ qua nếu bạn biết) là điểm số chỉ có ý nghĩa nếu chúng được tính toán trên dữ liệu mà bộ phân loại chưa từng thấy . Điều này cực kỳ quan trọng vì bất kỳ điểm nào bạn nhận được trên dữ liệu được sử dụng để điều chỉnh bộ phân loại là hoàn toàn không liên quan.

Đây là một cách để làm điều đó bằng cách sử dụng StratifiedShuffleSplit, cung cấp cho bạn một phần dữ liệu ngẫu nhiên (sau khi xáo trộn) để bảo toàn phân phối nhãn.

from sklearn.datasets import make_classification
from sklearn.cross_validation import StratifiedShuffleSplit
from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score, classification_report, confusion_matrix

# We use a utility to generate artificial classification data.
X, y = make_classification(n_samples=100, n_informative=10, n_classes=3)
sss = StratifiedShuffleSplit(y, n_iter=1, test_size=0.5, random_state=0)
for train_idx, test_idx in sss:
    X_train, X_test, y_train, y_test = X[train_idx], X[test_idx], y[train_idx], y[test_idx]
    svc.fit(X_train, y_train)
    y_pred = svc.predict(X_test)
    print(f1_score(y_test, y_pred, average="macro"))
    print(precision_score(y_test, y_pred, average="macro"))
    print(recall_score(y_test, y_pred, average="macro"))    

Hi vọng điêu nay co ich.


Đối với một đa thủy tinh, làm thế nào để bạn chỉ định trọng lượng lớp? Ví dụ, một class_weight={1:10}dữ liệu có 3 lớp nghĩa là gì?
Aziz Javed

Có cách nào để có được điểm số chính xác khôn ngoan của nhãn không?
Ankur Sinha

Bạn có thể giải thích cách thức hoạt động của vi mô rõ ràng hơn. Ngoài ra, bạn không đề cập đến bất cứ điều gì về nhị phân
khiêm tốn

Đối với tôi, xáo trộn phân tầng đang tạo ra vấn đề vì vậy tôi đã chuyển trở lại phân tách thử nghiệm đào tạo như nó đang hiển thị ValueError: The least populated class in y has only 1 member, which is too few. The minimum number of labels for any class cannot be less than 2.. Nó đang hoạt động tốt với phân tách thử nghiệm đào tạo nhưng bất cứ ai có thể giúp tôi tại sao tôi gặp lỗi này với SSS? Cảm ơn.
Akash Kandpal

HI, tôi đã kiểm tra mã của bạn nhưng tôi gặp lỗi này thông báo C: \ Users \\ Anaconda3 \ lib \ site-package \ sklearn \ metrics \ phân loại.py: 976: Ngưng sử dụng Cảnh báo: Từ phiên bản 0.18, đầu vào nhị phân sẽ không được xử lý đặc biệt khi sử dụng độ chính xác trung bình / thu hồi / điểm F. Vui lòng sử dụng Average = 'binary' để chỉ báo cáo hiệu suất tích cực của lớp. 'hiệu suất lớp học tích cực.', DeprecationWarning)
Chedi Bechikh,

73

Rất nhiều câu trả lời rất chi tiết ở đây nhưng tôi không nghĩ rằng bạn đang trả lời đúng câu hỏi. Khi tôi hiểu câu hỏi, có hai mối quan tâm:

  1. Làm cách nào để chấm điểm một bài toán nhiều lớp?
  2. Làm cách nào để đối phó với dữ liệu không cân bằng?

1.

Bạn có thể sử dụng hầu hết các hàm tính điểm trong scikit-learning với cả bài toán đa lớp như với các bài toán lớp đơn. Ví dụ.:

from sklearn.metrics import precision_recall_fscore_support as score

predicted = [1,2,3,4,5,1,2,1,1,4,5] 
y_test = [1,2,3,4,5,1,2,1,1,4,1]

precision, recall, fscore, support = score(y_test, predicted)

print('precision: {}'.format(precision))
print('recall: {}'.format(recall))
print('fscore: {}'.format(fscore))
print('support: {}'.format(support))

Bằng cách này, bạn sẽ có những con số hữu hình và có thể giải thích được cho mỗi lớp.

| Label | Precision | Recall | FScore | Support |
|-------|-----------|--------|--------|---------|
| 1     | 94%       | 83%    | 0.88   | 204     |
| 2     | 71%       | 50%    | 0.54   | 127     |
| ...   | ...       | ...    | ...    | ...     |
| 4     | 80%       | 98%    | 0.89   | 838     |
| 5     | 93%       | 81%    | 0.91   | 1190    |

Sau đó...

2.

... bạn có thể biết liệu dữ liệu không cân bằng có phải là một vấn đề hay không. Nếu điểm cho các lớp ít đại diện hơn (lớp 1 và 2) thấp hơn cho các lớp có nhiều mẫu đào tạo hơn (lớp 4 và 5) thì bạn biết rằng dữ liệu không cân bằng trên thực tế là một vấn đề và bạn có thể hành động theo đó, như được mô tả trong một số câu trả lời khác trong chủ đề này. Tuy nhiên, nếu cùng một phân phối lớp có trong dữ liệu bạn muốn dự đoán, thì dữ liệu huấn luyện không cân bằng của bạn là một đại diện tốt cho dữ liệu và do đó, sự không cân bằng là một điều tốt.


1
Bài viết tuyệt vời và nói tốt. Cảm ơn bạn
Alvis

1
Này chỉ là một câu hỏi tiếp theo: bạn đã in nhãn bằng cách precision_recall_fscore_supportnào? Các nhãn có được in theo đơn đặt hàng không?
BigD

@BigD Vâng, hãy xem scikit-learn.org/stable/modules/generated/… ở cuối trang. Đặt average=Nonevà xác định các nhãn, sau đó bạn nhận được số liệu bạn đang tìm kiếm, cho từng nhãn được chỉ định của bạn.
wonderkid2

Có cách nào để có được điểm số chính xác khôn ngoan của nhãn không?
Ankur Sinha

@trollster Tôi không rõ ý bạn? Không phải những gì tôi hiển thị trong điểm chính xác của câu trả lời hay sao?
wonderkid2

16

Câu hỏi đặt ra

Trả lời câu hỏi 'nên sử dụng số liệu nào để phân loại nhiều lớp với dữ liệu không cân bằng': Macro-F1-Measure. Macro Precision và Macro Recall cũng có thể được sử dụng, nhưng chúng không dễ diễn giải như đối với phân loại nhị phân, chúng đã được tích hợp vào F-Measure và các chỉ số dư thừa sẽ làm phức tạp các phương pháp so sánh, điều chỉnh tham số, v.v.

Tính trung bình vi mô nhạy cảm với sự mất cân bằng lớp: ví dụ: nếu phương pháp của bạn hoạt động tốt cho các nhãn phổ biến nhất và hoàn toàn gây nhầm lẫn cho các nhãn khác, thì số liệu trung bình vi mô sẽ hiển thị kết quả tốt.

Tính trung bình trọng số không phù hợp với dữ liệu không cân bằng, vì nó tính trọng số theo số lượng nhãn. Hơn nữa, nó quá khó diễn giải và không phổ biến: ví dụ: không có đề cập đến mức trung bình như vậy trong cuộc khảo sát rất chi tiết sau đây mà tôi thực sự khuyên bạn nên xem qua:

Sokolova, Marina và Guy Lapalme. "Một phân tích có hệ thống về các thước đo hiệu suất cho các nhiệm vụ phân loại." Xử lý & Quản lý Thông tin 45.4 (2009): 427-437.

Câu hỏi dành riêng cho ứng dụng

Tuy nhiên, trở lại với nhiệm vụ của bạn, tôi sẽ nghiên cứu 2 chủ đề:

  1. các chỉ số thường được sử dụng cho nhiệm vụ cụ thể của bạn - nó cho phép (a) so sánh phương pháp của bạn với những người khác và hiểu liệu bạn có làm sai điều gì không và (b) để không tự khám phá điều này và sử dụng lại phát hiện của người khác;
  2. chi phí cho các lỗi khác nhau của các phương pháp của bạn - ví dụ: trường hợp sử dụng của ứng dụng của bạn có thể chỉ dựa trên các bài đánh giá 4 và 5 sao - trong trường hợp này, chỉ số tốt sẽ chỉ tính 2 nhãn này.

Các số liệu thường được sử dụng. Như tôi có thể suy luận sau khi xem qua tài liệu, có 2 thước đo đánh giá chính:

  1. Độ chính xác , được sử dụng, ví dụ: trong

Yu, April và Daryl Chang. "Dự đoán tình cảm đa lớp sử dụng Yelp Business."

( liên kết ) - lưu ý rằng các tác giả làm việc với sự phân bổ xếp hạng gần như giống nhau, xem Hình 5.

Pang, Bo và Lillian Lee. "Nhìn thấy các ngôi sao: Khai thác các mối quan hệ giai cấp để phân loại tình cảm theo thang điểm xếp hạng." Kỷ yếu Hội nghị thường niên lần thứ 43 về Hiệp hội Ngôn ngữ học Tính toán. Hiệp hội Ngôn ngữ học Tính toán, 2005.

( liên kết )

  1. MSE (hoặc ít thường xuyên hơn, Lỗi tuyệt đối trung bình - MAE ) - ví dụ:

Lee, Moontae và R. Grafe. "Phân tích tình cảm đa loại với các đánh giá về nhà hàng." Dự án cuối cùng từ CS N 224 (2010).

( liên kết ) - họ khám phá cả độ chính xác và MSE, coi cái sau là tốt hơn

Pappas, Nikolaos, Rue Marconi và Andrei Popescu-Belis. "Giải thích các vì sao: Học nhiều trường hợp có trọng số để phân tích tình cảm dựa trên khía cạnh." Kỷ yếu năm 2014 về các phương pháp thực nghiệm trong xử lý ngôn ngữ tự nhiên. Số EPFL-CONF-200899. 2014.

( liên kết ) - họ sử dụng scikit-learning để đánh giá và các phương pháp tiếp cận cơ sở và tuyên bố rằng mã của họ có sẵn; tuy nhiên, tôi không tìm thấy nó, vì vậy nếu bạn cần nó, hãy viết một bức thư cho các tác giả, tác phẩm khá mới và dường như được viết bằng Python.

Chi phí của các lỗi khác nhau . Nếu bạn quan tâm hơn đến việc tránh những sai lầm thô thiển, chẳng hạn như đánh giá từ 1 sao đến 5 sao hoặc những thứ tương tự, hãy xem MSE; nếu sự khác biệt quan trọng, nhưng không quá nhiều, hãy thử MAE, vì nó không bình phương khác biệt; nếu không thì hãy ở lại với Độ chính xác.

Giới thiệu về phương pháp tiếp cận, không phải chỉ số

Hãy thử các cách tiếp cận hồi quy, ví dụ SVR , vì chúng thường hoạt động tốt hơn các bộ phân loại Đa kính như SVC hoặc OVA SVM.


13

Trước hết, khó hơn một chút khi chỉ sử dụng phân tích đếm để biết liệu dữ liệu của bạn có bị mất cân bằng hay không. Ví dụ: 1 trong 1000 quan sát tích cực chỉ là tiếng ồn, lỗi hay một bước đột phá trong khoa học? Bạn không bao giờ biết.
Vì vậy, tốt hơn hết là hãy sử dụng tất cả kiến ​​thức sẵn có của bạn và lựa chọn trạng thái của nó một cách khôn ngoan.

Được rồi, nếu nó thực sự không cân bằng thì sao?
Một lần nữa - hãy xem dữ liệu của bạn. Đôi khi bạn có thể tìm thấy một hoặc hai quan sát nhân với hàng trăm lần. Đôi khi, việc tạo các quan sát giả một lớp này rất hữu ích.
Nếu tất cả dữ liệu đều sạch, bước tiếp theo là sử dụng trọng số lớp trong mô hình dự đoán.

Vậy còn các số liệu đa kính thì sao?
Theo kinh nghiệm của tôi, không có số liệu nào của bạn thường được sử dụng. Có hai lý do chính.
Thứ nhất: làm việc với xác suất luôn tốt hơn so với dự đoán chắc chắn (vì làm thế nào khác bạn có thể tách các mô hình với dự đoán 0,9 và 0,6 nếu cả hai đều cung cấp cho bạn cùng một loại?)
Và thứ hai: việc so sánh các mô hình dự đoán của bạn và xây dựng mới dễ dàng hơn nhiều chỉ phụ thuộc vào một số liệu tốt.
Từ kinh nghiệm của tôi, tôi có thể đề xuất logloss hoặc MSE (hoặc chỉ có nghĩa là lỗi bình phương).

Làm thế nào để khắc phục cảnh báo sklearn?
Chỉ đơn giản (như yangjie đã nhận thấy) ghi đè averagetham số bằng một trong các giá trị sau: 'micro'(tính toán số liệu trên toàn cầu), 'macro'(tính toán số liệu cho từng nhãn) hoặc 'weighted'(giống như macro nhưng có trọng số tự động).

f1_score(y_test, prediction, average='weighted')

Tất cả Cảnh báo của bạn được đưa ra sau khi gọi các hàm số liệu với averagegiá trị mặc định 'binary'không phù hợp với dự đoán đa kính.
Chúc may mắn và vui vẻ với học máy!

Chỉnh sửa:
Tôi đã tìm thấy một đề xuất khác dành cho người trả lời để chuyển sang các phương pháp hồi quy (ví dụ: SVR) mà tôi không thể đồng ý. Theo như tôi nhớ, thậm chí không có cái gì gọi là hồi quy đa thủy tinh. Có, có hồi quy đa nhãn khác xa và có, trong một số trường hợp có thể chuyển đổi giữa hồi quy và phân loại (nếu các lớp được sắp xếp theo cách nào đó) nhưng nó khá hiếm.

Những gì tôi muốn giới thiệu (trong phạm vi scikit-learning) là thử một công cụ phân loại rất mạnh khác: tăng độ dốc , rừng ngẫu nhiên (yêu thích của tôi), KNeighbors và nhiều công cụ khác.

Sau đó, bạn có thể tính toán trung bình cộng hoặc hình học giữa các dự đoán và hầu hết thời gian bạn sẽ nhận được kết quả tốt hơn.

final_prediction = (KNNprediction * RFprediction) ** 0.5

1
> "chuyển đổi giữa hồi quy và phân loại (nếu các lớp được sắp xếp theo cách nào đó) nhưng nó khá hiếm" Đó là trường hợp: 5> 4> 3> 2> 1. Tôi khuyên bạn nên xem các giấy tờ cho nhiệm vụ này - có nhiều cách tiếp cận hồi quy và phân loại cho nhiệm vụ (đôi khi trong cùng một tác phẩm).
Nikita Astrakhantsev

Sau đó, nó thậm chí không phải là một phân loại đa lớp mà là một hồi quy đơn giản.
Vlad Mironov

Đúng, trong nội bộ, hoặc theo quan điểm ML, nó là một hồi quy, nhưng ở bước cuối cùng, chúng tôi chuyển đổi kết quả hồi quy thành nhãn, vì vậy nó là một phân loại đa lớp - từ người dùng hoặc ứng dụng, theo quan điểm.
Nikita Astrakhantsev
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.