При обучении логистической регрессией ошибка декодирования: откуда?
Пытаюсь построить модель классификации цифр датасета mnist. Ловлю ошибку на этапе обучения модели LogisticRegression:
AttributeError: 'str' object has no attribute 'decode'
С чем это может быть связано?
%matplotlib inline
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
train = np.loadtxt('/kaggle/input/digit-recognizer/train.csv', delimiter=',', skiprows=1)
test = np.loadtxt('/kaggle/input/digit-recognizer/test.csv', delimiter=',', skiprows=1)
train_label = train[:, 0] # В нулевом столбце представлены конкретные цифры
scaler = StandardScaler()
train_img = scaler.fit_transform(train[:, 1:])
test_img = scaler.fit_transform(test[:, 1:])
from sklearn.decomposition import PCA
pca = PCA(.95)
pca.fit(train_img)
pca.fit(test_img)
logisticRegr = LogisticRegression(solver = 'lbfgs')
logisticRegr.fit(train_img, train_label)
Ответы (1 шт):
Автор решения: sem4ik
→ Ссылка
Этот баг - прикол lbfgs. Возможно, в новых версиях это уже исправили, но всё-таки попробуйте прописать в терминале
pip install scikit-learn -U
Это обновит scikit-learn, если существует такая необходимость. Также стоит поменять решатель, если вам это не принципиально. На acc это сильно не скажется, но вот проблему решит.
logisticRegr = LogisticRegression(solver = 'liblinear')