python - 使用多项式特征时的形状错误
问题描述
问题
首先,我对机器学习很陌生。我决定测试我在一些财务数据上学到的一些东西,我的机器学习模型如下所示:
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
df = pd.read_csv("/Users/Documents/Trading.csv")
poly_features = PolynomialFeatures(degree=2, include_bias=False)
linear_reg = LinearRegression(fit_intercept = True)
X = df_copy[["open","volume", "base volume", "RSI_14"]]
X_poly = poly_features.fit_transform(X)[1]
y = df_copy[["high"]]
linear_reg.fit(X_poly, y)
x = linear_reg.predict([[1.905E-05, 18637.07503453,0.35522205, 69.95820948552947]])
print(x)
在我尝试实施之前一切正常,PolynomialFeatures
这会导致以下错误:
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
解决问题的尝试:
尝试 1
我尝试将 .values 添加到X
但仍然出现相同的错误:
X_poly = poly_features.fit_transform(X.values)[1]
尝试 2
reshape(-1, 1)
我尝试通过在末尾添加来解决这个问题X_poly
:
X_poly = poly_features.fit_transform(X)[1].reshape(-1, 1)
但它只是用这个替换了以前的错误:
ValueError: Found input variables with inconsistent numbers of samples: [14, 5696]
非常感谢您的帮助。
解决方案
它希望你转换你的输入。尝试使用X_poly = poly_features.fit_transform(X.values.reshape(1,-1))[1]
推荐阅读
- python - 杀死进程,包含一个无限循环,显然在多个操作系统上
- powerpoint - 从 Golang 控制 PowerPoint
- kubernetes - 在 helm 升级期间无法重新创建部署,因为 PersistentVolumeClaim 和 Service 无法替换
- amazon-dynamodb - Dynamoose:提供的关键元素与架构不匹配
- selenium - 如何在不使用 browser.pause 的情况下使 E2E 稳定?
- javascript - React JS:未捕获的 TypeError:getState 不是函数
- javascript - 开玩笑期望对象属性值不是对象
- flutter - 扩展和灵活的工作在一行中不太好
- prolog - 如何在 Prolog 中使用临时变量创建交换函数?
- r - 使用 is.na() 函数检查数据框中的缺失值