从numpy数组到数组中的唱歌

2024-05-23 22:07:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对我的数据进行预处理以使其工作:

model = LogisticRegression()
model.fit(X, Y)

我正在努力重塑我的生活numpy.ndarray公司. 你知道吗

在这一点上,我有:

Y
array([array([[52593.4410802]]), array([[52593.4410802]])], dtype=object)
Y.shape
(2,)
type(Y)
<class 'numpy.ndarray'>

对于X,我有:

X
array([array([[34.07824204],
       [33.36032467],
       [24.61158084],
       ...,
       [34.62648953],
       [34.49591937],
       [34.40951467]]),
       array([[ 4.50136316],
       [ 7.46307729],
       [17.07135805],
       ...,
       [57.98715047],
       [54.5733181 ],
       [50.13691107]])], dtype=object)
X.shape
(2,)
type(X)
<class 'numpy.ndarray'>

我想得到我的X和转换,使每个数据成为一列/特征(转置的想法)。所以每一个值都会变成一个特征,就像这样:

X[0][0]
array([34.07824204])
X[0][1]
array([33.36032467])
# Sudo code idea:
# X_new = [0][0],[0][1],...
# X_new = append(X_new,[1][0],[1][1]...)

我尝试过:

nsamples, nx, ny = X.shape
d2_train_dataset = X.reshape((nsamples,nx*ny))

此外,我试图重塑和转置,但它不会给我所需要的:

X
array([array([[34.07824204],
       [33.36032467],
       [24.61158084],
       ...,
       [34.62648953],
       [34.49591937],
       [34.40951467]]),
       array([[ 4.50136316],
       [ 7.46307729],
       [17.07135805],
       ...,
       [57.98715047],
       [54.5733181 ],
       [50.13691107]])], dtype=object)
X.T
array([array([[34.07824204],
       [33.36032467],
       [24.61158084],
       ...,
       [34.62648953],
       [34.49591937],
       [34.40951467]]),
       array([[ 4.50136316],
       [ 7.46307729],
       [17.07135805],
       ...,
       [57.98715047],
       [54.5733181 ],
       [50.13691107]])], dtype=object) 

正如其中一条评论中所建议的那样,我尝试过,但没有成功: (我把输出作为输入)

X.flatten()
array([array([[34.07824204],
       [33.36032467],
       [24.61158084],
       ...,
       [34.62648953],
       [34.49591937],
       [34.40951467]]),
       array([[ 4.50136316],
       [ 7.46307729],
       [17.07135805],
       ...,
       [57.98715047],
       [54.5733181 ],
       [50.13691107]])], dtype=object)

Tags: 数据numpynewmodelobjecttype特征array
2条回答

Y我可以理解,你的标签是连续的,而不是离散的。你的数据表明你需要一个回归模型,但你正试图适应一个二元分类器,逻辑回归。作为回归算法,可以使用linear regressionSupport Vector Regression或任何其他回归模型。你知道吗

在重塑之前,先去掉数组中的数组。 使用numpy.stack可以很容易地做到这一点。例如

import numpy
from numpy import array
Y = array([array([[52593.4410802]]), array([[52593.4410802]])], dtype=object)
Y = numpy.stack(Y)
print(Y.shape)
print(Y)

给出:
(2,1,1)
[[[52593.4410802]]

[[52593.4410802]]

从这里,你可以重塑到你需要的。你知道吗

相关问题 更多 >