2-02-转化器与预估器

主要内容

分类算法:

目标值:类别

  • sklearn转换器与预估器
  • KNN算法
  • 模型选择与调优
  • 朴素贝叶斯算法
  • 决策树
  • 随机森林

sklearn转换器与预估器

转换器

预估器

estimator

转换器-特征工程的父类

在这里插入图片描述

标准化

X ′ = x − m e a n σ X^{\prime}=\frac{x-mean}{\sigma} X=σxmean

  • fit_transform()

将方法fit()和方法transform()进行封装,最终得到了方法fit_transform()

换而言之即是:

fit_transform() = fit() + transform()

  • fit()

计算每一列的平均值、标准差,为利用公式计算 X ′ X^{\prime} X做准备

  • transform()

将方法fit()计算出来的值代入公式中,最终计算出 X ′ X^{\prime} X的值

这几个方法之间的区别是什么呢?

我们看以下代码就清楚了

In [1]: from sklearn.preprocessing import StandardScaler

In [2]: std1 = StandardScaler()

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

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

In [5]: std2 = StandardScaler()

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

In [7]: std2.transform(a)
Out[7]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

从中可以看出,fit_transform的作用相当于transform加上fit。

但是为什么还要提供单独的fit呢, 我们还是使用原来的std2来进行标准化看看

In [8]: b = [[7,8,9], [10, 11, 12]]

In [9]: std2.transform(b)
Out[9]:
array([[3., 3., 3.],
       [5., 5., 5.]])

In [10]: std2.fit_transform(b)
Out[10]:
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])

预估器-sklearn机器学习算法的实现

在这里插入图片描述

预估器工作流程

在这里插入图片描述

  • 实例化一个estimator类
  • estimator.fit(x_train,y_train)
    • 计算
    • 做机器学习的训练
    • 训练完毕之后生成模型
  • 模型评估
    • 直接比对真实值和预测值
      • y_predict = estimator.predict(x_test)
      • y_test == y_predict
    • 计算准确率
      • accuracy = estimator.score(x_test, y_test)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值