欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn安裝與基本使用教程

 更新時(shí)間:2018年06月25日 09:40:25   作者:Eric Chan  
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn安裝與基本使用,較為詳細(xì)的介紹了機(jī)器學(xué)習(xí)庫(kù)scikit-learn的功能、原理、基本安裝與簡(jiǎn)單使用方法,需要的朋友可以參考下

本文實(shí)例講述了Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn安裝與基本使用。分享給大家供大家參考,具體如下:

引言

scikit-learn是Python的一個(gè)開源機(jī)器學(xué)習(xí)模塊,它建立在NumPySciPymatplotlib模塊之上能夠?yàn)橛脩籼峁└鞣N機(jī)器學(xué)習(xí)算法接口,可以讓用戶簡(jiǎn)單、高效地進(jìn)行數(shù)據(jù)挖掘和數(shù)據(jù)分析。

scikit-learn安裝

python 中安裝許多模板庫(kù)之前都有依賴關(guān)系,安裝 scikit-learn 之前需要以下先決條件:

Python(>= 2.6 or >= 3.3)
NumPy (>= 1.6.1)
SciPy (>= 0.9)

如無意外,下面用 pip 的安裝方法可以順利完成~~

安裝 numpy

sudo pip install numpy

安裝 scipy

需要先安裝 matplotlib ipython ipython-notebook pandas sympy

sudo apt-get install python-matplotlib ipython ipython-notebook
sudo apt-get install python-pandas python-sympy python-nose
sudo pip install scipy

安裝 scikit-learn

sudo pip install -U scikit-learn

測(cè)試

在 terminal 里面輸入

pip list

這個(gè)會(huì)列出 pip 安裝的所有東西,如果里面有 sklearn 這一項(xiàng),應(yīng)該就是大功告成了!

或者嘗試著將幾個(gè)模板庫(kù)導(dǎo)入進(jìn)來

import numpy
import scipy
import sklearn

加載數(shù)據(jù)(Data Loading)

本文所使用的數(shù)據(jù)集為‘今日頭條'近期兩篇熱門新聞“牛!川大學(xué)霸寢室5人獲16份名校通知書”、“張超凡的最后14天:山西15歲休學(xué)少年是如何殞命網(wǎng)吧的”分別500條評(píng)論,共1000條評(píng)論。

去除停用詞后得到了詞庫(kù)大小為3992的詞庫(kù)。因此構(gòu)建了1000×3992的特征矩陣,以及長(zhǎng)度為1000的對(duì)應(yīng)評(píng)論所屬類別列表

具體爬蟲和特征矩陣構(gòu)建代碼

class_result_save.npy 下載 feature_matrix_save.npy下載

import numpy as np
feature_matrix = np.load('dataSet/feature_matrix_save.npy')
class_list = np.load('dataSet/class_result_save.npy')

數(shù)據(jù)歸一化(Data Normalization)

大多數(shù)機(jī)器學(xué)習(xí)算法中的梯度方法對(duì)于數(shù)據(jù)的縮放和尺度都是很敏感的,在開始跑算法之前,我們應(yīng)該進(jìn)行歸一化或者標(biāo)準(zhǔn)化的過程,這使得特征數(shù)據(jù)縮放到0-1范圍中。scikit-learn提供了歸一化的方法:

from sklearn import preprocessing
# 歸一化(Normalization)
normalized_X = preprocessing.normalize(feature_matrix)
print normalized_X
# 標(biāo)準(zhǔn)化(Standardization)
standardized_X = preprocessing.scale(feature_matrix)
print standardized_X

特征選擇(Feature Selection)

在解決一個(gè)實(shí)際問題的過程中,選擇合適的特征或者構(gòu)建特征的能力特別重要。這成為特征選擇或者特征工程。

特征選擇時(shí)一個(gè)很需要?jiǎng)?chuàng)造力的過程,更多的依賴于直覺和專業(yè)知識(shí),并且有很多現(xiàn)成的算法來進(jìn)行特征的選擇。

下面的樹算法(Tree algorithms)計(jì)算特征的信息量:

from sklearn.ensemble import ExtraTreesClassifier
model = ExtraTreesClassifier()
print feature_matrix.shape # 原特征矩陣規(guī)模
feature_matrix = model.fit(feature_matrix, class_list).transform(feature_matrix)
print feature_matrix.shape # 特征選擇后 特征矩陣的規(guī)模

特征提取(Feature Extraction)

用TFIDF算法來計(jì)算特征詞的權(quán)重值是表示當(dāng)一個(gè)詞在這篇文檔中出現(xiàn)的頻率越高,同時(shí)在其他文檔中出現(xiàn)的次數(shù)越少,則表明該詞對(duì)于表示這篇文檔的區(qū)分能力越強(qiáng),所以其權(quán)重值就應(yīng)該越大。

from sklearn.feature_extraction.text import TfidfTransformer
tfidf_transformer = TfidfTransformer()
feature_matrix = tfidf_transformer.fit_transform(feature_matrix).toarray()

樸素貝葉斯(Naive Bayes)

