题解 | #使用梯度下降对逻辑回归进行训练#
使用梯度下降对逻辑回归进行训练
https://www.nowcoder.com/practice/d9c4bcf3bc5e426b8a11e690f65ba601
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))
查看9道真题和解析

