本文实例讲述了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
在解决一个实际问题的过程中,选择合适的特征或者构建特征的能力特别重要。这成为特征选择或者特征工程。
特征选择时一个很需要创造力的过程,更多的依赖于直觉和专业知识,并且有很多现成的算法来进行特征的选择。
新闻热点
疑难解答