python - 如何修复python中的sklearn多元线性回归ValueError(样本数量不一致:[2, 1])
问题描述
我的线性回归与单个特征完美配合。自从尝试使用两个以来,我收到以下错误:ValueError:找到样本数量不一致的输入变量:[2, 1]
第一个打印语句打印以下内容: (2, 6497) (1, 6497)
然后代码在 train_test_split 阶段崩溃。
有任何想法吗?
feat_scores = {}
X = df[['alcohol','density']].values.reshape(2,-1)
y = df['quality'].values.reshape(1,-1)
print (X.shape, y.shape)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
print (X_train.shape, y_train.shape)
print (X_test.shape, y_test.shape)
reg = LinearRegression()
reg.fit(X_train, y_train)
reg.predict(y_train)
解决方案
你错过了这一行
X = df[['alcohol','density']].values.reshape(2,-1)
y = df['quality'].values.reshape(1,-1)
不要将数据重塑为(2, 6497) (1, 6497),而是必须将其作为(6497,2) (6497,)
Sklearn 直接获取数据帧/系列。所以你可以给,
X = df[['alcohol','density']]
y = df['quality']
此外,您只能使用 X 值进行预测,因此
reg.predict(X_train)
或者
reg.predict(X_test)
推荐阅读
- python - Beautifulsoup 错误地将微笑数据中的 @ 解释为 [email protected]。我怎样才能拥有基本字符串?
- python - 手动附加 Django UUIDField
- angular - 接口“HTMLIonIconElement”不能同时扩展类型“IonIc on”和“HTMLStencilElement”
- mongodb - 客户端证书验证和没有 MongoDB TLS 连接有什么区别?
- html - 自定义 Webflow 汉堡菜单
- laravel - 搜索 Meilisearch / Laravel Scout 中的所有单词
- docker-compose - jinja2中的过滤器或映射
- reactjs - 使用 react-google-maps - 有没有办法点击地图添加标记?
- c# - 在 Catel 中为依赖注入注册具有多个接口的类
- google-analytics - 解决谷歌分析中的 IOS 14 问题