Мне нужна помощь от любого, кто знаком с проблемой, с которой я сталкиваюсь.
Я хочу провести классификацию с использованием SVM, Random Forest и Deep Neural Network (DNN) с двумя разными наборами данных. Один из моих наборов данных сбалансирован, а другой - сильно несбалансирован. Ниже приведено изображение моего набора данных, несбалансированного для классификации.
Я хочу сравнить результаты классификации для всего машинного обучения, используемого для обеих данных. Какой набор данных дает лучшие результаты для классификации. Что касается сбалансированного набора данных, у меня нет проблем, потому что способ справиться с ним нормально, но для несбалансированного я немного запутался.
Моя проблема в том, что я запутался в том, что делать для классификации с использованием несбалансированных данных. Из того, что я знаю, является то, что для обработки несбалансированных данных, мы должны сделать выборку.
Должен ли я сначала классифицировать и получить результаты, или я должен сначала сделать передискретизацию и классифицировать и получить результаты? Каковы надлежащие шаги при выполнении классификации с несбалансированным набором данных? Я надеюсь, что любой может помочь мне с этим, потому что я все еще новичок в этой области.
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
data=pd.read_csv("ImbalancedData.csv")
y = data.Class
x = data.drop('Class,axis=1)
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3)