机器学习(6)K近邻算法
k-近邻,通过离你最近的来判断你的类别
例子:

定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近的样本中大多数属于某一类别),则该样本属于这个类别


K近邻需要做标准化处理

例如:
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
def knn():
'''
k近邻预测消费花费
:return:
'''
#读取数据
data=pd.read_csv('data.csv')
# print(data.info())
data=data[['age','ageg','num','cost']]
# print(data)
#对数据的处理
y=data[['cost']]
x=data.drop('cost',axis=1)
#划分训练集合测试集
x_train,x_text,y_train,y_text=train_test_split(x,y,test_size=0.25)
#标准化
ss=StandardScaler()
x_train=ss.fit_transform(x_train)
x_text=ss.transform(x_text)
#训练和预测
y_train=y_train.astype(int)
kn=KNeighborsClassifier(n_neighbors=5)
kn.fit(x_train,y_train)
y_predict=kn.predict(x_text)
print('预测值',y_predict)
print("++" * 100)
x_text=np.array(x_text)
print('原本的测试值',x_text)
print('得分:',kn.score(x_text,y_text.astype(int)))
#训练,预测
kn=KNeighborsClassifier()
# data=data['id','']
#数据处理
#特征工程
if __name__ == '__main__':
knn()



机器学习(6)K近邻算法的更多相关文章
- 机器学习之K近邻算法(KNN)
机器学习之K近邻算法(KNN) 标签: python 算法 KNN 机械学习 苛求真理的欲望让我想要了解算法的本质,于是我开始了机械学习的算法之旅 from numpy import * import ...
- 【机器学习】k近邻算法(kNN)
一.写在前面 本系列是对之前机器学习笔记的一个总结,这里只针对最基础的经典机器学习算法,对其本身的要点进行笔记总结,具体到算法的详细过程可以参见其他参考资料和书籍,这里顺便推荐一下Machine Le ...
- 第四十六篇 入门机器学习——kNN - k近邻算法(k-Nearest Neighbors)
No.1. k-近邻算法的特点 No.2. 准备工作,导入类库,准备测试数据 No.3. 构建训练集 No.4. 简单查看一下训练数据集大概是什么样子,借助散点图 No.5. kNN算法的目的是,假如 ...
- 机器学习之K近邻算法
K 近邻 (K-nearest neighbor, KNN) 算法直接作用于带标记的样本,属于有监督的算法.它的核心思想基本上就是 近朱者赤,近墨者黑. 它与其他分类算法最大的不同是,它是一种&quo ...
- 机器学习实战-k近邻算法
写在开头,打算耐心啃完机器学习实战这本书,所用版本为2013年6月第1版 在P19页的实施kNN算法时,有很多地方不懂,遂仔细研究,记录如下: 字典按值进行排序 首先仔细读完kNN算法之后,了解其是用 ...
- 【机器学习】K近邻算法——多分类问题
给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该类输入实例分为这个类. KNN是通过测量不同特征值之间的距离进行分类.它的的思路是:如 ...
- 机器学习2—K近邻算法学习笔记
Python3.6.3下修改代码中def classify0(inX,dataSet,labels,k)函数的classCount.iteritems()为classCount.items(),另外p ...
- 机器学习03:K近邻算法
本文来自同步博客. P.S. 不知道怎么显示数学公式以及排版文章.所以如果觉得文章下面格式乱的话请自行跳转到上述链接.后续我将不再对数学公式进行截图,毕竟行内公式截图的话排版会很乱.看原博客地址会有更 ...
- [机器学习] k近邻算法
算是机器学习中最简单的算法了,顾名思义是看k个近邻的类别,测试点的类别判断为k近邻里某一类点最多的,少数服从多数,要点摘录: 1. 关键参数:k值 && 距离计算方式 &&am ...
- 机器学习:k-NN算法(也叫k近邻算法)
一.kNN算法基础 # kNN:k-Nearest Neighboors # 多用于解决分裂问题 1)特点: 是机器学习中唯一一个不需要训练过程的算法,可以别认为是没有模型的算法,也可以认为训练数据集 ...
随机推荐
- UART-UART非常见波特率调试应用笔记
UART非常见波特率调试 应用笔记 串口通信中的波特率选择,对于确保可靠的数据传输至关重要.波特率是衡量单位时间内传输的比特数,常见的波特率包括300.1200.2400.9600.115200等.不 ...
- Galaxy Release (v 21.05),众多核心技术栈变更
2021年6月初,Galaxy Project 正式发布了 release 21.05 版本:随后6月中旬,发布该版本的 announcement 文档.这里总结一下该版本一些主要的更新内容,为关注和 ...
- WPF入门教程系列二十八 ——DataGrid使用示例MVVM模式(5)
WPF入门教程系列目录 WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系 ...
- xpoc漏洞使用与编写 浅尝
下载地址 https://github.com/chaitin/xpoc/releases 目前最新版本是 0.0.4 可能是我还是不太习惯yaml这种结构的,感觉就很反人类,所以我以前一般都还是po ...
- 如何在 Python 中实现遗传算法
前言 遗传算法是一种模拟自然进化过程与机制来搜索最优解的方法,它由美国 John Holland 教授于20世纪70年代提出.遗传算法的主要思想来源于达尔文生物进化论和孟德尔的群体遗传学说,通过数学的 ...
- maven项目中Tomcat启动失败:Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run
maven项目中Tomcat启动失败:Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.1:run (defa ...
- 洛谷 P5065 不归之人与望眼欲穿的人们
题意 一个长 \(n\) 的正整数序列 \(a\),支持单点修改数值,询问所有按位或值大于等于 \(k\) 的区间长度最短为多少. 数据范围:\(1\le n\le 50000, 0\le a_i, ...
- 在mapper.xml中遍历添加多条数据
<insert id="saveAuditDf" parameterType="java.util.List"> insert into audit ...
- freeswitch的mod_cdr_csv模块
概述 freeswitch是一款简单好用的VOIP开源软交换平台. 在语音呼叫的过程中,话单是重要的计价和结算依据,话单的产生需要稳定可靠,可回溯. fs中基本的话单模块mod_cdr_csv,可以满 ...
- 《架构整洁之道》学习笔记 Part 2 编程范式
计算机编程发展至今,一共只有三个编程范式: 结构化编程 面向对象编程 函数式编程 编程范式和软件架构的关系 结构化编程是各个模块的算法实现基础 多态(面向对象编程)是跨越架构边界的手段 函数式编程是规 ...