sklearn分类算法实例(SVC、KNN)

   日期:2020-08-31     浏览:138    评论:0    
核心提示:文章目录1. 数据集2. 实验步骤2.1 数据预处理*2.1.1 分析**2.1.2 实践过程*2.2 划分数据集2.3 选取模型进行定价分类*2.3.1 分析**2.3.2 实践*①SVC模型分类②KNN模型分类总结1. 数据集数据集为car evaluation:根据汽车的若干属性对汽车进行定价。数据集下载的官方地址为:http://archive.ics.uci.edu/ml/datasets/Car+Evaluation2. 实验步骤2.1 数据预处理2.1.1 分析数据集展示:

文章目录

  • 1. 数据集
  • 2. 实验步骤
    • 2.1 数据预处理
      • *2.1.1 分析*
      • *2.1.2 实践过程*
    • 2.2 划分数据集
    • 2.3 选取模型进行定价分类
      • *2.3.1 分析*
      • *2.3.2 实践*
        • ①SVC模型分类
        • ②KNN模型分类
  • 总结

1. 数据集

数据集为car evaluation:根据汽车的若干属性对汽车进行定价。数据集下载的官方地址为:http://archive.ics.uci.edu/ml/datasets/Car+Evaluation

2. 实验步骤

2.1 数据预处理

2.1.1 分析

数据集展示:

可见,car数据集有6个属性:buying、maint、doors、persons、lug_boot、safety
其取值范围如下:

其类别class的取值范围如下:

因为数据中很多为非数值型取值,因此需要将其数字化。
数据中全为非空取值,因此不需要对空值进行处理。

2.1.2 实践过程

代码如下:

from sklearn import preprocessing
import pandas as pd
data=pd.read_csv('car.csv') 
le=preprocessing.LabelEncoder()
for i in range(len(data.columns)):
    data.iloc[:,i]=le.fit_transform(data.iloc[:,i]) #使用labelEncoder对data的每个属性的取值进行编码

处理后效果如下图所示:

2.2 划分数据集

from sklearn.model_selection import train_test_split
X=data.iloc[:,:-1] #取data的属性值
y=data.iloc[:,-1] #取data的class分类
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=2)

2.3 选取模型进行定价分类

2.3.1 分析


本数据集的大小为50K,根据上图可以判断分类可采取的模型为:SVC和KNN

2.3.2 实践

①SVC模型分类

from sklearn import svm
import numpy as np
#训练模型
svc_model=svm.SVC()
svc_model.fit(X_train,y_train)
# 使用模型进行预测
y_pred=svc_model.predict(X_test)
# 计算模型的精确度
y_test=np.array(y_test)
svc_acc=np.mean((y_test==y_pred))  #得到的值svc_acc:0.882466281310212

②KNN模型分类

from sklearn.neighbors import KNeighborsClassifier
#训练模型
knn_model=KNeighborsClassifier()
knn_model.fit(X_train,y_train)
# 使用模型进行预测
y_pred_knn=knn_model.predict(X_test)
# 计算模型的精确度
knn_acc=np.mean(y_pred_knn==y_test)  #得到的值knn_acc:0.9017341040462428

总结

文中的分析过程还存在很大的改进空间,欢迎大家对其进行指正,谢谢!
文中参照的博客为:https://blog.csdn.net/qq_27150893/article/details/80169736

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服