- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在 sklearn.preprocessing
中使用 MinMaxScaler
规范化训练和测试数据集。但是,该包似乎不接受我的测试数据集。
import pandas as pd
import numpy as np
# Read in data.
df_wine = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data',
header=None)
df_wine.columns = ['Class label', 'Alcohol', 'Malic acid', 'Ash',
'Alcalinity of ash', 'Magnesium', 'Total phenols',
'Flavanoids', 'Nonflavanoid phenols', 'Proanthocyanins',
'Color intensity', 'Hue', 'OD280/OD315 of diluted wines',
'Proline']
# Split into train/test data.
from sklearn.model_selection import train_test_split
X = df_wine.iloc[:, 1:].values
y = df_wine.iloc[:, 0].values
X_train, y_train, X_test, y_test = train_test_split(X, y, test_size=0.3,
random_state = 0)
# Normalize features using min-max scaling.
from sklearn.preprocessing import MinMaxScaler
mms = MinMaxScaler()
X_train_norm = mms.fit_transform(X_train)
X_test_norm = mms.transform(X_test)
当执行这个时,我得到一个 DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19.如果您的数据具有单个特征,则使用 X.reshape(-1, 1) 或如果它包含单个样本,则使用 X.reshape(1, -1) reshape 您的数据。
以及 ValueError:操作数不能与形状一起广播 (124,) (13,) (124,)
。
reshape 数据仍然会产生错误。
X_test_norm = mms.transform(X_test.reshape(-1, 1))
此 reshape 会产生错误ValueError:形状为 (124,1) 的不可广播输出操作数与广播形状 (124,13) 不匹配
。
有关如何修复此错误的任何输入都会有所帮助。
最佳答案
训练/测试数据的分区必须按照与 train_test_split()
的输入数组相同的顺序指定函数让它按照那个顺序解压它们。
显然,当顺序指定为 X_train, y_train, X_test, y_test
时,y_train
的结果形状 (len(y_train)=54
) 和 X_test
(len(X_test)=124
) 被交换导致 ValueError
。
相反,您必须:
# Split into train/test data.
# _________________________________
# | | \
# | | \
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# | | /
# |__________|_____________________________________/
# (or)
# y_train, y_test, X_train, X_test = train_test_split(y, X, test_size=0.3, random_state=0)
# Normalize features using min-max scaling.
from sklearn.preprocessing import MinMaxScaler
mms = MinMaxScaler()
X_train_norm = mms.fit_transform(X_train)
X_test_norm = mms.transform(X_test)
产生:
X_train_norm[0]
array([ 0.72043011, 0.20378151, 0.53763441, 0.30927835, 0.33695652,
0.54316547, 0.73700306, 0.25 , 0.40189873, 0.24068768,
0.48717949, 1. , 0.5854251 ])
X_test_norm[0]
array([ 0.72849462, 0.16386555, 0.47849462, 0.29896907, 0.52173913,
0.53956835, 0.74311927, 0.13461538, 0.37974684, 0.4364852 ,
0.32478632, 0.70695971, 0.60566802])
关于Python ValueError : non-broadcastable output operand with shape (124, 1) 与广播形状不匹配 (124,13),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41669995/
我在我的 AngularJS 应用程序中看到了一些非常奇怪的行为。 制作单个 $broadcast 时,(唯一的)接收器会被触发两次。 对整个应用程序的影响就好像接收器只被触发了一次。 (即只有一件元
以下是我的类(class)中的功能: def labeling(self, value, labelMap, dtype='string'): if dtype.value == 's
只是想澄清一些事情,一些容易实现的目标,一个通过在另一个问题中观察用户试图对广播变量调用 RDD 操作而产生的问题?这是错误的,对吧? 问题是:Spark 广播变量不是 RDD,对吗?这是 Scala
我正在尝试通过聊天室让聊天应用程序运行。 在服务器端我有类似的东西: io.sockets.on('connection', function (socket) { socket.emit('co
我目前正在基于此示例开发一个简单的聊天多房间: https://github.com/Atmosphere/atmosphere-samples/blob/master/samples/chat-mu
我正在构建一个搜索指令,我希望我的应用程序的多个其他指令能够监听对文本搜索的更改。 我试图了解广播和发射之间的区别,以及什么最适合我的目的。 据我了解,$broadcast 和 $emit 之间的区别
Class ProdsTransformer: def __init__(self): self.products_lookup_hmap = {} self.bro
我有多个名为 as 和 bs 的大型数据帧(大约 30GB),一个名为 spp 的相对较小的数据帧(大约 500MB ~ 1GB)。 我试图将 spp 缓存到内存中,以避免多次从数据库或文件中读取数据
我正在以下配置上运行 Spark 应用程序: 1 个 Master 节点,2 个 Worker 节点。 每个工作线程有 88 个核心,因此总数为 88 个。核心数量 176 每个工作线程有 502 G
我想检测 LAN 中 IP:10.x.x.x 掩码:255.0.0.0 的所有设备。我首先写了一个同步 ping 程序来逐个 ping IP,但是太慢了。因此我通过使用异步ping对其进行了改进,然后
我想检测 LAN 中 IP:10.x.x.x 掩码:255.0.0.0 的所有设备。我首先写了一个同步 ping 程序来逐个 ping IP,但是太慢了。因此我通过使用异步ping对其进行了改进,然后
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix) Python Numpy 切片和索引(高级索引、布尔索引、花式索引) Python NumPy
我试图找到这个词的起源,以及它是否有其他名称。我在网上能找到的所有用法都指向 numpy 手册。不知道以前是否使用过? 最佳答案 它最初源自 Yorick ,一种较旧的以数组为中心的编程语言,许多原始
有没有办法让 $broadcast 在初始化阶段将变量传播到 $on? {{testContent}} var app = angular
我可以要一个 $broadcast $on有多个参数, 就像是: $scope.$broadcast('event',$scope.item, $scope.item); 在任何情况下都有可能有这样的
尝试使用 Angular 的 $broadcast,当我测试它并使用字符串“hi”并在同级 Controller 中监视它时,它工作正常,如下所示: //first controller app.co
我遇到一个问题,事件已正确触发,但数据未从 Broadcast::channel 方法内的授权回调函数返回。 该事件如下所示: public function __construct($userId,
我们计划将 Telegram 与我们的项目集成。要求是当某些事件发生时,向一组用户发送通知。我已经用 Telegram 创建了一个测试机器人。我的问题是,是否可以使用机器人来做到这一点,即向用户组发送
我有一个简单的服务/工厂: angular.module('myapp').factory('User', ['$rootScope', function($rootScope) { retu
我们计划将 Telegram 与我们的项目集成。要求是当某些事件发生时,向一组用户发送通知。我已经用 Telegram 创建了一个测试机器人。我的问题是,是否可以使用机器人来做到这一点,即向用户组发送
我是一名优秀的程序员,十分优秀!