机器学习之分类问题--KNN算法

本文介绍了监督学习中的分类问题,重点讲解了KNN算法的原理及其实例应用,包括鸢尾花分类、二分类和疾病分类。通过理解特征与标签的关系,利用KNN算法建立预测模型。
摘要由CSDN通过智能技术生成

   本文为作者学习之余创作,如有不正,请您指出.

预备知识

  监督学习(Supervised Learning),最常用也是最成功的机器学习类型之一。
  一言以蔽之,监督学习,就是有标签的学习。给你一大堆西瓜,它有根蒂、敲声、色泽等特征,同时,我们也有了这些西瓜中哪些是好瓜、哪些是坏瓜这一信息(习惯上称之为标签。当然,现实生活中的特征或者标签数目可能远不止此)。
  监督机器学习问题主要有两种:分类、回归。(当然,说法不一,至少李宏毅老师认为远不止此)。但我们不应将重心置于此处。
  好!!!到此为止。

关键词汇总(中英文)

  • 监督学习(supervised Learning)
  • 特征(feature)
  • 标签或者目标输出(label or target output)
  • and so on…
    好!!!到此为止。具体请参考周志华的“西瓜书”.

分类简介

  分类(Calssification),通俗来讲,就是给你一个西瓜,让你来预测它是好瓜还是坏瓜。怎么预测呢?
  我们自然会敲一敲它,摸一摸它,看一看它。实际上,我们是根据其特征来判断它是不是一个好瓜。
  那我们又为什么会根据特征来判断一颗西瓜是好瓜还是坏瓜呢?是因为我们以往的生活经验告诉我们,敲一敲你相中的西瓜,就能大概知道它是不是一颗好瓜了。
  也就是说,以往的生活经验很重要。(刚出生的婴儿当然不会辨别好瓜与坏瓜)。这就回答了我们在第一行提到的"怎么预测"的问题。
  好!!!也就是说,我们是根据已有的一堆数据(并且带有标签),来得到一个判断规则。这样,再给我一个新的数据,我就能根据其特征来预测它是好瓜还是坏瓜了。

常用分类算法

  • KNN
  • Logistic Regression
  • SVM
  • and so on…

KNN

   本文仅介绍KNN这一算法,其他算法将会在后续学习过程中一一介绍。

KNN原理讲解

  KNN(K-Nearest-Neighbor),是一个很容易理解的算法。要对一个新数据点作出预测,只需要计算当前已有数据集中与它前k近的数据点,则新的数据点就属于多者那一类即可。

1.实例一----鸢尾花分类

"""导入库"""
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import mglearn
from sklearn.datasets import load_iris

"""导入数据集"""
iris_dataset = load_iris()

"""做一些小check"""
print(f"Keys of iris_dataset: \n{
     iris_dataset.keys()}")
print(iris_dataset['target'])
print(iris_dataset['target_names'])
print(iris_dataset['feature_names'])

"""将数据集分为训练集、测试集"""
from sklearn.model_selection import train_test_split

X_train,X_test,y_train,y_test = train_test_split(
iris_dataset['data'],iris_dataset['target'],random_state=0)

"""利用X_train中的数据创建DataFrame"&#
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值