Получение низкой оценки точности при использовании различных алгоритмов для данного набора данных - PullRequest
0 голосов
/ 24 апреля 2019

Я выполнил код, который делает прогноз с использованием нескольких алгоритмов классификации, таких как KNN или Naive-Bayes.Основная идея использования нескольких алгоритмов - сравнение их точности.В то время как Логистическая регрессия имеет около 88% рейтинга точности, KNN имеет около 76%.Когда я показал код пожилым людям.Они сказали мне, что рейтинги слишком низкие.

Репозиторий Github для набора данных и кода: https://github.com/halilzcler/product-prediction

Так я преобразовал данные, для прогноза я использовал библиотеку scikit-learn.Я не добавил весь код здесь, полный код находится в github-репо.

df1 = pd.read_csv('data.train.csv')
df2 = pd.read_csv('data.test.csv')


df1.rename( columns={'Unnamed: 0':'Customer', 'Products bought by the customer':'ItemId', 'New products bought by the customer':'Product'}, inplace=True )
df2.rename( columns={'Unnamed: 0':'Customer', 'Products bought by the customers':'ItemId', 'New products bought by the customers':'Product'}, inplace=True )


def products(item):
    productList = item.split(";")
    return productList


df1["ItemId"] = df1["ItemId"].apply(products)
df2["ItemId"] = df2["ItemId"].apply(products)


df1_dummies = df1["ItemId"].str.join(sep='*').str.get_dummies(sep='*') 
df2_dummies = df2["ItemId"].str.join(sep='*').str.get_dummies(sep='*')     

dfTrain = df1.merge(df1_dummies, left_index = True, right_index = True) \
             .drop("ItemId", axis = 1) \
             .drop("Customer", axis = 1)
dfTest = df2.merge(df2_dummies, left_index = True, right_index = True) \
             .drop("ItemId", axis = 1) \
             .drop("Customer", axis = 1)

le = preprocessing.LabelEncoder().fit(dfTrain['Product'])
dfTrain['Product'] = le.fit_transform(dfTrain['Product'])


X_train = dfTrain[dfTrain.columns[-74:]].values
X_test = dfTest[dfTest.columns[-74:]].values

y_train = dfTrain.iloc[:, 0].values

Согласно обратной связи, ожидаемый минимальный рейтинг точности для любого алгоритма классификации должен быть около 90%, мои результаты ниже, и яне смог найти свою ошибку.Я не уверен, в чем проблема.

Я ценю любую помощь.

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