樸素貝葉斯是一個(gè)很著名的機(jī)器學(xué)習(xí)算法,主要是根據(jù)訓(xùn)練樣本的特征來計(jì)算各個(gè)類別的概率,在多分類問題上用的比較多。

from sklearn import metrics
from sklearn.naive_bayes import GaussianNB
# 構(gòu)建樸素貝葉斯模型
model = GaussianNB()
model.fit(feature_matrix, class_list)
print model
# 使用測(cè)試集進(jìn)行測(cè)試(此處將訓(xùn)練集做測(cè)試集)
expected = class_list
predicted = model.predict(feature_matrix)
# 輸出測(cè)試效果
print metrics.classification_report(expected, predicted)
print metrics.confusion_matrix(expected, predicted)

k近鄰(k-Nearest Neighbours)

k近鄰算法常常被用作是分類算法一部分,比如可以用它來評(píng)估特征,在特征選擇上我們可以用到它。

from sklearn import metrics
from sklearn.neighbors import KNeighborsClassifier
# 構(gòu)建knn模型
model = KNeighborsClassifier()
model.fit(feature_matrix, class_list)
print model
# 使用測(cè)試集進(jìn)行測(cè)試(此處將訓(xùn)練集做測(cè)試集)
expected = class_list
predicted = model.predict(feature_matrix)
# 輸出測(cè)試效果
print metrics.classification_report(expected, predicted)
print metrics.confusion_matrix(expected, predicted)

決策樹(Decision Tree)

分類與回歸樹(Classification and Regression Trees ,CART)算法常用于特征含有類別信息的分類或者回歸問題,這種方法非常適用于多分類情況。

from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# 構(gòu)建決策數(shù)模型
model = DecisionTreeClassifier()
model.fit(feature_matrix, class_list)
print model
# 使用測(cè)試集進(jìn)行測(cè)試(此處將訓(xùn)練集做測(cè)試集)
expected = class_list
predicted = model.predict(feature_matrix)
# 輸出測(cè)試效果
print metrics.classification_report(expected, predicted)
print metrics.confusion_matrix(expected, predicted)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python去掉空格的一些常用方式

    python去掉空格的一些常用方式

    處理字符串時(shí)經(jīng)常要定制化去掉無用的空格,python 中要么用存在的常規(guī)方法,或者用正則處理,下面這篇文章主要給大家介紹了python去掉空格的一些常用方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • python獲取當(dāng)前目錄路徑和上級(jí)路徑的實(shí)例

    python獲取當(dāng)前目錄路徑和上級(jí)路徑的實(shí)例

    下面小編就為大家分享一篇python獲取當(dāng)前目錄路徑和上級(jí)路徑的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 2021年最新用于圖像處理的Python庫(kù)總結(jié)

    2021年最新用于圖像處理的Python庫(kù)總結(jié)

    為了快速地處理大量信息,科學(xué)家需要利用圖像準(zhǔn)備工具來完成人工智能和深度學(xué)習(xí)任務(wù).在本文中,我將深入研究Python中最有用的圖像處理庫(kù),這些庫(kù)正在人工智能和深度學(xué)習(xí)任務(wù)中得到大力利用.我們開始吧,需要的朋友可以參考下
    2021-06-06
  • OpenCV-Python實(shí)現(xiàn)腐蝕與膨脹的實(shí)例

    OpenCV-Python實(shí)現(xiàn)腐蝕與膨脹的實(shí)例

    形態(tài)學(xué)操作主要包含:腐蝕,膨脹,開運(yùn)算,閉運(yùn)算,形態(tài)學(xué)梯度運(yùn)算,頂帽運(yùn)算,黑帽運(yùn)算等操作,本文主要介紹了腐蝕與膨脹,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口

    Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口

    這篇文章主要介紹了Python?GUI利用tkinter皮膚ttkbootstrap實(shí)現(xiàn)好看的窗口,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • python3在各種服務(wù)器環(huán)境中安裝配置過程

    python3在各種服務(wù)器環(huán)境中安裝配置過程

    這篇文章主要介紹了python3在各種服務(wù)器環(huán)境中安裝配置過程,源碼包編譯安裝步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • python與C互相調(diào)用的方法詳解

    python與C互相調(diào)用的方法詳解

    這篇文章主要給大家介紹了關(guān)于python與C互相調(diào)用方法的相關(guān)資料,文中通過示例代碼詳細(xì)介紹了動(dòng)用的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • python實(shí)現(xiàn)騰訊滑塊驗(yàn)證碼識(shí)別

    python實(shí)現(xiàn)騰訊滑塊驗(yàn)證碼識(shí)別

    這篇文章主要介紹了python如何實(shí)現(xiàn)騰訊滑塊驗(yàn)證碼識(shí)別,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python利用opencv如何實(shí)現(xiàn)答題卡自動(dòng)判卷

    python利用opencv如何實(shí)現(xiàn)答題卡自動(dòng)判卷

    由于工作需要,最近在研究關(guān)于如何通過程序識(shí)別答題卡的客觀題的答案,所以下面這篇文章主要介紹了python利用opencv如何實(shí)現(xiàn)答題卡自動(dòng)判卷的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 對(duì)Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解

    對(duì)Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解

    今天小編就為大家分享一篇對(duì)Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評(píng)論