本文實例講述了Python機器學習庫scikit-learn安裝與基本使用。分享給大家供大家參考,具體如下:
scikit-learn是Python的一個開源機器學習模塊,它建立在NumPy
,SciPy
和matplotlib
模塊之上能夠為用戶提供各種機器學習算法接口,可以讓用戶簡單、高效地進行數據挖掘和數據分析。
python 中安裝許多模板庫之前都有依賴關系,安裝 scikit-learn 之前需要以下先決條件:
Python(>= 2.6 or >= 3.3)
NumPy (>= 1.6.1)
SciPy (>= 0.9)
如無意外,下面用 pip 的安裝方法可以順利完成~~
sudo pip install numpy
需要先安裝 matplotlib ipython ipython-notebook pandas sympy
sudo apt-get install python-matplotlib ipython ipython-notebooksudo apt-get install python-pandas python-sympy python-nosesudo pip install scipy
sudo pip install -U scikit-learn
在 terminal 里面輸入
pip list
這個會列出 pip 安裝的所有東西,如果里面有 sklearn 這一項,應該就是大功告成了!
或者嘗試著將幾個模板庫導入進來
import numpyimport scipyimport sklearn
本文所使用的數據集為‘今日頭條'近期兩篇熱門新聞“牛!川大學霸寢室5人獲16份名校通知書”、“張超凡的最后14天:山西15歲休學少年是如何殞命網吧的”分別500條評論,共1000條評論。
去除停用詞后得到了詞庫大小為3992的詞庫。因此構建了1000×3992的特征矩陣,以及長度為1000的對應評論所屬類別列表
具體爬蟲和特征矩陣構建代碼
class_result_save.npy 下載 feature_matrix_save.npy下載
import numpy as npfeature_matrix = np.load('dataSet/feature_matrix_save.npy')class_list = np.load('dataSet/class_result_save.npy')
大多數機器學習算法中的梯度方法對于數據的縮放和尺度都是很敏感的,在開始跑算法之前,我們應該進行歸一化或者標準化的過程,這使得特征數據縮放到0-1范圍中。scikit-learn提供了歸一化的方法:
from sklearn import preprocessing# 歸一化(Normalization)normalized_X = preprocessing.normalize(feature_matrix)print normalized_X# 標準化(Standardization)standardized_X = preprocessing.scale(feature_matrix)print standardized_X
在解決一個實際問題的過程中,選擇合適的特征或者構建特征的能力特別重要。這成為特征選擇或者特征工程。
特征選擇時一個很需要創造力的過程,更多的依賴于直覺和專業知識,并且有很多現成的算法來進行特征的選擇。
新聞熱點
疑難解答