Numpy 让熊猫与scikit好好玩耍学习
这是一个理论问题。我知道SO不喜欢不易复制的代码,但请容忍我 我有一个熊猫数据框,我想在上面运行套索回归。要做到这一点,我所知道的最好的方法是将这些功能放入numpy阵列:Numpy 让熊猫与scikit好好玩耍学习,numpy,pandas,scikit-learn,Numpy,Pandas,Scikit Learn,这是一个理论问题。我知道SO不喜欢不易复制的代码,但请容忍我 我有一个熊猫数据框,我想在上面运行套索回归。要做到这一点,我所知道的最好的方法是将这些功能放入numpy阵列: features = df[list(cols)].values features = np.nan_to_num(features) 然后我开始学习魔术: lasso_model = LassoCV(cv = 15, copy_X = True, normalize = True, max_ite
features = df[list(cols)].values
features = np.nan_to_num(features)
然后我开始学习魔术:
lasso_model = LassoCV(cv = 15, copy_X = True, normalize = True, max_iter=10000)
lasso_fit = lasso_model.fit(features, label)
lasso_path = lasso_model.score(features, label)
print lasso_model.coef_
现在我的问题是如何有效地让熊猫和numpy一起工作。这张照片显示了如下内容:
array([ 1.69066749e-05, -1.56013346e-05, 0.00000000e+00,
-6.77086687e-06, 0.00000000e+00, 3.95920932e-08,
0.00000000e+00, 6.54752484e-06, -0.00000000e+00,
-1.18676617e-05, -7.36411973e-08, 4.72966581e-05,
2.91028626e-06, 1.60674178e-05, 8.83195041e-06,
-8.74769447e-02, 1.39914995e-04, -1.86801467e-05,
3.68593473e-01, 4.16009393e-01, 9.27391598e-07,
-0.00000000e+00, 0.00000000e+00, -4.07446333e-03,
2.33648787e-01, 0.00000000e+00, 2.22660872e-02,
0.00000000e+00, 3.04366897e-02, -0.00000000e+00,
0.00000000e+00, -0.00000000e+00, -0.00000000e+00,
1.85141334e-01, 9.50727274e-02, -4.94268994e-03,
2.22993839e-01, 0.00000000e+00, 1.23715861e-02,
0.00000000e+00, 5.42142052e-02, -1.27412757e-02,
2.98389804e-02, 1.35957828e-02, -0.00000000e+00,
3.64953613e-02, -0.00000000e+00, 1.03289810e-01,])
这对我没有好处。如何有效地获得哪些列的系数
我已经找到了一些黑客的方法来做一些,但我认为有一个更好的方法,我可以做到这一点
例如,我知道我可以通过以下方式进行最大值:
In [256]: coef.argmax()
Out[256]: 19
In [257]: cols[19]
Out[257]: 'Price'
我想我想知道的主要事情是如何将列名字典转换成系数对
谢谢大家 您可以制作一个字典,将
cols
映射到coef
s,如下所示:
dict(zip(cols, coef))
这是一个。您可以制作一个字典,它将
cols
映射到coef
s,如下所示:
dict(zip(cols, coef))
这是一个。它不是
coef[0]
,因为它是数组(n_类,n_特征)
?它不是coef[0]
,因为它是数组(n_类,n_特征)
?