如何从.CSV文件中获取相同大小的x和y来绘制散点图?

时间:2019-09-26 20:58:47

标签: python python-3.x jupyter-notebook

我正在尝试使用一些.csv值来重塑数组,这给我多行错误,并且我试图在StackOverflow上找到一些示例,但我无法弄清楚实际值是什么问题在这里!并且每次遇到此错误-每当我尝试使用np.zeros(),np.ones()和np.array()

我有包含EXAM-1,EXAM-2和入学决定的考试数据。我的x,y和theta大小不一样?

def sigmoid(z):
    new_val = 1 / (1 + np.exp(-z))
    return new_val  

def h(theta,X):
    return sigmoid(np.dot(X,theta))#------Value Error    


def compute_logistic_cost(theta, X, y):
    m= len(y)
    J = (1/m) * np.sum((-y * np.log(h(theta,X))) - ((1 - y)*np.log(1 - h(theta,X))))#-----Value Error

    eps = 1e-12
    hypothesis[hypothesis < eps] = eps
    eps = 1.0 - 1e-12
    hypothesis[hypothesis > eps] = eps

    return J

X = np.ones( (3, 1) )#------Value Error and If I put 100 instead of 1 it is working
X[1:,:] = X.T

theta = np.zeros( (3, 1) )
print(compute_logistic_cost(theta, X, y))#------Value Error

theta = np.array([[1.0],
              [1.0],
              [1.0]])
print(compute_logistic_cost(theta, X, y))

theta = np.array([[0.1],
              [0.1],
              [0.1]])
print(compute_logistic_cost(theta, X, y))    

以下是错误消息,请帮助我理解。 ValueError:形状(3,100)和(3,1)不对齐:100(dim 1)!= 3(dim 0)

1 个答案:

答案 0 :(得分:1)

这似乎是数学上的失败-由于矩阵不兼容,采用两个矩阵的点积将失败。有关显示此值错误的文档,请参见here。具体来说:

Raises: 

ValueError

    If the last dimension of a is not the same size as the second-to-last dimension of b.

矩阵数学很难。看起来您只需要较小矩阵的转置即可使点积成功执行。我还不足以告诉您脚本的其余部分是否正确,但这至少可以清除错误,让您继续。

希望有帮助。