Numpy 将列表重塑为(-1,1),并将浮点作为数据类型返回

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

我正在尝试建立逻辑回归模型,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:“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
    :训练数据的向量/矩阵,形状(观察数、预测数)为浮点型
  • Y
    :分类结果的向量(在本例中为二进制),其形状(观察数,1)为bool或int类型
您调用它的方式是尝试将Exam2(float)作为Exam1(float)的函数进行拟合。这是根本问题。更为复杂的是,您将重塑后的numpy数组作为列表进行重铸的方式。假设
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。