我是靠谱客的博主 丰富海燕,最近开发中收集的这篇文章主要介绍day02-Knn、朴素贝叶斯、决策森林和随机森林,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、sklearn数据集
sklearn库中有自带的小数据集,也有从网下下载的某些数据集API

  • 数据集划分
    训练数据:用于训练,构建模型
    测试数据:在模型检验时使用,用于评估模型是否有效
    API: sklearn.model_selection.train_test_split
    x_train, x_test, y_train, y_test =train_test_split(x,y,test_size=0.25)
    注:训练集和测试集数据比例通常是0.75:0.25

  • sklearn数据集接口介绍

  1. 获取小规模数据集
    from sklearn.datasets import load_*()
    在这里插入图片描述
  2. 获取大规模数据集(在线下载)
    from sklearn.datasets import fetch_*(data_home=None)
    data_home为数据保存的地址

返回数据类型:load和fetch返回的数据类型均为datasets.base.Bunch(字典格式)
data:特征数据数组,是 [n_samples * n_features] 的二维
numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名,回归数据集没有

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

li = load_iris()
print(li.data)
print(li.target)
x_train,x_test,y_train,y_test = train_test_split(li.data,li.target,test_size=0.25)
print(x_test)

二、转换器

  • 定义: 转换器是指特征工程的API接口
  • 转换器调用方法:
    第一种:fit ,transform
    第二种:fit_transform
  • fit,transform,fit_transform的区别
    fit: 不进行算法部分,只计算训练集的一些统计特性,例如均值,方差,最大值,最小值,类似于一个适配过程,为后续的API做准备
    transform: 在fit的基础上,以fit计算出来的平均值、标准差来转换进行标准化,降维,归一化等操作
    fit_transform:fit_transform是fit和transform的组合,既包括了适配又包含了转换
 from sklearn.preprocessing import StandardScaler

In [2]: std = StandardScaler()

In [3]: a = [[1,2,3],[4,5,6]]

In [4]: std.fit_transform(a)
Out[4]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

In [5]: std.fit(a)
Out[5]: StandardScaler(copy=True, with_mean=True, with_std=True)

In [6]: std.transform(a)
Out[6]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

In [7]: b = [[1,2,4],[8,10,14]]

In [8]: std.fit(b)
Out[8]: StandardScaler(copy=True, with_mean=True, with_std=True)

In [9]: std.transform(a)
Out[9]:
array([[-1.        , -1.        , -1.2       ],
       [-0.14285714, -0.25      , -0.6       ]])

三、估计器工作流程
估计器:是一类实现算法的API

  • fit: 类似于训练过程,一般调用算法API时均先进行fit过程
  • predict预测过程

最后

以上就是丰富海燕为你收集整理的day02-Knn、朴素贝叶斯、决策森林和随机森林的全部内容,希望文章能够帮你解决day02-Knn、朴素贝叶斯、决策森林和随机森林所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部