Python 中正则化的逻辑回归

代码是关于正则化的逻辑回归的,直到使用 fmin_bfgs 部分,即代码的最后一行之前都运行正常。这段代码最初是在 Octave 中编写的,所以在使用 fmin_bfgs 之前,我测试了每个函数的某些值,所有的输出都是正确的。问题是在尝试最小化 cost_function_reg 时,我收到了以下消息:

 line 53, in cost_function_reg    thetaR = theta[1:, 0]IndexError: too many indices for array

代码如下:

我使用的数据如下:

0.051267,0.69956,1-0.092742,0.68494,1-0.21371,0.69225,1-0.375,0.50219,1-0.51325,0.46564,1-0.52477,0.2098,1-0.39804,0.034357,1-0.30588,-0.19225,10.016705,-0.40424,10.13191,-0.51389,10.38537,-0.56506,10.52938,-0.5212,10.63882,-0.24342,10.73675,-0.18494,10.54666,0.48757,10.322,0.5826,10.16647,0.53874,1-0.046659,0.81652,1-0.17339,0.69956,1-0.47869,0.63377,1-0.60541,0.59722,1-0.62846,0.33406,1-0.59389,0.005117,1-0.42108,-0.27266,1-0.11578,-0.39693,10.20104,-0.60161,10.46601,-0.53582,10.67339,-0.53582,1-0.13882,0.54605,1-0.29435,0.77997,1-0.26555,0.96272,1-0.16187,0.8019,1-0.17339,0.64839,1-0.28283,0.47295,1-0.36348,0.31213,1-0.30012,0.027047,1-0.23675,-0.21418,1-0.06394,-0.18494,10.062788,-0.16301,10.22984,-0.41155,10.2932,-0.2288,10.48329,-0.18494,10.64459,-0.14108,10.46025,0.012427,10.6273,0.15863,10.57546,0.26827,10.72523,0.44371,10.22408,0.52412,10.44297,0.67032,10.322,0.69225,10.13767,0.57529,1-0.0063364,0.39985,1-0.092742,0.55336,1-0.20795,0.35599,1-0.20795,0.17325,1-0.43836,0.21711,1-0.21947,-0.016813,1-0.13882,-0.27266,10.18376,0.93348,00.22408,0.77997,00.29896,0.61915,00.50634,0.75804,00.61578,0.7288,00.60426,0.59722,00.76555,0.50219,00.92684,0.3633,00.82316,0.27558,00.96141,0.085526,00.93836,0.012427,00.86348,-0.082602,00.89804,-0.20687,00.85196,-0.36769,00.82892,-0.5212,00.79435,-0.55775,00.59274,-0.7405,00.51786,-0.5943,00.46601,-0.41886,00.35081,-0.57968,00.28744,-0.76974,00.085829,-0.75512,00.14919,-0.57968,0-0.13306,-0.4481,0-0.40956,-0.41155,0-0.39228,-0.25804,0-0.74366,-0.25804,0-0.69758,0.041667,0-0.75518,0.2902,0-0.69758,0.68494,0-0.4038,0.70687,0-0.38076,0.91886,0-0.50749,0.90424,0-0.54781,0.70687,00.10311,0.77997,00.057028,0.91886,0-0.10426,0.99196,0-0.081221,1.1089,00.28744,1.087,00.39689,0.82383,00.63882,0.88962,00.82316,0.66301,00.67339,0.64108,01.0709,0.10015,0-0.046659,-0.57968,0-0.23675,-0.63816,0-0.15035,-0.36769,0-0.49021,-0.3019,0-0.46717,-0.13377,0-0.28859,-0.060673,0-0.61118,-0.067982,0-0.66302,-0.21418,0-0.59965,-0.41886,0-0.72638,-0.082602,0-0.83007,0.31213,0-0.72062,0.53874,0-0.59389,0.49488,0-0.48445,0.99927,0-0.0063364,0.99927,00.63265,-0.030612,0

我还在学习 Python,所以任何建议都是受欢迎的。感谢您的关注,很抱歉如果有任何问题,这是我第一次在这里提问。


回答:

你的逻辑得分超过80%的准确率!不错,很好。我只是做了一些符合 Python 风格的编辑,仅此而已。

我建议在 Python 中将计算成本和梯度分开。在 Matlab/Octave 中返回一对是可以的…

我在 Coursera 上的斯坦福机器学习课程中,Andrew Ng 的课程上做了一个类似的作业,方法如下:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注