NFT — это изображение в виде цифрового токена. Затем эти токены продаются онлайн. NFT может быть чем угодно в цифровой форме. Каждое изображение NFT имеет свою цену, и мы применяем методы машинного обучения для прогнозирования цены на изображения NFT.

Для реализации этой постановки задачи мы собрали изображения и соответствующие цены, используя скрипт selenium, около 5000 изображений из нескольких источников. Чтобы извлечь информацию из всех изображений, мы использовали OpenCV и NumPy и собрали интенсивность трех пикселей. В цветовом пространстве RGB мы преобразовали трехмерные данные в одномерные, которые работают как независимые данные для алгоритмов машинного обучения и цены каждого изображения в качестве зависимой функции.

Используемые методы

• Numpy
• Pandas
• Seaborn
• Matplotlib
• Статистика
• OpenCV
• Машинное обучение Контролируемые методы

С помощью NumPy и pandas мы удалили нежелательное изображение, которое не несет никакой информации. Теперь у нас есть независимые функции. Мы использовали контролируемые методы машинного обучения, такие как алгоритмы регрессии и классификации_регрессии.

Используемые алгоритмы

• Множественная линейная регрессия
• Регрессор KNN
• Регрессор опорных векторов
• Регрессор Adaboost
• Дерево решений

Чтобы обучить данные для алгоритмов ML, мы разделили данные на обучение и тестирование, где обучающая часть содержит 80 % данных, а тестовая — 20 % данных.
Мы обучили регрессор KNN, регрессор опорных векторов. , дерево решений и регрессор Adaboost. Но, к сожалению, результаты были не такими хорошими, потому что KNN нужно собирать идеальные k-значения. Проблема заключается в регрессии, а не в классификации, поэтому из-за слишком большого диапазона распределения значений из независимых данных.
Для метода опорных векторов из-за высокой размерности предельного расстояния и поддержки данных векторы очень близки к друг друга. Таким образом, мы сталкиваемся с проблемой переобучения при реализации машины опорных векторов.

Множественная линейная регрессия

Множественная линейная регрессия — это метод регрессии, результаты которого лучше по сравнению с KNN-R и SVM-R. Первоначально точность поезда для модели MLR составляла 91, а для теста — 82.
Поэтому мы улучшили производительность модели, используя методы разработки признаков и регуляризации.

Обработка выбросов для MLR

Поскольку функции данных имеют больший размер, нет возможности выбрать лучшие функции, потому что каждый пиксель важен и несет некоторую информацию. С помощью научного набора и функционального механизма мы обработали выбросы, используя область 5-го квантиля и 95-го квантиля, чтобы удалить небольшой объем данных, которые находятся далеко от остальных точек данных.

Масштабирование функций для MLR:

Очищаем выбросы. Есть некоторые особенности, следующие за асимметрией, и некоторые особенности, не соответствующие нормальному распределению. Используя структуру механизма функций, мы можем уменьшить значения пикселей с помощью стандартизации. Используя преобразование Йео-Джонсона, мы обработали асимметрию, чтобы следовать нормальному распределению. Поскольку преобразование Йео-Джонсона не влияет на отрицательные значения, этот метод помогает нам обрабатывать данные.

Несмотря на то, что мы обработали выбросы и асимметрию данных, прирост точности теста не так высок. Поэтому мы собрали больше изображений и увеличили размер данных. Чтобы проверить, дают ли новые добавленные данные лучшие результаты, мы скорректировали методы r2 для проверки производительности модели до и после добавления данных. Добавление данных помогает нам, но не в больших масштабах. Итак, мы приступили к решению проблем переобучения, используя методы регуляризации, такие как методы L1 и L2.

Используя эту регрессию Риджа и Лассо, мы уменьшили систематическую ошибку в небольшом масштабе и увеличили дисперсию в небольшом масштабе, обновив значения коэффициентов. Обновление значений коэффициентов и допущение ошибок, близких к нулю, повысило производительность модели.

В конечном итоге значение точности для поезда и теста равно

• Точность обучения = 98,052948845
• Точность теста = 89,674529872

Чтобы проверить, хорошо ли работает наша Модель, мы собрали несколько изображений NFT и спрогнозировали цены. В таблице ниже приведены полные результаты для наших тестовых изображений.

Полезная информация

Рекомендации

Блог: https://www.bluetickconsultants.com/price-predictions-for-nft-images.html

Код GitHub: https://github.com/bluetickconsultants/NFT_price_prediction

Другие проекты

Проекты с открытым исходным кодом: https://www.bluetickconsultants.com/open-source.html

Репозитории GitHub с открытым исходным кодом: https://github.com/orgs/bluetickconsultants/repositories

Автор:

ТОО Bluetick Consultantshttps://www.bluetickconsultants.com