sklearn数据集与估计器
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sklearn數(shù)據(jù)集與估計(jì)器
1 sklearn數(shù)據(jù)集
(1)數(shù)據(jù)來源:大多數(shù)以文件的形式? (csv文件..), 因?yàn)閙ysql有性能瓶頸、讀取速度遭到限制,數(shù)據(jù)大的時(shí)候很費(fèi)時(shí)間
(2)讀取數(shù)據(jù)的工具:Python中很強(qiáng)大的模塊?pandas:讀取工具、numpy(數(shù)據(jù)計(jì)算模塊,計(jì)算速度非常快,因?yàn)獒尫帕薖ython中的GIL)
(3)可用數(shù)據(jù)集:
①Kaggle網(wǎng)址:https://www.kaggle.com/datasets
? ? ? ? ? ?Kaggle特點(diǎn):大數(shù)據(jù)競(jìng)賽平臺(tái);80萬科學(xué)家;真實(shí)數(shù)據(jù);數(shù)據(jù)量巨大
②UCI數(shù)據(jù)集網(wǎng)址: http://archive.ics.uci.edu/ml/
? ? ? ? ? ?UCI特點(diǎn):收錄了360個(gè)數(shù)據(jù)集;覆蓋科學(xué)、生活、經(jīng)濟(jì)等領(lǐng)域?;數(shù)據(jù)量幾十萬
③scikit-learn網(wǎng)址:http://scikit-learn.org/stable/datasets/index.html#datasets
? ? ? ? ? ?scikit-learn特點(diǎn):1數(shù)據(jù)量較小?;方便學(xué)習(xí)
(4)數(shù)據(jù)集的結(jié)構(gòu)
機(jī)器學(xué)習(xí)中數(shù)據(jù)集的結(jié)構(gòu):特征值+目標(biāo)值
特征值:就是DataFrame(他的特點(diǎn)是有行索引和列索引)中的列索引
目標(biāo)值:很據(jù)特征值得到的結(jié)果值,就為目標(biāo)值,就是想要做的事情的目的的分類
樣本:每一行數(shù)據(jù)可以作為一個(gè)樣本
2?sklearn.datasets
機(jī)器學(xué)習(xí)一般的數(shù)據(jù)集會(huì)劃分為兩個(gè)部分:
訓(xùn)練數(shù)據(jù):用于訓(xùn)練,構(gòu)建模型
測(cè)試數(shù)據(jù):在模型檢驗(yàn)時(shí)使用,用于評(píng)估模型是否有效
一般在進(jìn)行模型的測(cè)試時(shí),我們會(huì)將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集。在給定的樣本空間中,拿出大部分樣本作為訓(xùn)練集來訓(xùn)練模型,剩余的小部分樣本使用剛建立的模型進(jìn)行預(yù)測(cè)。
sklearn數(shù)據(jù)集劃分API:sklearn.model_selection.train_test_split
sklearn.datasets 加載獲取流行數(shù)據(jù)集
datasets.load_*() 獲取小規(guī)模數(shù)據(jù)集,數(shù)據(jù)包含在datasets里
datasets.fetch_*(data_home=None) 獲取大規(guī)模數(shù)據(jù)集,需要從網(wǎng)絡(luò)上下載,函數(shù)的第一個(gè)參數(shù)是data_home,表示數(shù)據(jù)集 ?? ?下載的目錄
datasets.make_*()本地生成數(shù)據(jù)集
datasets.get_data_home()獲取數(shù)據(jù)集目錄,這個(gè)文件夾被一些大的數(shù)據(jù)集裝載器使用,以避免下載數(shù)據(jù)。默認(rèn)情況下,數(shù)據(jù)目錄設(shè)置為用戶主文件夾中名為“scikit_learn_data”的文件夾。或者,可以通過“SCIKIT_LEARN_DATA”環(huán)境變量或通過給出顯式的文件夾路徑以編程方式設(shè)置它。
clear_data_home(data_home=None)刪除所有下載數(shù)據(jù)
load*和fetch*返回的數(shù)據(jù)類型datasets.base.Bunch(字典格式)如下:
| data | 特征數(shù)據(jù)數(shù)組,是 [n_samples * n_features] 的二維numpy.ndarray 數(shù)組 |
| target | 標(biāo)簽數(shù)組,是 n_samples 的一維 numpy.ndarray 數(shù)組 |
| DESCR | 數(shù)據(jù)描述 |
| feature_names | 特征名,新聞數(shù)據(jù),手寫數(shù)字、回歸數(shù)據(jù)集沒有 |
| target_names | 標(biāo)簽名,回歸數(shù)據(jù)集沒有 |
?
2.1 獲取小數(shù)據(jù)集
(1)分類數(shù)據(jù)集
①sklearn.datasets.load_iris():加載并返回鳶尾花數(shù)據(jù)集
| 名稱 | 數(shù)量 |
| 類別 | 3 |
| 特征 | 4 |
| 樣本數(shù)量 | 150 |
| 每個(gè)類別數(shù)量 | 50 |
參數(shù):return_X_y: 如果為True,則返回而不是Bunch對(duì)象,默認(rèn)為False
返回值Bunch對(duì)象,如果return_X_y為True,那么返回tuple,(data,target)
| from sklearn.datasets import load_iris ld = load_iris() print(ld) |
②sklearn.datasets.load_digits():加載并返回?cái)?shù)字?jǐn)?shù)據(jù)集
| 名稱 | 數(shù)量 |
| 類別 | 10 |
| 特征 | 64 |
| 樣本數(shù)量 | 1797 |
(2)回歸數(shù)據(jù)集
①sklearn.datasets.load_boston():加載并返回波士頓房價(jià)數(shù)據(jù)集
| 名稱 | 數(shù)量 |
| 目標(biāo)類別 | 5-50 |
| 特征 | 13 |
| 樣本數(shù)量 | 506 |
②sklearn.datasets.load_diabetes() : 加載和返回糖尿病數(shù)據(jù)集
| 名稱 | 數(shù)量 |
| 目標(biāo)范圍 | 25-346 |
| 特征 | 10 |
| 樣本數(shù)量 | 442 |
2.2 獲取大數(shù)據(jù)集
sklearn.datasets.fetch_20newsgroups():加載20個(gè)新聞組數(shù)據(jù)集中的文件名和數(shù)據(jù)
| data_home | 默認(rèn)值:無,指定數(shù)據(jù)集的下載和緩存文件夾。如果沒有,所有scikit學(xué)習(xí)數(shù)據(jù)都存儲(chǔ)在'?/ scikit_learn_data'子文件夾中 |
| subset | 'train'或者'test','all',可選,選擇要加載的數(shù)據(jù)集:訓(xùn)練集的“訓(xùn)練”,測(cè)試集的“測(cè)試”,兩者的“全部”,具有洗牌順序 |
| categories | 無或字符串或Unicode的集合,如果沒有(默認(rèn)),加載所有類別。如果不是無,要加載的類別名稱列表(忽略其他類別) |
| shuffle | 是否對(duì)數(shù)據(jù)進(jìn)行洗牌 |
| random_state | numpy隨機(jī)數(shù)生成器或種子整數(shù) |
| remove | 元組 |
| download_if_missing | 默認(rèn)為True,如果False,如果數(shù)據(jù)不在本地可用而不是嘗試從源站點(diǎn)下載數(shù)據(jù),則引發(fā)IOError |
sklearn.datasets.fetch_20newsgroups_vectorized():加載20個(gè)新聞組數(shù)據(jù)集并將其轉(zhuǎn)換為tf-idf向量
2.3 生成本地?cái)?shù)據(jù)
sklearn.datasets.make_classification():生成本地分類數(shù)據(jù)
| n_samples:int | (default = 100),樣本數(shù)量 |
| n_features | (默認(rèn)= 20),特征總數(shù) |
| n_classes | 類(或標(biāo)簽)的分類問題的數(shù)量 |
| random_state | RandomState實(shí)例或無,可選(默認(rèn)=無) |
sklearn.datasets.make_regression():生成本地回歸數(shù)據(jù)
3 估計(jì)器
在sklearn中,估計(jì)器(estimator)是一個(gè)重要的角色,分類器和回歸器都屬于estimator,是一類實(shí)現(xiàn)了算法的API,是sklearn機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)。
在估計(jì)器中有有兩個(gè)重要的方法是fit和transform:①fit方法用于從訓(xùn)練集中學(xué)習(xí)模型參數(shù),②transform用學(xué)習(xí)到的參數(shù)轉(zhuǎn)換數(shù)據(jù)。
用于分類的估計(jì)器:
sklearn.neighbors?? ?k-近鄰算法
sklearn.naive_bayes ? ? ?貝葉
sklearn.linear_model.LogisticRegression ? ? 邏輯回歸
用于回歸的估計(jì)器:
sklearn.linear_model.LinearRegression ? ? 線性回歸
sklearn.linear_model.Ridge ? ? ?嶺回歸
總結(jié)
以上是生活随笔為你收集整理的sklearn数据集与估计器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 强制结束线程_在pytho
- 下一篇: postman怎么导出测试用例_利用Ch