美文网首页python从小白到白痴
python使用SVC算法预测汽车是否值得购买

python使用SVC算法预测汽车是否值得购买

作者: lm_is_dc | 来源:发表于2020-03-09 16:24 被阅读0次

    汽车是否值得购买

    这是一个关于汽车测评的数据集,

    类别变量为汽车的测评:

    (unacc,ACC,good,vgood)

    ​ 分别代表(不可接受,可接受,好,非常好)

    而6个属性变量分别为

    买入价,维护费,车门数,可容纳人数,后备箱大小,安全性。

    值得一提的是6个属性变量全部是有序类别变量,

    比如「可容纳人数」值可为「2,4,more」,

    「安全性」值可为「low, med, high」

    price、maint、doors、persons、lug_boot、safty、recommend

    导包

    import numpy as np
    import pandas as pd
    from sklearn.svm import SVC
    from sklearn.model_selection import train_test_split
    from pandas import Series,DataFrame
    

    读取数据

    car = pd.read_csv('./data/cars.txt',header=None)
    car.head()
    
    这里写图片描述
    #修改列索引
    car.columns = ['price','maint','doors','persons','lug_boot',
                    'safty','recommend']
    
    
    #特征数据
    X = car.iloc[:,:6]
    #目标数据
    y = car.recommend
    

    字符串转数字

    #'price'这一列的类别
    X['price'].unique()
    
    这里写图片描述
    columns = ['price','maint','doors','persons','lug_boot','safty']
    
    
    for col in columns:
        #获取每一列中字符串的类别(不重复),返回数组A
        u = X[col].unique()
        
        #返回item在的数组A中的下标
        def convert(item):
            index = np.argwhere( u == item)[0,0]
            return index
        
        #把字符串转换成数字
        X[col] = X[col].map(convert)
    
    X.tail()
    
    这里写图片描述

    拆分数据集

    X_train,X_test,y_train,y_test = train_test_split(X,y,
                                                    test_size=150)
    

    训练模型并预测评分

    #使用支持向量机模型,内核函数使用rbf
    svc = SVC(kernel='rbf')
    #训练模型
    svc.fit(X_train,y_train)
    #预测
    y_ = svc.predict(X_test)
    #评分
    svc.score(X_test,y_test)
    
    这里写图片描述

    使用交叉表对比预测结果

    #交叉表
    pd.crosstab(index = y_,
                columns = y_test,
                rownames=['predict'],
                colnames=['True'],
                margins=True #统计
               )
    
    这里写图片描述

    从交叉表可看出:

    acc预测正确32个,预测错误5个,有4个预测成uncc,1个预测成vgood。

    good和unacc都预测正确。

    vgood预测正确7个,预测错1个。

    【后记】:如果文章对您有帮助,打赏下呗。微信 1257309054,欢迎交流学习_,公众号【小梁印记】
    微信

    在这里插入图片描述
    支付宝
    在这里插入图片描述

    相关文章

      网友评论

        本文标题:python使用SVC算法预测汽车是否值得购买

        本文链接:https://www.haomeiwen.com/subject/yevpdhtx.html