日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python多标签分类_如何通过sklearn实现多标签分类?

發布時間:2025/3/15 python 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python多标签分类_如何通过sklearn实现多标签分类? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sklearn支持多類別(Multiclass)分類和多標簽(Multilabel)分類:多類別分類:超過兩個類別的分類任務。多類別分類假設每個樣本屬于且僅屬于一個標簽,類如一個水果可以是蘋果或者是桔子但是不能同時屬于兩者。

多標簽分類:給每個樣本分配一個或多個標簽。例如一個新聞可以既屬于體育類,也屬于文娛類。

sklearn的官方文檔給出了支持多標簽分類的類,包括如下:

以決策樹舉例,給出如下實現過程

數據準備

from sklearn.datasets import make_multilabel_classification

# Generate a random multilabel classification problem.

# For each sample, the generative process is:

# pick the number of labels: n ~ Poisson(n_labels)

# n times, choose a class c: c ~ Multinomial(theta)

# pick the document length: k ~ Poisson(length)

k times, choose a word: w ~ Multinomial(theta_c)

X, Y = datasets.make_multilabel_classification(n_samples=10, n_features=5, n_classes=3, n_labels=2)

生成的X和Y為如下形式的數據:

分類

from sklearn.model_selection import train_test_split

from sklearn.tree import DecisionTreeClassifier

# Split dataset to 8:2

X_train, X_test, Y_train ,Y_test = train_test_split(X, Y, test_size=0.2)

cls = DecisionTreeClassifier()

cls.fit(X_train, Y_train)

多標簽分類評估

from sklearn import metrics

Y_pred = cls.predict(X_test)

Y_test和Y_pred值如下:

metrics.f1_score(Y_test, Y_pred, average="macro")

# 0.666

metrics.f1_score(Y_test, Y_pred, average="micro")

# 0.8

metrics.f1_score(Y_test, Y_pred, average="weighted")

# 1.0

metrics.f1_score(Y_test, Y_pred, average="samples")

# 0.4

概率預測

Y_prob = cls.predict_proba(X_test)

X_test和Y_prob值如下:predict_proba(X)

X:array-like or sparse matrix of shape = [n_samples, n_features]

RETURN:array of shape = [n_samples, n_classes], or a list of n_outputs

總結

以上是生活随笔為你收集整理的python多标签分类_如何通过sklearn实现多标签分类?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。