首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线性回归因阵列错误而无法工作

线性回归因阵列错误而无法工作
EN

Data Science用户
提问于 2020-05-28 16:14:37
回答 1查看 2K关注 0票数 0

我试着处理我的作业。任务是接受这些数据并对其执行线性回归。

代码被发布为这里

我对用Python和数据科学编程非常陌生。所以我试着像翻译所建议的那样进行转换,但没有成功。我的第一个错误是有一个2d数组,但是给出了一个一维数组。然后,我把纯数组放到一个空数组中,这是StackOverflow的回答,错误是给出了一个标量数组,但是给出了一个2d数组。

代码语言:javascript
复制
import pandas as pd
from sklearn.preprocessing import StandardScaler

#Import
data = pd.read_csv('uscrime.txt', sep="\t")
crime = pd.concat([data], axis = 1)
print(crime)

from sklearn.linear_model import LinearRegression
regression = LinearRegression()
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(crime.get("M"), crime.get("Crime"), test_size=0.2, random_state=0)

X_train_new = []
X_train_new.append(X_train.values)

y_train_new = []
y_train_new.append(y_train.values)

regression.fit(X_train_new, y_train_new)
EN

回答 1

Data Science用户

回答已采纳

发布于 2020-06-01 11:17:01

代码语言:javascript
复制
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split


data = pd.read_csv("http://www.statsci.org/data/general/uscrime.txt", sep="\t")
x = data.loc[:, data.columns != 'Crime'].to_numpy() 
y = np.squeeze(data.loc[:,'Crime'].to_numpy())

regression = LinearRegression()

regression.fit(x, y)

科基特学习期望的是numpy数组,而不是熊猫的数据。您需要从一个转换到顶部的另一个,您需要确保y的数组只有一个维度,这是我通过np.squeeze实现的。额外好处:请看上面你如何从网站上直接加载csv。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/75006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档