我在Python中学习Logistic回归并且已经设法使模型适合我现有的数据(股票市场数据),并且预测产生了很好的结果。
但我不知道如何以可以将其应用于未来数据的方式转换该预测模型。即有一个y = ax + b算法我可以用来输入未来的样本吗?我如何使用'模型'?如何使用预测后续数据?或者我在这里偏离轨道 - Logistic回归是不是以这种方式应用的?
答案 0 :(得分:0)
训练Logistic回归时,您将在a
中了解参数b
和y = ax + b
。因此,经过培训,a
和b
已知,可用于解决等式y = ax + b
。
我不知道你用什么确切的Python软件包来训练你的模型以及你有多少个类,但是如果是这样的话,比如numpy
和2 classes
,预测函数可能看起来像这样:
import numpy as np
def sigmoid(z):
"""
Compute the sigmoid of z.
Arguments:
z: a scalar or numpy array
Return:
s: sigmoid(z)
"""
s = 1 / (1 + np.exp(-z))
return s
def predict(w, b, X):
'''
Predict whether the label is 0 or 1 using learned logistic
regression parameters (w, b).
Arguments:
w: weights
b: bias
X: data to predict
Returns:
Y_pred: a numpy array (vector) containing all predictions (0/1)
for the examples in X
'''
m = X.shape[1] # number of instances in X
Y_pred = np.zeros((1,m))
w = w.reshape(X.shape[0], 1)
# Apply the same activation function which you applied during
# training, in this case it is a sigmoid
A = sigmoid(np.dot(w.T, X) + b)
for i in range(A.shape[1]):
# Convert probabilities A[0,i] to actual predictions p[0,i]
if A[0, i] > 0.5:
Y_pred[0, i] = 1
else:
Y_pred[0, i] = 0
return Y_pred