基于SVM算法预测澳大利亚是否降雨,绘制混淆矩阵及ROC曲线
代码
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.impute import SimpleImputer as Sim
from sklearn.preprocessing import OrdinalEncoder
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import roc_auc_score, recall_score, plot_roc_curve, confusion_matrix
'''获取数据'''
weather = pd.read_csv(r'weatherAUS5000.csv', index_col=0)
X = weather.iloc[:,:-1]
Y = weather.iloc[:,-1]
X.info()
Y.isnull().sum()
Xtrain, Xtest, Ytrain, Ytest = train_test_split(X, Y, test_size=0.3, random_state=420)
'''编码标签'''
encoder = LabelEncoder().fit(Ytrain)
Ytrain = pd.DataFrame(encoder.transform(Ytrain))
Ytest = pd