ฉันใช้ Support Vector Machines (SVM) กับเคอร์เนล 'เชิงเส้น' สำหรับการจำแนกหลายประเภท อย่างไรก็ตามความแม่นยำยังต่ำมาก เป็นไปได้ไหมที่จะเพิ่มความแม่นยำ?
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score,classification_report,confusion_matrix
from sklearn.svm import SVC
#Prepare data for SVM
Diabetes_SVM = Diabetes2[['metformin','repaglinide','nateglinide','chlorpropamide','glimepiride','acetohexamide', 'glipizide', 'glyburide','troglitazone', 'tolazamide', 'examide','citoglipton', 'insulin']]
#Create dummy variables
nominal = ['metformin','repaglinide','nateglinide','chlorpropamide','glimepiride','acetohexamide', 'glipizide', 'glyburide',
'tolbutamide', 'pioglitazone', 'rosiglitazone', 'acarbose', 'miglitol', 'troglitazone', 'tolazamide', 'examide',
'citoglipton']
Diabetes_SVM = pd.get_dummies(Diabetes_SVM,columns=nominal)
#Map data for SVM
Diabetes_SVM['insulin']=Diabetes_SVM['insulin'].map({'Down': 1,'No': 2,
'Steady': 3,'Up': 4})
#Defining features and target variable for SVM
X_SVM = Diabetes_SVM.drop('insulin', axis=1).values
y_SVM = Diabetes_SVM['insulin'].values
#Split dataset into training set and test set for SVM
X_train, X_test, y_train, y_test = train_test_split(X_SVM, y_SVM, test_size=0.30, random_state=42)
#Fit SVC Class
svclassifier = SVC(kernel='linear')
svclassifier.fit(X_train, y_train)
#Making Predictions
y_pred = svclassifier.predict(X_test)
print(confusion_matrix(y_test,y_pred))
print(classification_report(y_test,y_pred))
ฉันได้ลองใช้ SVM ด้วยตัวแยกประเภทเชิงเส้นที่มีความแม่นยำเพียง 0.47 แล้ว ฉันจะปรับความแม่นยำได้อย่างไร?