Я рассмотрел несколько вопросов, которые помогают разделить ваш фрейм данных на обучение и тестирование, с помощью scikit, без и т. д.
Но мой вопрос в том, что у меня есть 2 разных CSV (2 разных кадра данных разных лет). Я хочу использовать один как поезд, а другой как тест?
Как это сделать для линейной регрессии/любой модели?
train
для fit
модели.test
для predict
результата после тренировки.# Load the data
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
# Split features and value
# when trying to predict column "target"
X_train, y_train = train.drop("target"), train["target"]
X_test, y_test = test.drop("target"), test["target"]
# Fit (train) model
reg = LinearRegression()
reg.fit(X_train, y_train)
# Predict
pred = reg.predict(X_test)
# Score
accuracy = reg.socre(X_test, y_test)
Привет, я думаю, вы забыли добавить префиксы X_ и y_ для «загрузки данных»? :)
пожалуйста,killsmuggler, что насчет X_train и X_Test, как я могу это определить, потому что, когда я пытаюсь это сделать, он говорит NameError: имя «X_train» не определено
Как сейчас написано, ваш ответ неясен. Пожалуйста, редактировать, чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.
Да, это немного неправильно. Пожалуйста, добавьте это после первых трех строк y_train = train[:, :1] #если y — это только один столбец X_train = train[:, 1:]
Я не мог отредактировать первый ответ, который почти готов. Хотя кода не хватает...
# Load the data
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
y_train = train[:, :1] #if y is only one column
X_train = train[:, 1:]
# Fit (train) model
reg = LinearRegression()
reg.fit(X_train, y_train)
# Predict
pred = reg.predict(X_test)
# Score
accuracy = reg.socre(X_test, y_test)
Да,
X_train
иX_test
должны иметь одинаковую последовательность столбцов (признаков).