代码之家  ›  专栏  ›  技术社区  ›  singrium

使用SciKit Learn获取预测元素的百分比

  •  0
  • singrium  · 技术社区  · 6 年前
    导入熊猫为pd 来自熊猫进口系列,数据帧 从sklearn.ensegle导入RandomForestClassifier data.head()只是想让您了解一下我的csv文件的外观 X=数据[功能栏] x轴列,x轴测试,y轴列,y轴测试=轴列测试分割(x,y,测试尺寸=0.3) 分类器.装配(X轴传动系,Y轴传动系) 以open(‘myClassifier.pkl’,‘wb’)作为fid:
    
    
    

    RandomForestClassifier(bootstrap=true,class_weight=none,criteria='gini',
    最小杂质减少=0.0,最小杂质分离=无,
    最小权重分数叶=0.0,n估计量=100,n作业=1,
    热启动=假)
    
    

    conf_matrix的输出:

    [3073、5634、37、322、27], 【22、65、429、8245、208】,
    
    
    
    
    导入熊猫为pd
    进口泡菜
    
    
    fid.close()关闭
    打印(Y预测)
    
    

    此代码的输出是一个包含预测元素名称的数组(即,['cube''cylinder''pyramid''cube'…])。

    enter image description here

    分类器参数:

    RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
                max_depth=None, max_features='auto', max_leaf_nodes=None,
                min_impurity_decrease=0.0, min_impurity_split=None,
                min_samples_leaf=1, min_samples_split=2,
                min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=1,
                oob_score=False, random_state=None, verbose=0,
                warm_start=False)
    

    array([[6272, 2513,   26,  153,   54],
           [3073, 5634,   37,  322,   27],
           [   1,    5, 5057,  775, 3072],
           [  22,   65,  429, 8245,  208],
           [  58,   50, 1458,  509, 6935]])
    

    0.7142888888888889
    

    然后,我使用以下代码加载我保存的预培训模型,并用新数据对其进行测试:

    import pandas as pd 
    import sklearn
    from pandas import Series, DataFrame
    from sklearn.model_selection import train_test_split
    import sklearn.metrics
    import pickle
    
    
    with open('saved_model/myclassifier.pkl', 'rb') as fid:
        classifier = pickle.load(fid)
    fid.close()
    data = pd.read_csv("testing_loaded_model/Ttest_model_30.csv")
    Ypredict = classifier.predict(data) 
    print(Ypredict)
    

    ['Cube' 'Cylinder' 'Pyramid' 'Cube'...]

    但是,我想得到数组元素加上它们的百分比,在
    提前感谢您耐心阅读整个描述。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Quickbeam2k1    6 年前

    希望我能正确理解你的问题:

    predict_proba 功能。

    predictions = classifier.predict_proba(data)