第1关:kNN算法原理

第2关:使用sklearn中的kNN算法进行分类
from sklearn.neighbors import KNeighborsClassifier
def classification(train_feature, train_label, test_feature):
'''
使用KNeighborsClassifier对test_feature进行分类
:param train_feature: 训练集数据
:param train_label: 训练集标签
:param test_feature: 测试集数据
:return: 测试集预测结果
'''
#********* Begin *********#
clf = KNeighborsClassifier()
clf.fit(train_feature, train_label)
return clf.predict(test_feature)
#********* End *********#
第3关:使用sklearn中的kNN算法进行回归
from sklearn.neighbors import KNeighborsRegressor
def regression(train_feature, train_label, test_feature):
'''
使用KNeighborsRegressor对test_feature进行分类
:param train_feature: 训练集数据
:param train_label: 训练集标签
:param test_feature: 测试集数据
:return: 测试集预测结果
'''
#********* Begin *********#
clf=KNeighborsRegressor()
clf.fit(train_feature, train_label)
return clf.predict(test_feature)
#********* End *********#
第4关:分析红酒数据
import numpy as np
def alcohol_mean(data):
'''
返回红酒数据中红酒的酒精平均含量
:param data: 红酒数据对象
:return: 酒精平均含量,类型为float
'''
#********* Begin *********#
return data.data[:,0].mean()
#********* End **********#
第5关:对数据进行标准化
from sklearn.preprocessing import StandardScaler
def scaler(data):
'''
返回标准化后的红酒数据
:param data: 红酒数据对象
:return: 标准化后的红酒数据,类型为ndarray
'''
#********* Begin *********#
scaler=StandardScaler()
after_scaler=scaler.fit_transform(data['data'])
return after_scaler
#********* End **********#
第6关:使用kNN算法进行预测
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
def classification(train_feature, train_label, test_feature):
'''
对test_feature进行红酒分类
:param train_feature: 训练集数据,类型为ndarray
:param train_label: 训练集标签,类型为ndarray
:param test_feature: 测试集数据,类型为ndarray
:return: 测试集数据的分类结果
'''
#********* Begin *********#
scaler=StandardScaler()
train_feature=scaler.fit_transform(train_feature)
test_feature=scaler.transform(test_feature)
clf=KNeighborsClassifier()
clf.fit(train_feature,train_label)
return clf.predict(test_feature)
#********* End **********#