文章目录

  • 前言
  • 1.scikit-learn自带数据集
  • 2.scikit-learn数据降维
  • 3.scikit-learn数据预处理
  • 4.scikit-learn数据集划分
  • 5.scikit-learn模型调用
    • 1. 调用模型
    • 2. 代入数据训练
    • 3. 模型预测
  • 6.scikit-learn结果评价
  • 7.scikit-learn过程可视化(以决策树为例)

前言

scikit-learn是python实现的机器学习算法库,它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学图书馆NumPy和SciPy。

1.scikit-learn自带数据集

数据集 函数 适用范围
波士顿房价数据集 datasets.load_boston([return_X_y]) 经典的用于回归任务的数据集
乳腺癌数据集 datasets.load_breast_cancer([return_X_y]) 简单经典的用于二分类任务的数据集
糖尿病数据集 datasets.load_diabetes([return_X_y]) 经典的用于回归的数据集,
手写数字数据集 datasets.load_digits([n_class, return_X_y]) 用于分类任务或者降维任务的数据集
体能训练数据集 datasets.load_linnerud([return_X_y]) 经典的用于多变量回归任务的数据集。
鸢尾花数据集 datasets.load_iris([return_X_y]) 用于分类任务的数据集
# 鸢尾花数据调用示例
from sklearn.datasets import load_iris
data=load_iris( )
print(X.shape)    # 结果 (506, 13)   数据的行数(数量)与维度(指标)# 其他数据集示例
from sklearn.datasets import fetch_olivetti_faces    #下载大型数据集
from sklearn.datasets import make_swiss_roll         #生成数据集

2.scikit-learn数据降维

sk-learn的降维算法都被包括在模块decomposition中,在此模块中可以实现主成分分析、因子分析、独立成分分析、字典学习、高级矩阵分解以及其他矩阵分解

PCA降维示例
model=sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)
X_LessDim=model.fit_transform(X)

参数 含义
n_components 赋值为int,比如n_components=1,将把原始数据降到一个维度。
copy 表示是否在运行算法时,将原始训练数据复制一份。
whiten 白化,使得每个特征具有相同的方差。
# 降维
from sklearn.decomposition import PCA
Pca_mode=PCA(n_components=2)
less_X=Pca_mode.fit_transform(X) # 注意函数fit_transform
less_X.shape #   (506, 2)数据指标即维度变为2

3.scikit-learn数据预处理

sk-learn的Preprocessing包含了简单的预处理和标准化函数,在此模块中可以实现简单的数据预处理
如:
独热编码转换、数据二值化等操作,还可以实现0-1标准化、最大最小标准化等数据标准化转换操作。
标准化转换示例
from sklearn. preprocessing import Normalizer
model=Normalizer()
X_stand=model.transform(X)

# 标准化处理
from sklearn.preprocessing import Normalizer
N_model=Normalizer()
N_less_X=N_model.transform(less_X)
print(N_less_X[0:5])
# 输出
[[ 0.72187819  0.69202014][-0.74597238 -0.66597688][-0.74145383  0.67100389][ 0.80756801  0.58977446][-0.43561154 -0.90013476]]

4.scikit-learn数据集划分

scikit-learn支持多种种数据集划分的方法,这里以留出法和交叉验证法为例。
留出法:

from sklearn.model_selection import train_test_split
X_tr,X_te,Y_tr,Y_te=train_test_split(X,Y,test_size=0.2)

test_size:控制测试集的比例

交叉验证

from sklearn.model_selection import KFold
kf = KFold(n_splits=4)
for train, test in kf.split(X, Y):
print(train, test)

5.scikit-learn模型调用

1. 调用模型

from sklearn.tree import DecisionTreeRegressor
model=DecisionTreeRegressor()

2. 代入数据训练

model.fit(X_tr,Y_tr)

3. 模型预测

Y_pre=model.predict(X_te)
Y_pre

6.scikit-learn结果评价

7.scikit-learn过程可视化(以决策树为例)

决策树的可视化需要用到graphviz和pydotplus,然而graphviz除了在python里pip安装模块,还需要在电脑中安装graphviz软件。

