摘要:隨著時(shí)代的到來及物聯(lián)網(wǎng)概念的日益受到人們的關(guān)注,機(jī)器學(xué)習(xí)正逐步應(yīng)用于科技生活生產(chǎn)各個(gè)領(lǐng)域。今天我們就為介紹機(jī)器學(xué)習(xí)中常用到的一個(gè)第三庫,它是屬于的第三方庫,今天的講解也是基于來進(jìn)行講解的。
隨著AI時(shí)代的到來及物聯(lián)網(wǎng)概念的日益受到人們的關(guān)注,機(jī)器學(xué)習(xí)正逐步應(yīng)用于科技、生活生產(chǎn)各個(gè)領(lǐng)域。今天我們就為介紹機(jī)器學(xué)習(xí)中常用到的一個(gè)第三庫Sklearn,它是屬于python的第三方庫,今天的講解也是基于python-IDE來進(jìn)行講解的。
使用sklearn的準(zhǔn)備工作:安裝python3.6.*
安裝python開發(fā)的IDE環(huán)境
首先應(yīng)該安裝sklearn所需依賴的第三庫,包括scipy、numpy、matplotlib、pandas,安裝以上四個(gè)庫以后最后安裝sklearn
機(jī)器學(xué)習(xí)的六個(gè)主要步驟:首先應(yīng)該加載訓(xùn)練模型所用的數(shù)據(jù)集
采用合適的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試
選取合適或者創(chuàng)建合適的訓(xùn)練模型
將訓(xùn)練集中的數(shù)據(jù)輸入到模型中進(jìn)行訓(xùn)練
通過第四步的訓(xùn)練大致確定模型所用的合理參數(shù)
將測(cè)試集中的數(shù)據(jù)輸入到模型中,根據(jù)模型得到的結(jié)果和真實(shí)的結(jié)果進(jìn)行比較再次調(diào)整參數(shù)
Sklearn基礎(chǔ)知識(shí)概覽:1. 加載sklearn中的數(shù)據(jù)集datasets
from sklearn import datasets iris = datasets.load_iris() # 鳶尾花卉數(shù)據(jù) digits = datasets.load_digits() # 手寫數(shù)字8x8像素信息數(shù)據(jù)
2. 查看數(shù)據(jù)的信息
print(iris.data[:4]) # 查看數(shù)據(jù)的特征信息
print iris.data.shape) # 查看數(shù)據(jù)的特征信息維度
print(iris.target_names)# 查看標(biāo)簽對(duì)應(yīng)的文本
print (iris.target[:4] )# 查看數(shù)據(jù)的標(biāo)簽 setosa:0 ...
3. 訓(xùn)練集和分割集的分割
from sklearn.model_selection import train_test_split X = digits.data # 特征矩陣 y = digits.target # 標(biāo)簽向量 # 隨機(jī)分割訓(xùn)練集和測(cè)試集: # test_size:設(shè)置測(cè)試集的比例。random_state:可理解為種子,保證隨機(jī)唯一 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3., random_state=8)sklearn實(shí)戰(zhàn)例子:
from sklearn import datasets from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split iris = datasets.load_iris() X = iris.data y = iris.target # 新建一個(gè)模型(參數(shù)默認(rèn)) iris_model = LinearRegression() # 分割訓(xùn)練集、測(cè)試集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3., random_state=7) # 訓(xùn)練該模型 iris_model.fit(X_train,y_train) # 返回模型參數(shù)列表 print(iris_model.get_params()) # 模型在訓(xùn)練集上的評(píng)分 print(iris_model.score(X_train, y_train)) # 模型在測(cè)試集上的評(píng)分 print(iris_model.score(X_test, y_test)) # 使用模型進(jìn)行預(yù)測(cè) y_pred = iris_model.predict(X_test) print("預(yù)測(cè)標(biāo)簽:", y_pred[:3]) print("真實(shí)標(biāo)簽:", y_test[:3]) # 使用pickle保存模型 import cPickle as pickle with open("LR_model.pkl", "w") as f: pickle.dump(iris_model, f) # 重新加載模型進(jìn)行預(yù)測(cè) with open("LR_model.pkl", "r") as f: model = pickle.load(f) # 使用模型進(jìn)行預(yù)測(cè) model.predict(X_test)[:3]運(yùn)行成功結(jié)果截圖:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/44618.html