Я следую этому руководству для начинающих по линейной регрессии, используя 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?