import pandas as pd
import numpy as np

dataSet = pd.read_csv('dataSet.csv',header = None)
labels = pd.read_csv('labels.csv',header = None)

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def gradientDescent(dataSet, labels, alpha=0.001, max_num=100):
    dataSet = np.mat(dataSet)
    labels = np.mat(labels)
    n, m = dataSet.shape
    weight = np.ones((m,1))
    for i in range(max_num):
        h = sigmoid(np.dot(dataSet, weight))
        error = h - labels.T
        weight = weight - alpha * np.dot(dataSet.T, error)
    return weight

if __name__ == "__main__":
    print(gradientDescent(dataSet, labels, alpha=0.001, max_num=100))