# -*- coding: utf-8 -*-
"""
Created on Wed Jul 18 15:00:32 2018
@author: qinlan
主要思想:选取样本的K个近邻样本,用近邻样本的响应值(y)的均值作为该样本的预测值
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import preprocessing
from sklearn.model_selection import train_test_split,GridSearchCV
from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import mean_squared_error
dataset = datasets.load_boston()
X,y = dataset.data,dataset.target
x = preprocessing.StandardScaler().fit_transform(X)
def searchKNNRegressorBestParam(x,y):
param = {'n_neighbors':range(2,30),
'weights':['uniform','distance'],
'algorithm':['ball_tree','kd_tree','brute','