Ошибка модели слишком мала, возможна проблема с типом данных - PullRequest
0 голосов
/ 05 октября 2019

Игра с sci-kit в первый раз. По сути, используется многолинейная регрессия для прогнозирования числа на основе числовых функций, а также категорий.

Мой код работает (достаточно удивительно ;-)) - однако, он работает немного слишком хорошо. Я получаю среднюю ошибку менее 1/1000000 на тестовом наборе, что не может быть правдой.

Я новичок в Python, и он чувствует себя не так. Я сделал что-то неправильно, когда дело доходит до перевода между наборами данных и фреймами данных? Я заметил, что мне пришлось использовать [[variable]] несколько раз, чтобы заставить его работать.

df = pd.read_csv('train_medium.csv')
df = df.fillna(method='ffill')

y = df[['Income']]

x = df[[ ... columns here ... ]]
cat_columns = [ ... columns here ... ]
x = pd.get_dummies(df, prefix_sep="__", columns=cat_columns)

X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

regressor = LinearRegression()  
regressor.fit(X_train, y_train)

coeff_df = pd.DataFrame([[regressor.coef_]], x.columns, columns=['Coefficient'])  
# print(coeff_df)

y_pred = regressor.predict(X_test)

df = pd.DataFrame({'Actual': [y_test]['Income'], 'Predicted': [y_pred]})

print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))  
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))  
print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))

Спасибо за любые идеи, я потратил целый день на это -.-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...