fetch_20newsgroups_vectorized#

sklearn.datasets.fetch_20newsgroups_vectorized(*, subset='train', remove=(), data_home=None, download_if_missing=True, return_X_y=False, normalize=True, as_frame=False, n_retries=3, delay=1.0)[來源]#

載入並向量化 20 個新聞群組資料集 (分類)。

如有需要,請下載。

這是一個方便的函數;轉換是使用 CountVectorizer 的預設設定完成的。如需更進階的使用方式 (停用詞篩選、n-gram 提取等),請將 fetch_20newsgroups 與自訂 CountVectorizerHashingVectorizerTfidfTransformerTfidfVectorizer 結合使用。

除非將 normalize 設定為 False,否則會使用 sklearn.preprocessing.normalize 正規化產生的計數。

類別

20

樣本總數

18846

維度

130107

特徵

實數

請在 使用者指南 中閱讀更多內容。

參數:
subset{‘train’, ‘test’, ‘all’}, 預設值=’train’

選取要載入的資料集:「train」代表訓練集,「test」代表測試集,「all」代表兩者,且順序會隨機調整。

removetuple,預設值=()

可能包含 (‘headers’、‘footers’、‘quotes’) 的任何子集。這些都是將從新聞群組貼文中偵測和移除的文字類型,以防止分類器過度擬合中繼資料。

‘headers’ 會移除新聞群組標頭,‘footers’ 會移除貼文結尾看起來像簽名的區塊,而 ‘quotes’ 會移除看起來像在引用其他貼文的行。

data_homestr 或路徑類,預設值=None

指定資料集的下載和快取資料夾。如果為 None,所有 scikit-learn 資料都會儲存在 ‘~/scikit_learn_data’ 子資料夾中。

download_if_missingbool,預設值=True

如果為 False,則當資料在本機上不可用時,會引發 OSError,而不是嘗試從來源網站下載資料。

return_X_ybool,預設值=False

如果為 True,則會傳回 (data.data, data.target) 而不是 Bunch 物件。

在 0.20 版中新增。

normalizebool,預設值=True

如果為 True,則會使用 sklearn.preprocessing.normalize 將每個文件的特徵向量正規化為單位範數。

在 0.22 版中新增。

as_framebool,預設值=False

如果為 True,則資料會是 pandas DataFrame,其中包含具有適當資料類型 (數值、字串或類別) 的欄位。目標會是 pandas DataFrame 或 Series,取決於 target_columns 的數量。

在 0.24 版中新增。

n_retriesint,預設值=3

遇到 HTTP 錯誤時的重試次數。

在 1.5 版中新增。

delayfloat,預設值=1.0

重試之間的秒數。

在 1.5 版中新增。

傳回:
bunchBunch

類似字典的物件,具有下列屬性。

data: 形狀為 (n_samples, n_features) 的 {稀疏矩陣、資料框}

輸入資料矩陣。如果 as_frameTrue,則 data 會是具有稀疏欄的 pandas DataFrame。

target: 形狀為 (n_samples,) 的 {ndarray, series}

目標標籤。如果 as_frameTrue,則 target 會是 pandas Series。

target_names: 形狀為 (n_classes,) 的清單

目標類別的名稱。

DESCR: str

資料集的完整描述。

frame: 形狀為 (n_samples, n_features + 1) 的資料框

只有在 as_frame=True 時才會存在。具有 datatarget 的 pandas DataFrame。

在 0.24 版中新增。

(data, target)如果 return_X_y 為 True,則為 tuple

datatarget 會採用上述 Bunch 描述中定義的格式。

在 0.20 版中新增。

範例

>>> from sklearn.datasets import fetch_20newsgroups_vectorized
>>> newsgroups_vectorized = fetch_20newsgroups_vectorized(subset='test')
>>> newsgroups_vectorized.data.shape
(7532, 130107)
>>> newsgroups_vectorized.target.shape
(7532,)