Проблемы с моделью линейной регрессии - PullRequest
0 голосов
/ 05 августа 2020

У меня есть этот DataFrame, который я создал, используя данные из ссылки на баскетбол, и я получаю среднее значение для каждой характеристики c. Данные DataFrame Независимо от того, какой столбец я использовал для обучения своей линейной модели, мой балл R2 близок к 0, а прогнозы ужасны.

import pandas as pd
import numpy as np
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import r2_score
import math


percent=math.floor(len(df)*0.80)
X=df['Mean MP'].to_numpy()
Y=df['BPM'].to_numpy()
Y=Y.reshape(Y.shape[0], )
X=StandardScaler().fit_transform(X)

X_train=X[:percent]
Y_train=Y[:percent]
X_test=X[percent:]
Y_test=Y[percent:]

model=linear_model.LinearRegression()
model.fit(X_train,Y_train)

a=r2_score(Y_test,model.predict(X_test))
a=-0.07

Я думаю, это то, как я создаю или использую свои DataFrame, но я не знаю, как исправить проблему. Я хочу sh вы могли бы мне помочь, спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

Может быть, это не та проблема для машинного обучения. Вы уверены, что существует какая-то связь между одной или несколькими статистическими данными, представленными в вашем фрейме данных, и оценкой BPM? Возможно, попробуйте использовать алгоритм мультиклассовой классификации, такой как дерево решений, используя все функции, после изменения BPM на категориальные оценки, например, от 0 до -2 - скамейка запасных, от 4 до 6 - все звездные соображения. Я ничего не знаю о баскетболе, и я использовал эту ссылку, чтобы понять вещи.

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