IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> TypeError: fit_transform() missing 1 required positional argument: ‘X‘——报错 -> 正文阅读

[人工智能]TypeError: fit_transform() missing 1 required positional argument: ‘X‘——报错

1 解决过程【成功】

  • 源代码如下:

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 1. 导入数据
def load_data() -> pd.DataFrame:
    data = pd.read_excel('data3.xlsx')
    print(data)
    data.columns = ['BillingDate', 'VolumnHL']  # 修改一下属性名
    print("======================")
    print(data)
    return data


# load_data()


# 2. 归一化(可以帮助模型更快拟合)
def max_min_normalization(data:pd.DataFrame) ->pd.DataFrame:
    # VolumnHL 是第二列属性
    volume = data.VolumnHL.values  # 单取出第二列,组成一个向量
    print("===max_min_normalizetion===================")
    print(volume)
    volume1 = volume.reshape(-1, 1)  # 改变volumn的形状,现在volume是一个一行多列的向量,改成多行一列的向量
    volume2 = volume.reshape(len(volume), 1)  # 与上一行的效果一样
    # print(volume1)
    # print(volume2)
    volume = StandardScaler.fit_transform(volume2)
    print(volume)


data = load_data()
max_min_normalization(data)
  • 输出的报错信息:
    在这里插入图片描述
  • 解决:就是少了一个括号!!
    在这里插入图片描述
  • 当然,在很多代码中,还有很多教程喜欢这样去写:
scaler = StandardScaler()
x_train = scaler.fit_transform(x_train)
  • 总而言之就是StanderScaler后面的()千万不要忘记!否则报错之后很难排查出来!

2 学习Sklearn之数据预处理——StandardScaler

2.1 数据处理——标准化、归一化

  • 数据标准化和归一化,都属于数据特征无量纲的一种方式。
    【“无量纲”——将不同规格的数据转换都统一规格,或不同分布的数据转换到某个特定分布的需求】

  • 特别是对于需要计算梯度和矩阵的模型(例如逻辑回归中通过梯度下降求解损失函数),无量纲化之后的数据特征对于模型求解有加速作用!

  • 在k近邻、聚类算法中,需要计算距离时,使用无量纲化可以提升模型精度,避免异常值对整体计算造成的影响。

  • 中心化处理:让所有记录减去一个固定值,即让数据样本平移到某个位置;

  • 缩放处理:通过除以某一个固定值,将数据固定在某个范围之内!

2.2 为什么要归一化?

  1. 归一化后加快了梯度下降求最优解的速度;
    如果机器学习模型使用梯度下降Q法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。
  2. 归一化有可能提高精度;
    一些分类器需要计算样本之间的距离(如欧氏距离Q),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(此如这时实际情况是值域范围小的特征更重要)。

2.3 归一化的适用范围

  • 概率模型(树型模型)不需要做归一化

2.4 归一化公式

在这里插入图片描述

  • Normalization和Min-Max Scaling都是数据归一化:数据x按照最小值中心化之后,再按极差(最大值-最小值)进行缩放,最终会被收敛到[0,1]之间!

2.5 标准化公式

在这里插入图片描述

  • 标准化:数据x按照均值中心化之后,再按标准差缩放,数据就会服从均值为0,方差为1的标准正态分布,这个过程就叫做数据标准化。

如果本篇文章对你有帮助的话,麻烦收藏+点赞+关注我哦!

3 标准化和归一化区别?

  1. 首先明确,标准化和归一化都不会改变数据的分布。
  2. 归一化会严格限制数据变化后的范围,默认是[0,1]
  3. 标准化则没有严格的区间,变化之后的数据没有范围,只是数据整体的均值为0,标准差为1

4 数据处理时的选择

  • 在大多数机器学习算法中,因为归一化MinMaxScaler对异常值敏感,所以都会选择标准化StandardScaler进行特征缩放,例如聚类、逻辑回归、支持向量机、PCA算法等等。
  • 如果在缩放时,不涉及距离、梯度等的计算,并且对数据的范围有严格要求,就可以使用归一化进行缩放。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:41:41  更:2022-04-07 22:43:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:00:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码