- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给定一个名为 coef
的 graphlab.SArray
:
+-------------+----------------+
| name | value |
+-------------+----------------+
| (intercept) | 87910.0724924 |
| sqft_living | 315.403440552 |
| bedrooms | -65080.2155528 |
| bathrooms | 6944.02019265 |
+-------------+----------------+
[4 rows x 2 columns]
还有一个名为 x
的 graphlab.SFrame
(如下所示的前 10 个):
+-------------+----------+-----------+-------------+
| sqft_living | bedrooms | bathrooms | (intercept) |
+-------------+----------+-----------+-------------+
| 1430.0 | 3.0 | 1.0 | 1 |
| 2950.0 | 4.0 | 3.0 | 1 |
| 1710.0 | 3.0 | 2.0 | 1 |
| 2320.0 | 3.0 | 2.5 | 1 |
| 1090.0 | 3.0 | 1.0 | 1 |
| 2620.0 | 4.0 | 2.5 | 1 |
| 4220.0 | 4.0 | 2.25 | 1 |
| 2250.0 | 4.0 | 2.5 | 1 |
| 1260.0 | 3.0 | 1.75 | 1 |
| 2750.0 | 4.0 | 2.0 | 1 |
+-------------+----------+-----------+-------------+
[1000 rows x 4 columns]
我如何操作 SArray 和 SFrame,以便乘法将返回具有第一行的单个向量 SArray,计算如下?:
87910.0724924 * 1
+ 315.403440552 * 1430.0
+ -65080.2155528 * 3.0
+ 6944.02019265 * 1.0
= 350640.36601600994
我目前正在做一些愚蠢的事情,将 SFrame/SArray 转换为列表,然后将其转换为 numpy 数组以执行 np.multiply
。即使在转换为 numpy 数组之后,它也没有给出正确的矩阵向量乘法。我目前的尝试:
import numpy as np
coef # as should in SArray above.
x # as should in the SFrame above.
intercept = list(x['(intercept)'])
sqftliving = list(x['sqft_living'])
bedrooms = list(x['bedrooms'])
bathrooms = list(x['bathrooms'])
x_new = np.column_stack((intercept, sqftliving, bedrooms, bathrooms))
coef_new = np.array(list(coef['value']))
np.multiply(coef_new, x_new)
(错误)[输出]:
[[ 87910.07249236 451026.91998949 -195240.64665846 6944.02019265]
[ 87910.07249236 930440.14962867 -260320.86221128 20832.06057795]
[ 87910.07249236 539339.88334408 -195240.64665846 13888.0403853 ]
...,
[ 87910.07249236 794816.67019127 -260320.86221128 17360.05048162]
[ 87910.07249236 728581.94767533 -260320.86221128 17360.05048162]
[ 87910.07249236 321711.50936313 -130160.43110564 5208.01514449]]
我尝试的输出也是错误的,它应该返回单个向量标量值。必须有更简单的方法来做到这一点。
我如何操作 SArray 和 SFrame,以便乘法返回具有第一行的单个向量 SArray,计算如下?
对于 numpy
Dataframes,应该如何执行矩阵向量乘法?
最佳答案
我认为最好的办法是将 SFrame 和 SArray 都转换为 numpy 数组并使用 numpy dot
方法。
import graphlab
sf = graphlab.SFrame({'a': [1., 2.], 'b': [3., 5.], 'c': [7., 11]})
sa = graphlab.SArray([1., 2., 3.])
X = sf.to_dataframe().values
y = sa.to_numpy()
ans = X.dot(y)
我在这里使用的数据比您所拥有的要简单,但这也应该适用于您。我能看到的唯一复杂情况是您必须确保 SArray 中的值与 SFrame 中的列的顺序相同(在您的示例中它们不是)。
我认为这也可以通过 SFrame apply
来完成,但除非您有大量数据,否则点积路线可能更简单。
关于python - 使用 SFrame 和 SArray 与 Graphlab 和/或 Numpy 进行矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34233114/
在“import graphlab”时发生以下情况: ACTION REQUIRED: Dependencies libstdc++-6.dll and libgcc_s_seh-1.dll not
我尝试通过 pip 安装 GraphLab Create。快速穿过台阶,直到最后一步让我停住了脚步。最终命令: pip install --upgrade --no-cache-dir https:/
我有一个具有多个输入的函数,并且想使用SFrame.apply创建一个新列。我找不到将两个参数传递给SFrame.apply的方法。 理想情况下,它将列中的条目作为第一个参数,而我将传入第二个参数。直
我已加入 coursera 上的机器学习类(class)。我在执行以下命令时遇到问题: sales = graphlab.SFrame('home_data.gl/') 错误如下: IOErr
当我尝试导入 graphlab 时,出现 ImportError。我的 MacBook 使用 OSX Yosemite 10.10.4。我确实有 anaconda,但我的 envs 文件夹是空的。根据
如何对 SFrame graphlab 的一列中的所有值求和。我试着查看官方文档,它只针对 SaArray( doc )没有任何例子。 最佳答案 >>> import graphlab as gl >
给定一个 Graphlab SFrame: +-------+------------+---------+-----------+ | Store | Date | Sales |
我一直在学习 Graphlab,但也想看看 pandas,因为它是开源的,将来我可能会发现自己在一家没有 GL 许可证的公司,我想知道 pandas 如何可以像使用 GL 一样创建基本模型。 data
有一个 SFrame,其中的列具有 dict 元素。 import graphlab import numpy as np a = graphlab.SFrame({'col1':[{'oshan':
我想在您的帮助下计算以下错误: 需要采取措施:未找到依赖项 libstdc++-6.dll 和 libgcc_s_seh-1.dll。 确保用户帐户具有对 C:\GraphLab\IntalledPa
我目前正在学习华盛顿大学提供的 Coursera(机器学习)类(class),我在使用 numpy 和 graphlab 时遇到了一些小问题 类(class)要求使用1.7以上的graphlab版本我
我有两列字符串。让我们说 col1 和 col2现在我们如何使用 graphlab SFrame 将 col1 和 col2 的内容合并到 col3 中? col1 col2 23 33 42
我有一个 SFrame,其外观与 sf.print_rows(10) 类似: +--------------+---------------+-------+---------------------
我在让 graphlab 工作时遇到了一些问题。每次我想导入 graphlab 时,我都会收到消息: ACTION REQUIRED: Dependencies libstdc++-6.dll and
为什么创建“gl-env”会出现问题?我也试过重新安装它……但没有任何帮助。 CIO_TEST: CONDA_DEFAULT_ENV: CONDA_ENVS_PATH: PATH: C:\Use
当我尝试下载运行 graphlab 所需的依赖项时遇到问题。我执行 import graphlab 我得到以下信息: ACTION REQUIRED: Dependencies libstdc++-6
我最近升级了我拥有的 Graph Lab 创建版本。使用 Jupyter 控制台运行代码时,出现以下错误: from __future__ import division import graphla
所以,一周前我开始使用 Graphlab 来参加我的机器学习类(class)。我对 Graphlab 还很陌生,我通读了 API,但无法完全得到我正在寻找的解决方案。那么,问题来了。我有多个列的数据,
运行 gl.canvas.set_target('ipynb') 会在 docker 容器中抛出以下异常。 即使使用 gl.canvas.set_target('ipynb', port=28892)
我正在使用 graphlab 库中的 sframes。我需要按行进行一些计算。此外,如果我能够转置 sframe,则 sframe 结构在我的情况下会更有意义。 有什么办法可以做到吗?还是可以在我可以
我是一名优秀的程序员,十分优秀!