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')
# 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)