【头歌】机器学习——kNN算法

第1关:kNN算法原理

ca84a3108ad1496a8f6e15a38e241fa7.png

第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 **********#
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值