def Call_myLRmodel(X, y):
    theta = np.zeros([1, X.shape[1]])

    model = LogisticRegression(theta, regularization=1)
    result = model.optimize(X, y)
    cost = model.cost(result[0], X, y)
    print(result, cost)

    predictions = model.predict(X)
    accuracy = Cal_accuracy(predictions, y)

    return cost, accuracy
                                                       1).astype(np.float64)
        lr_list.append(
            LogisticRegression(x_train, x_train.shape[0], feature_num + 1,
                               y_train, li, learning_rate, True))

# Cost/ Epoch 그래프를 위한 리스트
cost_list = []
count_list = []

# 학습과 그 Cost 계산. 함수의 매개변수는 몇개의 데이터를 한번에 학습시킬지를 의미.
# epoch
epoch = 100
for i in range(epoch):
    if not single_lr:
        logistic_regression.learn(60000)  # 학습
        cost = logistic_regression.cost(60000)  # 코스트
        print("epoch", i, cost)
        cost_list.append(cost)
        count_list.append(i + 1)
    else:
        tmp_li = []  # 각 class 별로 cost 를 한꺼번에 출력하기 위한 리스트
        for j in range(10):
            lr_list[j].learn(60000)  # 학습
            cost = lr_list[j].cost(60000)  # 코스트
            tmp_li.append(cost)
        cost_list.append(tmp_li)
        count_list.append(i + 1)
        print("epoch", i, "|", tmp_li)

# plt 를 사용하여 산포도 그래프 생성
plt.title('B511086 Seongjin Bak Logistic Regression for MNIST datum')
Beispiel #3
0
        # Single class Logistic Regression 오브젝트 생성 후 리스트에 연접
        lr_list.append(
            LogisticRegression(x_train, x_train.shape[0], feature_num + 1,
                               y_target, li, learning_rate, True))

# Cost/ Epoch 그래프를 위한 리스트
cost_list = []
epoch_list = []

# 학습과 그 Cost 계산. 함수의 매개변수는 몇개의 데이터를 한번에 학습시킬지를 의미.
# Epoch
epoch = 1000
for i in range(epoch):
    if not single_lr:
        logistic_regression.learn(100)  # 학습 실시
        cost = logistic_regression.cost(100)  # Cost 계산
        cost_list.append(cost)
        epoch_list.append(i + 1)
        print("epoch", i, "|", cost)
    else:
        tmp_li = []  # 각 class 별로 cost 를 한꺼번에 출력하기 위한 리스트
        for j in range(3):
            lr_list[j].learn(100)  # 학습 실시
            tmp_li.append(lr_list[j].cost(100))  # Cost 계산
        cost_list.append(tmp_li)
        epoch_list.append(i + 1)
        print("epoch", i, "|", tmp_li)

# plt 를 사용하여 그래프 생성
plt.title('B511086 Seongjin Bak Logistic Regression for Iris datum')
plt.plot(epoch_list, cost_list)