I've been trying to implement multiclass logistic regression. Following is my code for two classes.
class LogReg:
def __init__(self, lr=0.0001, itr=1000):
self.lr = lr
self.itr= itr
self.weight = None
self.bias = None
def sigmoid(self, x):
return 1 / (1 + np.exp(-x))
def fit(self, X, y):
entries, features = X.shape
self.weight = np.zeros(features)
self.bias = 0
for _ in range(self.itr):
thetaX = np.dot(X, self.weight) + self.bias
h= self.sigmoid(thetaX)
dw = (1 / entries) * np.dot(X.T, (h - y))
db = (1 / entries) * np.sum(h - y)
self.weight -= self.lr * dw
self.bias -= self.lr * db
def predict(self, X):
thetaX= np.dot(X, self.weight) + self.bias
h = self.sigmoid(thetaX)
op = [1 if i > 0.5 else 0 for i in h]
return np.array(op)
It would be great help if someone could explain if (then how) it's possible to code a multiclass classifier in a similar fashion as shown above.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…