Еще один вопрос о регрессии с несколькими целямиPython

Программы на Python
Ответить
Anonymous
 Еще один вопрос о регрессии с несколькими целями

Сообщение Anonymous »

Я пытался реализовать многоцелевую регрессионную модель, следуя примеру, который я нашел по адресу https://medium.com/@tubelwj/developing- ... beca5dd482#: ~: text = несколько%20target%20variables%3a%20 дюйма%20 мюльти, что%20we%20want%20to 20t%20predict. < /p>
По какой -то причине я не могу установить более одного целевая переменная, как показано в прилагаемом коде. Я подозреваю, что это может быть синтаксическая проблема (я относительно новичок в Python), но не могу понять, где. Кто -нибудь может указать мне в правильном направлении? >
Изменить: я должен был отметить, что код работает так же, как и ожидалось, если я включаю только один столбец. Когда я пытаюсь выбрать несколько столбцов, возникает ошибка. Я не уверен, как я бы применил первый из этих ответов на мою ситуацию. Второй из трех ответов очень близок к моему вопросу, однако решения - это именно то, что я пробовал, и все еще получаю ошибки ниже. < /P>
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
# from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import ElasticNet
from sklearn.multioutput import MultiOutputRegressor

from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error

batting=pd.read_csv('//Users/richardcartier/Documents/PythonProjects/pybaseball/Predict_MLB_Stats/2002_2024_batting_stats.csv', index_col=0)
batting.dropna(axis=1, how='all', inplace=True) # drops any columns with NaN values (how='all' will drop columns only if ALL its values are NaN)
batting = batting.fillna(0, axis=1) # fill remaining columns' NaN's with zero.

# Get column names as an Index object
column_names = batting.columns

print(column_names.to_list)

# These are what I tried and the resultant errors
#targets = batting['Next_Hits', 'Next_HRs', 'Next_RBIs', 'Next_RS', 'Next_SBs']
# OUTPUT: KeyError: ('Next_Hits', 'Next_HRs', 'Next_RBIs', 'Next_RS', 'Next_SBs')

# targets = batting(['Next_Hits', 'Next_HRs', 'Next_RBIs', 'Next_RS', 'Next_SBs'])
# OUTPUT: TypeError: 'DataFrame' object is not callable

targets = batting('Next_Hits', 'Next_HRs', 'Next_RBIs', 'Next_RS', 'Next_SBs')
# OUTPUT: TypeError: 'DataFrame' object is not callable
< /code>
Для справки, источник (файл CSV с статистикой бейсбольного ватина) определенно включает в себя столбцы, которые я вызываю, как вы можете видеть ниже из терминала. < /p>
< /p>

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-question
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»