机器学习:7.机器学习 --- kNN算法编程实战:红酒分类

第1关:分析红酒数据

import numpy as np

def alcohol_mean(data):
    '''
    返回红酒数据中红酒的酒精平均含量
    :param data: 红酒数据对象
    :return: 酒精平均含量,类型为float
    '''

    #********* Begin *********#
    return np.mean(data['data'],axis = 0)[0]
    #********* End **********#

第2关:对数据进行标准化

from sklearn.preprocessing import StandardScaler

def scaler(data):
    '''
    返回标准化后的红酒数据
    :param data: 红酒数据对象
    :return: 标准化后的红酒数据,类型为ndarray
    '''

    #********* Begin *********#
    scaler = StandardScaler()
    return scaler.fit_transform(data['data'])
    #********* End **********#

第3关:使用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()
    # 标准化, 同时记录数据的均值和方差以便对后续测试数据执行同样的标准化
    tr_feature = scaler.fit_transform(train_feature)
    te_feature = scaler.transform(test_feature)

    # 生成K近邻分类器
    clf = KNeighborsClassifier()
    # 训练分类器
    clf.fit(tr_feature, train_label)
    # 进行预测
    predict_result = clf.predict(te_feature)
    return predict_result
    #********* End **********#

你可能感兴趣的:(机器学习,机器学习,分类,算法)