Py学习  »  Justice_Lords  »  全部回复
回复总数  2
6 年前
回复了 Justice_Lords 创建的主题 » 如何在python中向回归添加sum-to-1约束?

你可以 nnls(非负最小二乘法) 这是在scipy下定义的。基于 福特朗 非负最小二乘解算器。不能向其添加约束。所以再加上一个等式 x1+x2+x3=1 输入方程式。

import numpy as np
from scipy.optimize import nnls 
##Define the input vectors
A = np.array([[1., 2., 5.], 
              [5., 6., 4.],
              [1.,  1.,   1. ]])

b = np.array([4., 7., 2.])

##Caluculate nnls
x, resdiual_norm = nnls(A,b)


##Find the difference
print(np.sum(A*x,1)-b)

现在对这个矩阵执行nnls,它将返回x值和残差。

6 年前
回复了 Justice_Lords 创建的主题 » 在python或r中,是否有更有效的方法来聚合数据集并计算频率?
df['value'].value_counts(normalize=True,sort=False)

也许你可以试试这个…

参考:

  1. pandas.Series.value_counts()