- model的属性
model.score(data_train,target_train)#是根据data_train学到的模型预测出来跟训练集原先的target做比较计算得分 - normalization
from sklearn import preprocessing
preprocessing.scale(a)
preprocessing.minmax_scale(a,feature_range=(-1,1))#默认是(
- cross_validation
from sklearn.cross_validation import cross_val_score
scores=cross_val_score(KNN,X,Y,cv=5,scoring='accuracy')#这个是交叉验证的调用,对KNN这个模型,XY分别是数据和标签,cv=5是5折交叉验证,scoring='accuracy'是以accuracy作为评分标准 ,回归可以用mean_square_error,但是其所得到的是负数,需要在前面添加一个负号
from sklearn.cross_validation import cross_val_score
import matplotlib.pyplot as plt
k_range = range(1, 31)
k_scores = [] # list
for k in k_range:
knn = KNeighborsClassifier(n_neighbors=k)
## loss = -cross_val_score(knn, X, y, cv=10, scoring='mean_squared_error') # for regression # 注意加负号
scores = cross_val_score(knn, X, y, cv=10, scoring='accuracy') # for classification
k_scores.append(scores.mean())# 把每一次的得分都存进去
plt.plot(k_range, k_scores) # 这里就是每个K显示一次K_scores
plt.xlabel('Value of K for KNN')
plt.ylabel('Cross-Validated Accuracy')
plt.show()