python实现K近邻回归,采用等权重和不等权重的方法

yipeiwu_com5年前Python基础

如下所示:

from sklearn.datasets import load_boston
 
boston = load_boston()
 
from sklearn.cross_validation import train_test_split
 
import numpy as np;
 
X = boston.data
y = boston.target
 
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 33, test_size = 0.25)
 
print 'The max target value is: ', np.max(boston.target)
print 'The min target value is: ', np.min(boston.target)
print 'The average terget value is: ', np.mean(boston.target)
 
from sklearn.preprocessing import StandardScaler
 
ss_X = StandardScaler()
ss_y = StandardScaler()
 
X_train = ss_X.fit_transform(X_train)
X_test = ss_X.transform(X_test)
y_train = ss_y.fit_transform(y_train)
y_test = ss_y.transform(y_test)
 
from sklearn.neighbors import KNeighborsRegressor
 
uni_knr = KNeighborsRegressor(weights = 'uniform')
uni_knr.fit(X_train, y_train)
uni_knr_y_predict = uni_knr.predict(X_test)
 
dis_knr = KNeighborsRegressor(weights = 'distance')
dis_knr.fit(X_train, y_train)
dis_knr_y_predict = dis_knr.predict(X_test)
 
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
 
print 'R-squared value of uniform weights KNeighorRegressor is: ', uni_knr.score(X_test, y_test)
print 'The mean squared error of uniform weights KNeighorRegressor is: ', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(uni_knr_y_predict))
print 'The mean absolute error of uniform weights KNeighorRegressor is: ', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(uni_knr_y_predict))
 
print 'R-squared of distance weights KNeighorRegressor is: ', dis_knr.score(X_test, y_test)
print 'the value of mean squared error of distance weights KNeighorRegressor is: ', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(dis_knr_y_predict))
print 'the value of mean ssbsolute error of distance weights KNeighorRegressor is: ', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(dis_knr_y_predict))

以上这篇python实现K近邻回归,采用等权重和不等权重的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python文字转语音的实例代码分析

使用百度接口 接口地址 https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top 安装接口 pip install baidu-aip...

基于Python pip用国内镜像下载的方法

异常信息: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection br...

Python运算符重载用法实例分析

本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体如下: 在Python语言中提供了类似于C++的运算符重在功能: 一下为Python运算符重在调用的方法如下: Met...

python线程池threadpool实现篇

本文为大家分享了threadpool线程池中所有的操作,供大家参考,具体内容如下 首先介绍一下自己使用到的名词: 工作线程(worker):创建线程池时,按照指定的线程数量,创建工作线程...

python中异常报错处理方法汇总

python中异常报错处理方法汇总

首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等。 Python中异常是指程序中的例外,违例情况。异常机制是指程序出现错...