技术标签: knn评价指标 sklearn Machine Learning
本片文章主要写了针对一个csv数据,目标是对其数据进行分类,怎样用knn实现
在此问题中将该问题分为三个步骤:
数据处理
本实例中的数据集如下图所示:
第一列为数据集的标签,第一行为数据集的title,首先要做的处理是将数据集的数据以及标签提取出来。即特征与标签类别
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 27 17:47:44 2018
@author: Administrator
"""
import csv
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()#(n_neighbors=10)
from numpy import genfromtxt
a = open('list.csv', 'r+')
reader = csv.reader(a)#按行读取内容
headers = next(reader)#打印出为title那行
print(headers)
该title第一列为数字序列,后七列为特征名称,其次是提取标签以及数据
dataPath = r"list.csv"
featureList = genfromtxt(dataPath, skip_header=1,delimiter=',',usecols=(1,2,3,4,5,6,7))
#转化为txt,[genfromtxt用法](https://blog.csdn.net/weixin_40123108/article/details/84531460)得到后7列数据
labelList = genfromtxt(dataPath, skip_header=1,delimiter=',',usecols=(0))#得到标签
x= featureList[:]
print(len(x))
#print (x)
#print ("labelList")
y = labelList[:]
#print (y)
划分数据集及训练集
from sklearn.model_selection import train_test_split#分割数据集
X_train, X_test, y_train, y_test = train_test_split(
x, y, test_size=0.25)
print(X_train.shape)
print(X_test.shape)
**
**
knn = neighbors.KNeighborsClassifier()#(n_neighbors=10)knn参数用法
knn.fit(X_train,y_train)
**
**
y_predict = knn.predict(X_test)
#调用该对象的测试方法,主要接收一个参数:测试数据集
probility=knn.predict_proba(X_test)
#计算各测试样本基于概率的预测
score=knn.score(X_test,y_test,sample_weight=None)
#调用该对象的打分方法,计算出准确率
print('y_predict = ')
print(y_predict)
#输出测试的结果
print('y_test = ')
print(y_test)
#输出原始测试数据集的正确标签,以方便对比
print ('Accuracy:',score )
#输出准确率计算结果
print ('probility:',probility)
基本原理: n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子: n = 10100(二进制),则(n-1) = 10011 ==》n&(n-1) = 10000 可以看到原本最低位为1的那位变为0。请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%...
问题:在整合框架的时候有人也许会产生一个问题:能不能只配置一个扫描包加载实现类的扫描驱动,即在根目录下扫描所有的注解(@Controller、@Service、@Repository、@Compnent),如这样配置:<!-- 扫描加载所有的被注解的对象 --><context:component-scan base-package="com"></con...
需求:创建一个centos6.5镜像,镜像根目录40g问题描述: 使用aws社区ami(镜像),创建的镜像根目录只有5g,且不是lvm分区,不符合要求,或者存在30g的镜像,但不是纯净版解决过程: 1.扩展磁盘,在aws中新建实例时,将根目录扩展为40g 2.进入实例,查看实例状态 --> 根目录仍为5g[root@ip_aws 扩容根
实验所需主机环境确保server1-5都安装好jpk和hadoop创建用户[root@server1 ~]# useradd -u 1000 hadoop[root@server1 ~]# passwd hadoop安装配置##切换到hadoop用户解压安装包[root@server1 ~]# mv hadoop-3.0.3.tar.gz jdk-8u181-linux-x64.t...
npm run dev 报以下错误:webpack vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin解决方案(官方):现在你需要一个插件Vue Loader v15 现在需要配合一个 webpack 插件才能正确使用:// webpack.con...
关于Axure的长页面制作_axure滚动页面怎么做
昨天用老版本的Android Studio 新建了一个Kotlin项目,. 之类的提示没有,应该是环境问题,就升级了Android Studio到最新的电鳗版本,新建kotlin项目就报上述错误。好了,又可以愉快的玩耍了。
解读MobileNet论文原文:_mobilenet原文
相关api列表#include <fcntl.h> int open(const char *path, int oflag, /* mode_t mode */ ); int openat(int fd, const char *path, int oflag, /* mode_t mode */ ); //返回文件描述符 STDIN_FILENO ..._int open (const char *__path, int __oflag,
redis 哨兵模式的创建1. 下载redis3.2.12版本。https://codeload.github.com/antirez/redis/zip/3.2.122. 解压后放到/usr/local/src/目录下面。3. 拷贝三份 cp -R redis-3.2.13 redis1,cp -R redis-3.2.13 redis2,cp -R redis-3.2.13 r...
前端业务或者面试中经常会碰见js的执行先后顺序,里面的坑很多,这时候就是在考察你有没有理解事件循环了那么什么是事件循环Event Loop呢?因为js是单进程的,所以有了异步,同步异步出现后就有了事件执行的先后顺序简单说,就是在程序中设置两个线程:一个负责程序本身的运行,称为"主线程";另一个负责主线程与其他进程(主要是各种I/O操作)的通信,被称为"Event Loop线程"(可以译为"消息线程")。异步分为宏任务和微任务宏任务:整体的Script setTimeout setInterval
注意这里的两个目录:UserStdPeriph_Driver也就是工程目录下的这里../User把被文件夹中的文件放到移植文件夹中的这里../Libraries../Libraries/STM32F4xx_StdPeriph_Driver/src同样把被文件夹中的文件放到移植文件夹中的这里最后在Keil中的Add existing files里把相关文件添加一下即可..._../../../../../pios/stm32f4xx/libraries/stm32f4xx_stdperiph_driver/src/stm32