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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器

發布時間:2024/9/27 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、sklearn數據集

1.1 數據集劃分

機器學習一般的數據集會劃分為兩個部分
訓練數據:用于訓練,構建模型
測試數據:在模型檢驗時使用,用來評估模型是否有效

1.1.1 sklearn數據集劃分API

sklearn.model_selection.train_test_split

功能

將數組或矩陣拆分為隨機的訓練子集和測試子集 。

輸入和輸出

輸入:

1、arrays: 具有相同長度的可索引序列,x-y的映射(sequence of indexables with same length / shape[0]2、test_size(optional):float,int,or None(default=None)A:如果為float,則應介于0.01.0之間,并表示要包含在測試拆分中的數據集的比例。B:如果是int,則表示測試樣本的絕對數量C:如果為None,則將該值設置為train_size的補碼。如果train_size也是None,則將其設置為0.253、train_size:float,int,or None,(default=None)A:如果為float,則應介于0.01.0之間,并表示要包含在列車拆分中的數據集的比例。B:如果是int,則表示測試集大小的絕對數量。C:如果為None,則該值自動設置為test_size 的補碼。4、random_state (optional) : int, RandomState instance or None, (default=None)A:如果是int,則random_state是隨機數生成器使用的種子。B:如果是RandomState instance,則random_state是隨機數生成器。C:如果為None,則隨機數生成器是由其使用的RandomState實例np.random。5、shuffle(optional):bool類型,(default=True)是否在拆分之前對數據打亂。如果shuffle = False,則stratify必須為None6、stratify : array-like or None (default=None)如果不是None,則數據以分層方式拆分,使用此作為類標簽。

輸出:

1、splitting : list類型, length=2 * len(arrays) 包含劃分好的訓練子集和測試子集的列表。

示例:

# -*- coding: UTF-8 -*-import numpy as np from sklearn.model_selection import train_test_split# train_test_split 字面含義是"訓練數據"和"測試數據"的切分""" X:當成特征值,為5行3列的值 y:當成目標值,為1行5列的一維數組 """ X, y = np.arange(15).reshape((5,3)), range(5) print(X) print(list(y)) """ 上面的運行結果為: [[ 0 1 2][ 3 4 5][ 6 7 8][ 9 10 11][12 13 14]] [0, 1, 2, 3, 4] """# 劃分訓練集合測試集(shuffle=default=True) #下面test_size=0.33表示測試集占33% X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.33,random_state=42)print("X_train特征值中的訓練集數據:") print(X_train)print("y_train 目標值中的訓練集數據:") print(y_train)print("X_test:測試集中的特征值:") print(X_test)print("y_test:測試集中的目標值:") print(y_test)# shuffle=False的劃分方式,為True的時候,表示將會打亂數據 print("y:") print(y) print("train_test_split(y,shuffle=False):") print(train_test_split(y,shuffle=False)) print("train_test_split(y,shuffle=True):") print(train_test_split(y,shuffle=True))

輸出結果:

[[ 0 1 2][ 3 4 5][ 6 7 8][ 9 10 11][12 13 14]] [0, 1, 2, 3, 4] X_train特征值中的訓練集數據: [[ 6 7 8][ 0 1 2][ 9 10 11]] y_train 目標值中的訓練集數據: [2, 0, 3] X_test:測試集中的特征值: [[ 3 4 5][12 13 14]] y_test:測試集中的目標值: [1, 4] y: range(0, 5) train_test_split(y,shuffle=False): [[0, 1, 2], [3, 4]] train_test_split(y,shuffle=True): [[0, 4, 3], [1, 2]]

1.2 sklearn數據集接口API介紹

sklearn.datasets1、加載獲取流行數據集2、datasets.load_*()獲取小規模數據集,數據包含在datasets里datasets.fetch_*(data_home=None)1、獲取大規模數據集,需要從網絡上下載,函數的第一個參數是data_home,表示數據集下載的目錄,默認是 ~/scikit_learn_data/

獲取數據集返回的類型:

load*和fetch*返回的數據類型datasets.base.Bunch(字典格式)1、data:特征數據數組,是 [n_samples * n_features] 的二維numpy.ndarray數組。2、target:標簽數組,是 n_samples 的一維 numpy.ndarray 數組3、DESCR:數據描述4、feature_names:特征名,新聞數據,手寫數字、回歸數據集沒有5、target_names:標簽名,回歸數據集沒有。

1.3 sklearn分類數據集

sklearn.datasets.load_iris()
加載并返回鳶尾花數據集

sklearn.datasets.load_digits()
加載并返回數字數據集

案例:

from sklearn.datasets import load_iris,fetch_20newsgroups,load_boston from sklearn.model_selection import train_test_splitli = load_iris() print("獲取特征值:") print(li.data) print("目標值:") print(li.target)#數據集的描述 # print(li.DESCR)#注意返回值, 訓練集 train x_train, y_train 測試集 test x_test, y_test x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25)print("訓練集里的特征值和目標值:", x_train, y_train) print("測試集里的特征值和目標值:", x_test,y_test)

輸出結果:

獲取特征值: [[5.1 3.5 1.4 0.2][4.9 3. 1.4 0.2][4.7 3.2 1.3 0.2]......[6.3 2.5 5. 1.9][6.5 3. 5.2 2. ][6.2 3.4 5.4 2.3][5.9 3. 5.1 1.8]] 目標值: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2] 訓練集里的特征值和目標值: [[5. 3.6 1.4 0.2][5.1 3.3 1.7 0.5][5.6 3. 4.5 1.5][5. 3.4 1.6 0.4][6. 2.7 5.1 1.6] ......[5. 2. 3.5 1. ][6.9 3.1 4.9 1.5][7.1 3. 5.9 2.1][6.7 3.1 4.7 1.5][4.6 3.4 1.4 0.3][6.3 2.7 4.9 1.8]] [0 0 1 0 1 2 1 0 1 0 2 2 1 2 2 0 0 2 0 2 0 0 1 2 0 0 0 1 1 1 2 0 0 2 0 2 21 0 0 2 2 0 0 1 1 2 1 2 2 1 1 0 2 0 1 2 1 2 0 2 1 2 1 2 0 0 1 2 0 1 1 2 10 1 1 2 1 2 2 2 0 0 1 2 2 0 1 1 1 0 2 2 1 1 0 1 0 1 0 0 0 0 2 2 1 1 2 1 02] 測試集里的特征值和目標值: [[5. 3.5 1.3 0.3][6.1 2.6 5.6 1.4][5.7 2.9 4.2 1.3][6.5 3. 5.2 2. ][5.2 3.4 1.4 0.2]......[6.7 3.3 5.7 2.1][5.2 4.1 1.5 0.1][6.7 2.5 5.8 1.8][7.3 2.9 6.3 1.8]] [0 2 1 2 0 1 1 1 2 0 2 2 0 1 0 2 2 0 1 0 1 1 0 0 2 2 0 1 0 1 1 1 2 1 2 0 2 2]

