关于sklearn的简单使用1(分类)

        最近在看支持向量机的算法,想着自己是否能够实现一个简单的例子。下面采用的数据集是著名的莺尾花数据,可以在UCI上载 http://archive.ics.uci.edu/ml/datasets/Iris。当然sklearn库里也有这个数据集,但是下载下来是为了更好的运用python语言处理更加一般的情况。下面这个代码主要目的是用sklearn.svm对莺尾花的3种型进行分类,随机取样本的一部分数据为训练集,一部分为测试集,并且最后把测试集的结果和实际样本进行比较,判断此分类的准确率。

# -*- coding: utf-8 -*-
"""
Created on Tue Aug 22 16:04:57 2017


@author: wuxiao
"""


import pandas as pd
from sklearn import svm
import numpy as np
from sklearn.model_selection import train_test_split  #引入测试集,训练集
from sklearn.metrics import accuracy_score  #引入准确率


data=pd.read_excel('G:\\test\\day 5\\iris.xls')  #读取文件
print  data                                 
data.head()
#将文件中非数字数据转换为数字
data.loc[data["Iris_type"]=="Iris-setosa","Iris_type"]=0
data.loc[data["Iris_type"]=="Iris-versicolor","Iris_type"]=1
data.loc[data["Iris_type"]=="Iris-virginica","Iris_type"]=2        
iris=np.array(data,dtype=np.float64)   #生成矩阵
print iris  
                                                   
X = iris[:,0:-1]     #提取features
print  X
y = iris[:,-1].astype(int)   #提取labels
print  y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)#随机划分训练集、测试集
clf=svm.SVC()
clf.fit(X_train,y_train)
y_pred=clf.predict(X_test)
accuracy_score(y_test, y_pred)
Accuracy=accuracy_score(y_test, y_pred)

print("%.2f%%"  %(Accuracy*100))   #以百分数的形式,打印出准确率



最后输出:

# 利用pandas读取文件生成的data



                                           #为数据预处理后的iris

                                           #提取features的X

                                                        #提取labels的y

 

           

                                                       #最后生成的准确率。





  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值