无法适合Iris数据集

时间:2017-10-08 02:07:50

标签: python-3.x numpy matplotlib logistic-regression gradient-descent

尝试使逻辑回归模型在虹膜数据集上起作用,但它不合适。代码有什么问题。谢谢..

# Dependencies used: numpy, matpotlib.pyplot, csv
# dataset: Iris
# Binary classification using gradient descent
# python 3.5
# input data matrix = x(99 X 1) # including ones vector
# discrete output data matrix = y(99 X 1)
# parameters matrix = theta(5 X 1)

for j in range(3500):
    # hypothesis function
    h = 1/(1 + np.exp(-x.dot(theta)))

    # gradient descent
    theta = theta - (0.00001/m) * np.sum(x.T.dot(h - y)) + (30.0/m)*np.sum(np.sum(theta[1:5, :]**2))

    # cost function
    cost = -(1/m) * np.sum(y.T.dot(np.log(h)) + (1-y).T.dot(np.log(1-h)))
    j_iter.append(cost)
    Iter.append(j)

This is the graph [image]

1 个答案:

答案 0 :(得分:0)

Iris数据集包含三个输出类,这意味着您的代码应执行多项回归。大多数二项式回归是几个工具中采用的,这意味着输入数据集必须只包含两个输出类。请反复核对您的代码是否处理三个类,然后继续...这可能是您的问题。