用于分類的大數據集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)1、subset: 'train'或者'test','all',可選,選擇要加載的數據集.訓練集的“訓練”,測試集的“測試”,兩者的“全部”datasets.clear_data_home(data_home=None)清除目錄下的數據

案例:

from sklearn.datasets import fetch_20newsgroups,load_boston from sklearn.model_selection import train_test_splitnews = fetch_20newsgroups(subset='all')print("-----------news.data:----------------") print(news.data) print("-----------news.target:--------------") print(news.target)

1.4 sklearn回歸數據集

sklearn.datasets.load_boston()
加載并返回波士頓房價數據集

sklearn.datasets.load_diabetes()
加載和返回糖尿病數據集

from sklearn.datasets import fetch_20newsgroups,load_boston from sklearn.model_selection import train_test_splitlb = load_boston() print("load_boston獲取特征值:") print(lb.data) print("load_boston目標值") print(lb.target) # print(lb.DESCR)

2、轉換器與預估器

想一下之前做的特征工程的步驟?
1、實例化 (實例化的是一個轉換器類(Transformer))
2、調用fit_transform(對于文檔建立分類詞頻矩陣,不能同時調用)

2.1、sklearn機器學習算法的實現–估計器

在sklearn中,估計器(estimator)是一個重要的角色,分類器和回歸器都屬于estimator,是一類實現了算法的API

1、用于分類的估計器:A:sklearn.neighbors K-近鄰算法B:sklearn.naive_bayes 貝葉斯C:sklearn.linear_model.LogisticRegression 邏輯回歸2、用于回歸的估計器:A:sklearn.linear_model.LinearRegression 線性回歸B:sklearn.linear_model.Ridge 嶺回歸

2.2、估計器的工作流程

總結

以上是生活随笔為你收集整理的08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器的全部內容,希望文章能夠幫你解決所遇到的問題。

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