Numpy 将列表重塑为(-1,1),并将浮点作为数据类型返回
我正在尝试建立逻辑回归模型,data.Exam1是第一列Numpy 将列表重塑为(-1,1),并将浮点作为数据类型返回,numpy,machine-learning,scikit-learn,Numpy,Machine Learning,Scikit Learn,我正在尝试建立逻辑回归模型,data.Exam1是第一列 reg = linear_model.LogisticRegression() X = list(data.Exam1.values.reshape(-1,1)).........(1) 我做过这个手术 type(X[0]) returns numpy.ndarray reg.fit接受包含列表中所有浮动项的参数,因此我这样做是因为出现了异常ValueError:Unknown label type:“continuo
reg = linear_model.LogisticRegression()
X = list(data.Exam1.values.reshape(-1,1)).........(1)
我做过这个手术
type(X[0]) returns numpy.ndarray
reg.fit接受包含列表中所有浮动项的参数,因此我这样做是因为出现了异常ValueError:Unknown label type:“continuous”
newX = []
for item in X:
type(float(item))
newX.append(float(item))
所以当我试着去做
reg.fit(newX,newY,A)
这给我带来了一个例外
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.
我已经在(1)中做过了,当我再次尝试重塑时,它再次返回ndarray,我如何能够同时重塑和转换项目以使其浮动??
通过聊天调整我们的解决方案
您试图将入学(类型:bool)理解为考试分数的函数(Exam1:float,Exam2:float)。问题的关键在于sklearn.linear\u model.LogisticRegression
需要两个输入:
:训练数据的向量/矩阵,形状(观察数、预测数)为浮点型X
:分类结果的向量(在本例中为二进制),其形状(观察数,1)为bool或int类型Y
data
是一个pandas.DataFrame
,则需要如下内容:
X = np.vstack((data.Exam1, data.Exam2)).T
print X.shape # should be (100, 2)
reg.fit(X, data.Admitted)
这里,
data.Exam1
和data.Exam2
都是长度为100的向量。使用np.vstack
将它们组合成形状(2100),因此我们采用转置,使其与沿第一维度(100,2)的观测值正确定向。在np.vstack
过程中,无需将pd.Series
作为np.array
进行重铸,也无需将data.Exam1.values
作为列表进行重铸。类似地,data.accepted
(带shape(100,))可以很好地与reg.fit
配合使用。您是否尝试过.restrape(-1,1).astype(float)
?请参阅reference@wflynny刚才尝试了这个X=list(data.Exam1.values.reformate(-1,1).astype(float))
仍然返回ndarray@wflynny它返回(100,)@wflynny仍然失败:(,我附加了一个imageLet。