Python Logistic回归和未来样本

时间:2018-04-04 12:10:24

标签: python logistic-regression

我在Python中学习Logistic回归并且已经设法使模型适合我现有的数据(股票市场数据),并且预测产生了很好的结果。

但我不知道如何以可以将其应用于未来数据的方式转换该预测模型。即有一个y = ax + b算法我可以用来输入未来的样本吗?我如何使用'模型'?如何使用预测后续数据?或者我在这里偏离轨道 - Logistic回归是不是以这种方式应用的?

1 个答案:

答案 0 :(得分:0)

训练Logistic回归时,您将在a中了解参数by = ax + b。因此,经过培训,ab已知,可用于解决等式y = ax + b

我不知道你用什么确切的Python软件包来训练你的模型以及你有多少个类,但是如果是这样的话,比如numpy2 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