python 3 инженерия данных - конструктивные особенности в массиве numpy - PullRequest
0 голосов
/ 22 апреля 2020

Я следую этому руководству для начинающих по линейной регрессии, используя scikit-learn, и примерно на 3/4 вниз на странице, где разрабатывается пример теста качества красного вина.

Чтобы я мог извлечь существенную пользу из этого упражнения, я должен реализовать регрессию без pandas (поскольку это не является частью рабочего процесса моей компании). Это создало немного неприятностей для меня при создании функций. Вот как это демонстрируется с pandas:

dataset = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/winequality.csv')

X = dataset[['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density', 'pH', 'sulphates','alcohol']].values
y = dataset['quality'].values

Тем временем я буду использовать нативный numpy для разбора. Я попытался:

data = np.genfromtxt('winequality-red.csv', skip_header=True, delimiter=',')
fixed_acidity = data.T[0]
volatile_acidity = data.T[1]
citric_acid = data.T[2]
residual_sugar = data.T[3]
chlorides = data.T[4]
free_sulfur_dioxide = data.T[5]
total_sulfur_dioxide = data.T[6]
density = data.T[7]
ph = data.T[8]
sulphates = data.T[9]
alcohol = data.T[10]
quality = data.T[11]

Затем я собрал их в:

X = [fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides, free_sulfur_dioxide, total_sulfur_dioxide,
    density, ph, sulphates, alcohol]
y = quality

Однако, когда я попробовал реальную регрессию:

regressor = LinearRegression()  
regressor.fit(X, y)

Я получил ошибку:

ValueError: Найдены входные переменные с непоследовательным количеством выборок: [11, 1599]

В принципе, совершенно разумно использовать native numpy для регрессии , но на практике это было очень сложно для меня.

Вопрос

Что я должен рассмотреть, чтобы отрегулировать для реализации регрессии с нативным numpy?

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