sklearn 學習5

gamma值與loss

import numpy as np
from sklearn.datasets import load_digits
from sklearn.cross_validation import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.cross_validation import cross_val_score
import matplotlib.pyplot as plt
from sklearn.svm import SVC 
from sklearn.learning_curve import validation_curve


digits = load_digits()
X = digits.data
y = digits.target
#設定gamma的變化范圍
param_range = np.logspace(-6,-2.3,5)

train_loss,test_loss = validation_curve(
        SVC(),X,y,param_name = 'gamma',param_range = param_range,
        cv = 10,scoring = 'mean_squared_error')

train_loss_mean = -np.mean(train_loss,axis = 1)
test_loss_mean = -np.mean(test_loss,axis = 1)

plt.plot(param_range,train_loss_mean,'o-',color = 'r',label = 'training')
plt.plot(param_range,test_loss_mean,'o-',color = 'g',label = 'test')
plt.legend(loc = 'best')
plt.show()

gamma與loss

x-axis : gamma
y_axis: loss

其中也體現了過擬合:在training data上的過分好

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容