# 首先载入所需的模块:
from sklearn.tree import export_graphviz
import pydotplus
# 生成模型后即可使用上述模块产生需要格式的决策树图片
dot_data = tree.export_graphviz(决策树模型, out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_png("tree.png") # 生成png文件
graph.write_jpg("tree.jpg") # 生成jpg文件
graph.write_pdf("tree.pdf") # 生成pdf文件

python-scikit-learn基础相关推荐

  1. python scikit learn 关闭开源_scikit learn 里没有神经网络?

    本教程的代码和数据来自于 Springboard 的博客教程,希望能为你提供帮助.作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:ht ...

  2. python scikit learn 封装_python的scikit-learn的主要模块和基本使用

    在从事数据科学的人中,最常用的工具就是R和Python了,每个工具都有其利弊,但是Python在各方面都相对胜出一些,这是因为scikit-learn库实现了很多机器学习算法. 加载数据(Data L ...

  3. python scikit learn 关闭开源_Python机器学习工具:Scikit-Learn介绍与实践

    Scikit-learn 简介 官方的解释很简单: Machine Learning in Python, 用python来玩机器学习. 什么是机器学习 机器学习关注的是: 计算机程序如何随着经验积累 ...

  4. python scikit learn 关闭开源_慕课|Python调用scikit-learn实现机器学习(一)

    一.机器学习介绍及其原理 1.什么是人工智能? 机器对人的思维信息过程的模拟,让它能相认一样思考. a.输入 b.处理 c.输出 根据输入信息进行模型建构.权重更新,实现最终优化. 特点:信息处理.自 ...

  5. python scikit learn 关闭开源_Scikit Learn安装教程

    Windows下安装scikit-learn 准备工作 Python (>= 2.6 or >= 3.3), Numpy (>= 1.6.1) Scipy (>= 0.9), ...

  6. Scikit Learn: 在python中机器学习

    Warning 警告:有些没能理解的句子,我以自己的理解意译. 翻译自:Scikit Learn:Machine Learning in Python 作者: Fabian Pedregosa, Ga ...

  7. [转载]Scikit Learn: 在python中机器学习

    原址:http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据集大小的示例:数码 ...

  8. 【scikit-learn】如何用Python和SciKit Learn 0.18实现神经网络

    本教程的代码和数据来自于 Springboard 的博客教程.本文的作者为 Jose Portilla,他是网络教育平台 Udemy 一门数据科学类课程的讲师. GitHub 链接:https://g ...

  9. python笔迹识别_python_基于Scikit learn库中KNN,SVM算法的笔迹识别

    之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址] 这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别. 数据说明: 数据共有785列,第一列 ...

  10. scikit - learn 做文本分类

    文章来源: https://my.oschina.net/u/175377/blog/84420 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的句子,我以自 ...

最新文章

  1. python自动化办公培训排名-盘点使用Python进行自动化办公所需要的知识点
  2. 硬件安全系列 逻辑电路基础知识介绍(一)
  3. DVWA系列之17 CSRF攻击介绍与实施
  4. opengl游戏引擎源码_跨平台渲染引擎之路:拨云见日
  5. Win10下VS2015(WDK10)驱动开发环境配置
  6. oracle Group by 分组查询后,分页
  7. 『Linux』ArchLinux与VirtualBox的结合「二」
  8. 女程序员上班第一件事:调整IDE颜色以适配今天的衣着妆容
  9. mat格式数据集转换为arff与txt格式
  10. GB28181协议--设备注册和注销
  11. Eclipse ADT Bundle 整合包下载地址(百度网盘)
  12. STM32 HAL库 结构
  13. APK安装流程:点击下载应用了解安装的全过程
  14. C# 设置Excel 首行冻结窗口
  15. kali使用jd-gui
  16. 自娱自乐的FreeRTOS——config.h配置文件详解
  17. 冰汽朋克侦查机器人_冰汽时代机器人与人力效率对比分析 寒霜朋克机器人与人力哪个效率高...
  18. 用mobx-react框架wukong撸个电影网站
  19. 有什么好用的软件推荐?
  20. 车辆占用应急车道识别抓拍系统 opencv

热门文章

  1. 胡适致毕业生:功不唐捐
  2. imutils基础(7)使用 OpenCV 查找轮廓中的极值点
  3. php自动tag,discuz! 2.5x 3.0x的自动tag系统是如何实现的?
  4. 大学高数常微分方程思维导图_高等数学各章节知识点框架 常微分方程.pdf
  5. 苹果电脑QQ邮件服务器,mac电脑如何添加qq邮箱图文教程
  6. 产品可靠性研究不可不知的知识之MTTF
  7. yii2实现后端分页和模糊查询
  8. mac数字键盘错乱_苹果电脑键盘打不出数字解决办法
  9. mysql查看数据库
  10. 微信小程序引用外部文件找不到文件报错问题