python fit函数_Gaussian NB fit()函数需要固定长度的向量

在使用GaussianNB的fit()函数进行训练时,遇到一个问题:如果训练样本X中的向量长度不一致,fit()会抛出异常。针对这个问题,应该如何正确地调整数据并调用fit()函数?当前的代码示例导致了DeprecationWarning和ValueError。
摘要由CSDN通过智能技术生成

我正在尝试实施这样的高斯NB训练。但是国民生产总值()如果X的维数不相等(即X内的所有列表的长度都必须相同),则抛出异常。如果我的训练样本是不同长度的向量,那么调用fit()的正确方法是什么?在def train(X, Y):

gnb = GaussianNB()

gnb.fit(X, Y)

return gnb

>>> X = [[1,2,3], [4,5,6,7], [8,9]]

>>> Y = [1,1,1]

>>> snb.train(X, Y)

/Library/Python/2.7/site-packages/sklearn/utils/validation.py:395:

DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17

and will raise ValueError in 0.19. Reshape your data either using

X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1)

if it contains a single sample.

DeprecationWarning)

Traceback (most recent call last):

File "", line 1, in

File "snb.py", line 113, in train

gnb.fit(X, Y)

File "/Library/Python/2.7/site-packages/sklearn/naive_bayes.py", line

182, in fit

X, y = check_X_y(X, y)

File "/Library/Python/2.7/site-packages/sklearn/utils/validation.py",

line 521, in check_X_y

ensure_min_features, warn_on_dtype, estimator)

File "/Library/Python/2.7/site-packages/sklearn/utils/validation.py",

line 402, in check_array

array = array.astype(np.float64)

ValueError: setting an array element with a sequence.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值