使用python的逻辑回归

使用python的逻辑回归,python,statistics,machine-learning,logistic-regression,Python,Statistics,Machine Learning,Logistic Regression,我想用python从头开始实现逻辑回归。以下是其中的功能: 乙状结肠 成本 fminunc 评价Logistic回归 我想知道,在python中从头开始是一个什么样的好开端。任何关于如何以及什么是好的指导。我知道这些函数的理论,但在寻找更好的python答案 我使用了octave,我很好地理解了它,但我不知道如何用python开始,因为octave已经设置了这些包来完成这项工作。您可能想尝试将octave代码翻译成python,看看发生了什么。您还可以使用python包来完成这项工作。查看逻辑回

我想用python从头开始实现逻辑回归。以下是其中的功能:

  • 乙状结肠
  • 成本
  • fminunc
  • 评价Logistic回归
  • 我想知道,在python中从头开始是一个什么样的好开端。任何关于如何以及什么是好的指导。我知道这些函数的理论,但在寻找更好的python答案


    我使用了octave,我很好地理解了它,但我不知道如何用python开始,因为octave已经设置了这些包来完成这项工作。

    您可能想尝试将octave代码翻译成python,看看发生了什么。您还可以使用python包来完成这项工作。查看逻辑回归。在这方面也有一个简单的例子。

    < P>为了实现逻辑回归,你可以考虑以下2种方法:

  • 考虑一下线性回归是如何工作的。将S形函数应用于线性回归假设,并运行梯度下降直到收敛。或者应用基于指数的Softmax函数,以排除较低的发生可能性

    def logistic_regression(x, y,alpha=0.05,lamda=0):
        '''
        Logistic regression for datasets
        '''
        m,n=np.shape(x)
        theta=np.ones(n)
        xTrans = x.transpose()
        oldcost=0.0
        value=True
        while(value):
            hypothesis = np.dot(x, theta)
            logistic=hypothesis/(np.exp(-hypothesis)+1)
            reg = (lamda/2*m)*np.sum(np.power(theta,2))
            loss = logistic - y
            cost = np.sum(loss ** 2)
            #print(cost)
            # avg cost per example (the 2 in 2*m doesn't really matter here.
            # But to be consistent with the gradient, I include it)
            # avg gradient per example
            gradient = np.dot(xTrans, loss)/m
            # update
            if(reg):
                cost=cost+reg
                theta = (theta - (alpha) * (gradient+reg))
            else:
                theta=theta -(alpha/m) * gradient
            if(oldcost==cost):
                value=False
            else:
                oldcost=cost
        print(accuracy(theta,m,y,x))
        return theta,accuracy(theta,m,y,x)
    

  • @使用死亡之星请检查编辑如果您没有向我们显示您的代码以及出现错误的地方,我们无法帮助您。如果你不告诉我们你做了什么以及如何出错,我们不会代你编码。显示您的倍频程代码,以及您如何尝试在python中实现相同的东西,以及您似乎无法使用哪些行来编写python@usethedeathstar请仔细阅读问题。我想知道python bec中的包有一种python的实现方式。我不是要求你去编码,而是要求你提供帮助,这样我就可以使用像octave这样的好python包来编码。scikit learn是否已经实现了逻辑回归?或者像Octave这样的数学软件包。Bec我希望从零开始用python实现,如果scikit learn已经实现了,那么它的NoPointSCIkit learn包含逻辑回归函数。如果你愿意,你也可以自己写,并将你的结果与Scikit进行比较。我认为你在计算梯度时已经包含了(1/m),因此在重新计算Ta时不需要包含它。我认为逻辑变量应该是=1/(np.exp(-假设)+1),而不是假设/(np.exp(-假设)+1)