Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.02.2020
Сообщений: 3

Улучшить модель классификации

12.04.2022, 22:57. Показов 782. Ответов 0
Метки нет (Все метки)

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

datasets.rar

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#Зависимости
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import random
import os
 
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer
 
from sklearn.linear_model import LogisticRegression
 
from sklearn.metrics import f1_score
 
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense, Dropout
 
#Инициализируем все известные генераторы случаынйх чисел / Setting all known random seeds
my_code = "Anton"
seed_limit = 2 ** 32
my_seed = int.from_bytes(my_code.encode(), "little") % seed_limit
 
os.environ['PYTHONHASHSEED']=str(my_seed)
 
random.seed(my_seed)
 
np.random.seed(my_seed)
 
tf.compat.v1.set_random_seed(my_seed)
 
session_conf = tf.compat.v1.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1)
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
tf.compat.v1.keras.backend.set_session(sess)
 
# Читаем данные из файла
train_data = pd.read_csv("datasets/iris_train.csv")
train_data.head()
 
classes = train_data['species']
plt.hist(classes)
plt.show()
 
# Определим размер валидационной выборки
val_size = round(0.2*len(train_data))
print(val_size)
 
# Создадим обучающую и валидационную выборки
random_state = my_seed
train, val = train_test_split(train_data, test_size=val_size, random_state=random_state)
print(len(train), len(val))
 
# Значения в числовых столбцах преобразуем к отрезку [0,1].
# Для настройки скалировщика используем только обучающую выборку.
num_columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
ord_columns = ['species']
 
ct = ColumnTransformer(transformers=[('numerical', MinMaxScaler(), num_columns)], remainder='passthrough')
 
ct.fit(train)
 
# Преобразуем значения, тип данных приводим к DataFrame
sc_train = pd.DataFrame(ct.transform(train))
sc_val = pd.DataFrame(ct.transform(val))
 
# Устанавливаем названия столбцов
column_names = num_columns + ord_columns
sc_train.columns = column_names
sc_val.columns = column_names
sc_train
 
# Отберем необходимые параметры
x_train = sc_train[num_columns]
x_val = sc_val[num_columns]
 
y_train = (sc_train[ord_columns].values).flatten()
y_val = (sc_val[ord_columns].values).flatten()
 
# Создадим простую модель логистической регрессии
model = LogisticRegression()
 
# Обучим модель
model.fit(x_train, y_train)
 
# Проверим работу обученной нейронной сети на валидационной выборке
pred_val = model.predict(x_val)
f1 = f1_score(y_val, pred_val, average='weighted')
print(f1)
 
test = pd.read_csv("datasets/iris_test.csv")
test['species'] = ''
test.head()
 
sc_test = pd.DataFrame(ct.transform(test))
sc_test.columns = column_names
x_test = sc_test[num_columns]
test['species'] = model.predict(x_test)
 
test.head()
test.to_csv('task4_results/iris_test_result.csv', index=False)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2022, 22:57
Ответы с готовыми решениями:

Keras - классификация текста - оверфиттинг, и как улучшить модель
Я делаю нейронную сеть для классификации текста на русском языке по этим примерам - ...

Как запустить обученную модель для классификации текста?
Обучил сеть на классификацию текста, сохранил данные в формате json и h5, как теперь запустить данную модель, что бы она обработала...

Модель для бинарной классификации не обучается с точностью больше 0.5
Есть вот такая модель: model = tf.keras.Sequential() model.add(tf.keras.layers.InputLayer(input_shape=train_data.shape)) ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.04.2022, 22:57
Помогаю со студенческими работами здесь

Разработать систему иерархической классификации информационного обеспечения (универсальная модель)
Добрый день. Пишу курсовик, в котором надо разработать систему иерархической классификации информационного обеспечения (универсальная...

Как правильно создать модель нейронной сети и подобрать коэффициенты для классификации бинарных признаков?
Товарищи, приветствую! Не знаю в какую ветку можно написать такой вопрос, но так как python сейчас более актуален при машинном...

Улучшить модель
Сначала было задание создать модель бизнес-процесса "Планирование туров". Теперь задали улучшить модель. Посоветуйте пожалуйста, что...

Задача классификации
Добрый день! Помогите с задачей. Нужно загрузить произвольное сине-белое изображение и отнести каждую из точек данного изображения к...

Множественная и динамическая классификации
Какие языки программирования поддерживают множественную или динамическую классификацию? Думал сначала разместить тему в разделе ООП,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru