我试着处理我的作业。任务是接受这些数据并对其执行线性回归。
代码被发布为这里。
我对用Python和数据科学编程非常陌生。所以我试着像翻译所建议的那样进行转换,但没有成功。我的第一个错误是有一个2d数组,但是给出了一个一维数组。然后,我把纯数组放到一个空数组中,这是StackOverflow的回答,错误是给出了一个标量数组,但是给出了一个2d数组。
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)发布于 2020-06-01 11:17:01
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。
https://datascience.stackexchange.com/questions/75006
复制相似问题