如何修复运行 Kmeans 时出现的"Exception: Data must be 1-dimensional"错误

By simon at 2019-05-03 • 0人收藏 • 22人看过

到目前为止,我已经解决了所有的错误。 除了得到"异常: 数据必须是一维的"这个错误之外,我不太确定自己是否理解了这个问题。 这是我的代码。

输入熊猫作为 pd 输入数量作为 np 输入警告从 sklearn. 预处理输入 LabelBinarizer 从 sklearn. 集群输入 KMeans df1 pd.read excel ('PERM disclosure data fy2018 eoyv2。 文件警告("ignore") df1. dropna (子集 PW 金额9089)) df1. dropna (子集"CASE STATUS") df1. dropna (子集"soc title") df1. CASE STATUS [[1]'Certified-Expired']'Certified'df1. df1. CASE STATUS [1! "撤回","取消","取消",取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消,取消! Df1. dropna (子集 PW AMOUNT 9089]) df1. dropna (子集 CASE status ]) df1. dropna (子集 PW soc title ]]) dfpw 9089 dfpw 1.AMOUNT 9089。 [ : ,[2,4,5] enc LabelBinarizer () y enc.fit transform (df1. case STATUS)[ : ,[0]

此时 y 的输出是一个数组

Array ([0] ,[0] ,[0] ,... ,[1] ,[1] ,[0])

然后我定义 XZ

预处理。 Labelencoder () x df1.iloc [ : ,[1] z df1.iloc [ : ,[2] X2 x. apply (le.fit transform) XZ pd.concat ([ X2,z ] ,axis 1)

Xz 的输出是:

句子太长,请短一点 134134971.032176100568.033176100568.03462619614.03515326354.03640579248.03722093350.038139153213.039598131997.04059813197.04190438.0. .  ...  .. 句子太长,请短一点

然后我继续说:

句子太长,请短一点

我得到的错误如下:

G:  Anaconda  lib  site-packages  ipykernel launcher. Py: 11: DataConversionWarning: 当需要一个1d 数组时,传递了一个列向量 y。 请将 y 的形状改为(n 个样品,) ,例如使用 ravel ()。 句子太长,请短一点。 混淆矩阵。 Bcm import BinaryConfusionMatrix -- 23 return BinaryConfusionMatrix (y true,y pred,* args,* * kwargs)24 return LabeledConfusionMatrix (y true,y pred,* * args,* * kwargs)25 g:  Anaconda  lib  site-packages  pandas  ml  confusion matrix  bcm.py in init (self,* args,* * kwargs)19 init (self,* args,* * kwargs) : 20 # super (binaryonmatrix,self). Init (y true,y pred) -- 21 super (BinaryConfusionMatrix,self). Init (* args,* * kwargs)22 assert self.len ()2,23"二进制混淆矩阵必须具有 len 2,但是 g:  Anaconda  lib  site-packages  pandas ml  confusion matrix  abstract.py in init (self,y true,y pred,labels,display sum,back end,true name,pred name)31 self。 没错。 名字自己,真名32否则: -- 33 self。 真正的警察。 系列(y true,name self.true name)3435 if isinstance (y pred,pd。 句子太长,请短一点。 Asarray 元组安全(Data,dtype dtype)异常: Data 必须是一维的

我正在传递的数据类型是否不正确? 数据类型与我在过去的一个项目中使用的数据类型相匹配,因此我认为可以在这里复制它。 对于那些想知道 x 是我编码的公司名称,y 是二进制案例状态,z 是 float dtype 中的工资数额。

登录后方可回帖

Loading...