- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试使用 sklearn 对一些虚拟数据执行简单的多元线性回归。我最初通过 sklearn.linear_model.LinearRegression.fit numpy 数组并不断收到此错误:
ValueError: matmul: 输入操作数 1 的核心维度 0 不匹配,gufunc 签名为 (n?,k),(k,m?)->(n?,m?)(大小 2 不同于1)
我认为这是由于我的数组转置或其他原因造成的一些错误,所以我拉出了一个tutorial that used pandas dataframes并以同样的方式设置我的代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
VWC = np.array((0,0.2,0.4,0.6,0.8,1))
Sensor_Voltage = np.array((515,330,275,250,245,240))
X = np.column_stack((VWC,VWC*VWC))
df = pd.DataFrame(X,columns=["VWC","VWC2"])
target = pd.DataFrame(Sensor_Voltage,columns=["Volt"])
model = LinearRegression()
model.fit(df,target["Volt"])
x = np.linspace(0,1,30)
y = model.predict(x[:,np.newaxis])
plt.plot(VWC, Sensor_Voltage)
plt.plot(x,y,dashes=(3,1))
plt.title("Simple Linear Regression")
plt.xlabel("Volumetric Water Content")
plt.ylabel("Sensor response (4.9mV)")
plt.show()
我仍然得到以下回溯:
Traceback (most recent call last):
File "C:\Users\Vivian Imbriotis\AppData\Local\Programs\Python\Python37\simple_linear_regression.py", line 16, in <module>
y = model.predict(x[:,np.newaxis])
File "C:\Users\Vivian Imbriotis\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\linear_model\_base.py", line 225, in predict
return self._decision_function(X)
File "C:\Users\Vivian Imbriotis\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\linear_model\_base.py", line 209, in _decision_function
dense_output=True) + self.intercept_
File "C:\Users\Vivian Imbriotis\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\utils\extmath.py", line 151, in safe_sparse_dot
ret = a @ b
ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 2 is different from 1)
几个小时以来我一直在努力解决这个问题,但我只是不明白我做错了什么。
Scikit-learn、numpy、pandas均为最新版本;这是在 python 3.7.3 上的
已解决:我很愚蠢,误解了 np.newaxis 的工作原理。这里的目标是对数据进行二次拟合,所以我只需要更改:
x = np.linspace(0,1,30)
y = model.predict(x[:,np.newaxis])
至
x = np.columnstack([np.linspace(0,1,30),np.linspace(0,1,30)**2])
y = model.predict(x)
我确信有一种更优雅的方式来编写它,但是呃。
最佳答案
您使用 (6,2) 数据集的形状训练模型。如果您检查 df 的形状
df.shape = (6,2)
。
当您尝试预测时,您正在尝试使用不同形状的数据集。
x.shape=(30,1)
您需要的是使用正确的数据集形状。试试这个
x = np.linspace((0,0),(1,1),30)
y = model.predict(x)
关于python - 值错误: matmul when trying to fit sklearn's linear regressor to pandas dataframe instanses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205523/
代码: x = tf.constant([1.,2.,3.], shape = (3,2,4)) y = tf.constant([1.,2.,3.], shape = (3,21,4)) tf.ma
有人可以解释一下,TensorFlow 的 eager 模式是如何工作的吗?我正在尝试构建一个简单的回归,如下所示: import tensorflow as tf tfe = tf.contrib.
我对 Tensorflow 很陌生。我已经在搜索相同的问题,但我不明白。有代码。希望你能帮助我。 代码: import tensorflow as tf w1 = tf.Variable(tf.ran
我对使用 * 和 matmul 的两个张量之间的乘法感到困惑。下面是我的代码 import torch torch.manual_seed(7) features = torch.randn((2,
我有 3 个张量 X 形状(1, c, h, w),假设(1, 20, 40, 50) Fx 形状(num, w, N),假设(1000, 50, 10) Fy shape (num, N, h),假
我已经计算了 Fortran 的 MATMUL 函数使用不同乘法大小(32 × 32、64 × 64,...)花费的时间,我对结果有疑问。 这些是结果: SIZE ----- TIME IN SECO
a = [1, 2, 3] b = [10, 10, 10] np.matmul(a, b) 结果是 60。 numpy 如何乘以 (3,) 和 (3,) 维度并返回点积而不是外积(3 * 3)或抛出
我看到许多机器学习教程通过构造两个矩阵、权重矩阵和输入(或激活)矩阵来解释全连接网络,并执行矩阵到矩阵乘法(matmul)以形成线性方程。 我看到的所有示例都将输入作为 matmul 的第一个参数,将
当我在代码中的某行调用 np.matmul 时出现此错误。这是我在解决 python 调试器错误时得到的信息: > /home/marcos/Desktop/Machine_Learning_for_
我想在等级 2 和等级 3 的两个张量之间广播 tf.matmul 运算,其中一个包含“未知”形状的维度(基本上是特定维度中的“无”值) )。 问题是动态尺寸 tf.reshape 和 tf.broa
我尝试在 tensorflow 中编写和(逻辑运算),有两个输入和两个权重将它们相乘得到一个数字并将这个数字加到偏差中,我在 matmul 中的问题是发送 X(输入)和 W(权重) 以方法形。[[1]
我正在研究并行编程概念并尝试优化单核上的矩阵乘法示例。到目前为止,我想出的最快的实现如下: /* This routine performs a dgemm operation * C := C
我有一些由 input_x 表示的数据。它是一个未知大小的张量(应该批量输入),每个项目的大小为 n。 input_x 经历 tf.nn.embedding_lookup,因此 embed 现在具有维
在 Python 中,@ 运算符传递给元素的 __matmul__ 属性。当实现一个与实际后端无关的方法时,这会派上用场。例如 def inner(x, y): return x @ y
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 2 年前。 Improve
我正在尝试使用 tf.matmul() 执行稀疏矩阵乘法。 但是,推理速度比密集矩阵乘法慢得多。 根据 tf.sparse_matmul() 中的描述: 在一个平台上使用此乘法与密集矩阵相乘的盈亏平衡
我有一个我一直在努力解决的问题。与 tf.matmul() 相关并且没有广播。 我在 https://github.com/tensorflow/tensorflow/issues/216 上发现了类
我有许多带有形状的矩阵 w1、w2、w3...wn (k*n1 、k*n2、k*n3...k*nn) 和 x1、x2、x3...xn 具有形状(n1*m、n2*m、n3*m...nn*m >). 我想
我阅读了tf.matmul的官方文档我理解第一个例子。这是一个简单的 [2,3] x [3,2] 操作: a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3
我正在尝试使用 4D-numpy 数组数据在 TensorFlow 中实现多层感知器我在 MatMul 函数上遇到了这个问题。我希望有人能在这里帮助我,非常感谢。 ValueError: Shape
我是一名优秀的程序员,十分优秀!