150 lines
5.5 KiB
Markdown
150 lines
5.5 KiB
Markdown
### Задание
|
||
Использовать нейронную сеть по варианту для выбранных данных по варианту, самостоятельно сформулировав задачу.
|
||
Интерпретировать результаты и оценить, насколько хорошо она подходит для
|
||
решения сформулированной вами задачи.
|
||
|
||
Вариант 1: MLPClassifier
|
||
|
||
Была сформулирована следующая задача: необходимо классифицировать жильё по стоимости на основе избранных признаков при помощи нейронной сети.
|
||
|
||
### Запуск программы
|
||
Файл lab6.py содержит и запускает программу, аргументов и настройки ~~вроде~~ не требует.
|
||
|
||
### Описание программы
|
||
Программа считывает цены на жильё как выходные данные и следующие данные как входные: год размещения объявления, площадь, этаж, количество этажей, год постройки, количество комнат, материал, расстояние до кремля (условного центра).
|
||
Далее она обрабатывает данные (цифровизирует нулевые данные), оставляет только год объявления. Цены распределяются по пяти классам.
|
||
|
||
После обработки программа делит данные на 99% обучающего материала и 1% тестового.
|
||
Эти данные обрабатываются по 10 раз для идентичных моделей нейронных сетей, использующих метод градиентного спуска "adam", с разной настройкой максимального количества поколений: 200, 400, 600, 800, 1000.
|
||
Считаются оценка модели. Для каждой модели запоминаются минимальный, максимальный и средний результаты. В консоль выводятся все результаты.
|
||
В конце программа показывает графики зависимости результатов от максимального количества поколений модели.
|
||
|
||
### Результаты тестирования
|
||
По результатам тестирования, можно сказать следующее:
|
||
* В общем, модель даёт средний результат в районе 40-50% точности, что недостаточно.
|
||
* Увеличение максимального количества поколений влияет сильнее всего на минимальные оценки, сужая разброс точности.
|
||
* Нельзя сказать, что увеличение максимального количества поколений сильно улучшит модель: максимум на 10% точности.
|
||
|
||
Пример консольного вывода:
|
||
>Testing iterations number 200:
|
||
>
|
||
>res1: 0.3806228373702422
|
||
>
|
||
>res2: 0.6055363321799307
|
||
>
|
||
>res3: 0.4809688581314879
|
||
>
|
||
>res4: 0.4913494809688581
|
||
>
|
||
>res5: 0.4844290657439446
|
||
>
|
||
>res6: 0.2975778546712803
|
||
>
|
||
>res7: 0.48788927335640137
|
||
>
|
||
>res8: 0.06228373702422145
|
||
>
|
||
>res9: 0.6193771626297578
|
||
>
|
||
>res10: 0.47750865051903113
|
||
>
|
||
>Medium result: 0.4387543252595155
|
||
>
|
||
>Testing iterations number 400:
|
||
>
|
||
>res1: 0.6124567474048442
|
||
>
|
||
>res2: 0.4290657439446367
|
||
>
|
||
>res3: 0.3217993079584775
|
||
>
|
||
>res4: 0.5467128027681661
|
||
>
|
||
>res5: 0.48788927335640137
|
||
>
|
||
>res6: 0.40484429065743943
|
||
>
|
||
>res7: 0.6020761245674741
|
||
>
|
||
>res8: 0.4186851211072664
|
||
>
|
||
>res9: 0.42214532871972316
|
||
>
|
||
>res10: 0.370242214532872
|
||
>
|
||
>Medium result: 0.46159169550173
|
||
>
|
||
>Testing iterations number 600:
|
||
>
|
||
>res1: 0.4359861591695502
|
||
>
|
||
>res2: 0.2560553633217993
|
||
>
|
||
>res3: 0.5363321799307958
|
||
>
|
||
>res4: 0.5778546712802768
|
||
>
|
||
>res5: 0.35986159169550175
|
||
>
|
||
>res6: 0.356401384083045
|
||
>
|
||
>res7: 0.49480968858131485
|
||
>
|
||
>res8: 0.5121107266435986
|
||
>
|
||
>res9: 0.5224913494809689
|
||
>
|
||
>res10: 0.5190311418685121
|
||
>
|
||
>Medium result: 0.4570934256055363
|
||
>
|
||
>Testing iterations number 800:
|
||
>
|
||
>res1: 0.25951557093425603
|
||
>
|
||
>res2: 0.4083044982698962
|
||
>
|
||
>res3: 0.5224913494809689
|
||
>
|
||
>res4: 0.5986159169550173
|
||
>
|
||
>res5: 0.24567474048442905
|
||
>
|
||
>res6: 0.4013840830449827
|
||
>
|
||
>res7: 0.21453287197231835
|
||
>
|
||
>res8: 0.4671280276816609
|
||
>
|
||
>res9: 0.40484429065743943
|
||
>
|
||
>res10: 0.38408304498269896
|
||
>
|
||
>Medium result: 0.3906574394463667
|
||
>
|
||
>Testing iterations number 1000:
|
||
>
|
||
>res1: 0.4186851211072664
|
||
>
|
||
>res2: 0.5017301038062284
|
||
>
|
||
>res3: 0.5121107266435986
|
||
>
|
||
>res4: 0.3806228373702422
|
||
>
|
||
>res5: 0.44982698961937717
|
||
>
|
||
>res6: 0.5986159169550173
|
||
>
|
||
>res7: 0.5570934256055363
|
||
>
|
||
>res8: 0.4290657439446367
|
||
>
|
||
>res9: 0.32525951557093424
|
||
>
|
||
>res10: 0.41522491349480967
|
||
>
|
||
>Medium result: 0.4588235294117647
|
||
|
||
Итого: Для отобранных данных нейронная модель с методом градиентного спуска "adam" показала себя не лучшим образом. Возможно, другие методы могут выдать лучшие результаты, либо необходима более обширная модификация модели.
|