相关疑难解决方法(0)

具有约束约束的scipy.optimize.leastsq

我正在寻找scipy/numpy中的优化例程,它可以解决非线性最小二乘类型问题(例如,将参数函数拟合到大数据集),但包括边界和约束(例如参数的最小值和最大值)优化).目前我使用的是pyfit版本的mpfit(从idl翻译过来......):虽然效果很好,但显然不是最佳选择.

python/scipy/etc中的高效例程可能很棒!这里非常欢迎任何输入:-)

谢谢!

python optimization mathematical-optimization scipy

24
推荐指数
3
解决办法
3万
查看次数

对 Python 上的每个系数具有特定约束的多元线性回归

我目前正在数据集上运行多元线性回归。起初,我没有意识到我需要限制我的体重;事实上,我需要有特定的正负权重。

更准确地说,我正在做一个评分系统,这就是为什么我的一些变量应该对笔记产生积极或消极的影响。然而,在运行我的模型时,结果不符合我的预期,我的一些“正”变量得到负系数,反之亦然。

例如,假设我的模型是:

y = W0*x0 + W1*x1 + W2*x2 
Run Code Online (Sandbox Code Playgroud)

其中 x2 是一个“正”变量,我想将 W2 的约束设为正值!

我一直在寻找关于这个问题的很多东西,但我没有发现任何关于特定权重/系数的约束,我发现的只是将所有系数设置为正数或将它们相加为一。

我正在使用 ScikitLearn 包研究 Python。这就是我获得最佳模型的方式:

def ridge(Xtrain, Xtest, Ytrain, Ytest, position):
    param_grid={'alpha':[0.01 , 0.1, 1, 10, 50, 100, 1000]}
    gs = grid_search.GridSearchCV(Ridge(), param_grid=param_grid, n_jobs=-1, cv=3)
    gs.fit(Xtrain, Ytrain)
    hatytrain = gs.predict(Xtrain)
    hatytest = gs.predict(Xtest)
Run Code Online (Sandbox Code Playgroud)

知道如何为特定变量的系数分配约束吗?定义每个约束可能会很麻烦,但我不知道该怎么做。

python constraints machine-learning linear-regression scikit-learn

7
推荐指数
1
解决办法
4733
查看次数