Skearn预处理StandardScaler出现 ValueError 的错误

在用sklearn做机器学习的时候,我们经常要对数据进行预处理,而又经常使用标准化预处理数据,但是,使用StandardScaler有可能会出现ValueError 的错误。具体的错误如下面所示:
这里写图片描述
通过查看sklearn的帮助文档,发现:StandardScaler 能够接受 scipy.sparse 作为输入,只要参数 with_mean=False 被准确传入它的构造器。否则会出现 ValueError 的错误,因为默认的中心化会破坏稀疏性,并且经常会因为分配过多的内存而使执行崩溃。
然后,再查看fit_transform方法的帮助文档:
fit_transform(X, y=None, **fit_params)
参数:X : numpy array of shape [n_samples, n_features]
y : numpy array of shape [n_samples]
发现传入的numpy数组为一个二维的矩阵,如果是一维的数组,可以构造为二维的矩阵(自己的理解)。
接下来,就说怎么处理这种问题,其实也就是构造一个二维的矩阵,并只取第一列数据也就是样本y[n_samples]。

y_Standard = StandardScaler_y.fit_transform(y[:, None])[:,0]

这样就行了。

帮助文档:
http://sklearn.apachecn.org/cn/0.19.0/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler

http://sklearn.apachecn.org/cn/0.19.0/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler.fit_transform

ValueError错误是一种Python错误类型,表示代码尝试使用不正确的值来执行操作。这种错误通常发生在以下情况下: 1. 函数期望接收一个特定类型的参数,但是实际传递的参数类型不匹配。 2. 函数期望接收一个在指定范围内的值,但是实际传递的值不在范围内。 3. 尝试将一个无效的字符串转换为数字或其他类型。 4. 尝试对不可变对象进行修改操作。 以下是一些常见的ValueError错误示例: 1. 尝试将字符串转换为数字时,如果字符串中包含非数字字符,则会引发ValueError错误。 ```python int('abc') # ValueError: invalid literal for int() with base 10: 'abc' ``` 2. 尝试将一个空的字符串转换为数字时,会引发ValueError错误。 ```python int('') # ValueError: invalid literal for int() with base 10: '' ``` 3. 尝试将一个字典转换为列表时,会引发ValueError错误。 ```python list({'a': 1, 'b': 2}) # ValueError: dictionary update sequence element #0 has length 1; 2 is required ``` 4. 尝试将一个负数转换为无符号整数时,会引发ValueError错误。 ```python int('-1', 2) # 将二进制的'-1'转换为十进制数 # ValueError: invalid literal for int() with base 2: '-1' ``` 5. 尝试使用不同的数据类型进行运算时,会引发ValueError错误。 ```python '1' + 1 # TypeError: can only concatenate str (not "int") to str '1' * '2' # TypeError: can't multiply sequence by non-int of type 'str' ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值