コード例 #1
0
from utils import load_data, optimizer, Accuracy

np.random.seed(2020)

# Data generation
train_data, test_data = load_data('RedWine')
x_train, y_train = train_data[0], train_data[1]
x_test, y_test = test_data[0], test_data[1]

# Hyper-parameter
_epoch=1000
_batch_size=32
_lr = 0.001
_optim = 'SGD'

# Build model
model = LogisticRegression(num_features=x_train.shape[1])
optimizer = optimizer(_optim)

# Solve
print('Train start!')
model.fit(x=x_train, y=y_train, epochs=_epoch, batch_size=_batch_size, lr=_lr, optim=optimizer)
print('Trained done.')

# Inference
print('Predict on test data')
inference = model.eval(x_test)

# Assess model
error = Accuracy(inference, y_test)
print('Accuracy on Test Data : %.4f' % error)
コード例 #2
0
# # Assess model
# error = Accuracy(inference, y_test)
# print('Accuracy on test data : %.4f' % error)

_lr = [0.02, 0.01, 0.005, 0.002, 0.001]
_epoch = [1000, 2000, 3000, 4000, 5000, 10000, 20000, 30000, 40000]
for lr in _lr:
    for n_iter in _epoch:
        model = LogisticRegression(num_features=x_train.shape[1])
        _optimizer = optimizer(_optim)

        # Solve
        print('Train start.')
        model.fit(x=x_new_data,
                  y=y_train,
                  epochs=n_iter,
                  batch_size=_batch_size,
                  lr=lr,
                  optim=_optimizer)
        print('Trained done.')

        # Inference
        print('Predict on test data')
        inference = model.eval(feature_func_(x_test))

        # Assess model
        error = Accuracy(inference, y_test)
        print(lr, n_iter)
        print('Accuracy on test data : %.4f' % error)
        del model
        del _optimizer
コード例 #3
0
  [1.23394576e-04 5.24979187e-01]]]

'''

#======================================================================================================

print('=' * 20, 'Logistic Regression Test', '=' * 20)

model = LogisticRegression(num_features=x_data.shape[1])
optimizer = optimizer(_optim)
print('Initial weight: \n', model.W.reshape(-1))
print()

model.fit(x=x_data,
          y=y_data,
          epochs=_epoch,
          batch_size=_batch_size,
          lr=_lr,
          optim=optimizer)
print('Trained weight: \n', model.W.reshape(-1))
print()

# model evaluation
inference = model.eval(x_data)

# Error calculation
error = Accuracy(inference, y_data)
print('Accuracy on Check Data : %.4f \n' % error)
'''
You should get results as:

Initial weight:
コード例 #4
0
ファイル: main.py プロジェクト: wuyuchong/DataMining
## ----------------------------------------------------------------------------------------------------
# Logistic回归 算法测试用例

import numpy as np
import math
from models.LogisticRegression import LogisticRegression

iris = datasets.load_iris()
X = iris['data']
y = iris['target']
X = X[y!=2]
y = y[y!=2]

# 将学习率固定在 0.01
Logstic = LogisticRegression(X, y, threshold = 0.5)    
Logstic.fit(alpha = 0.01, accuracy = 0.001)
print("epoch:", Logstic.epoch)
print("theta:", Logstic.thetas)
y_predict = Logstic.predict()
y_predict

# 使用自动控制的下降学习率
Logstic2 = LogisticRegression(X, y, threshold = 0.5)    
Logstic2.auto_fit(accuracy = 0.001)
print("epoch:",Logstic2.epoch)
print("theta:",Logstic2.thetas)
y_predict = Logstic2.predict()
y_predict

## ----------------------------------------------------------------------------------------------------
# 神经网络 算法测试用例