如何使用scikit-learn中的持久性模型计算评估指标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用scikit-learn中的持久性模型计算评估指标相关的知识,希望对你有一定的参考价值。

我正在使用joblib内置运行此模型持久性。我能够保存模型,现在我想测试概率并评估新项目的结果。

from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
from sklearn.model_selection import train_test_split
from sklearn.externals import joblib
from joblib import dump, load
import pandas as pd
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn import metrics
from sklearn.metrics import accuracy_score
train=pd.read_csv('source_project.csv')
features_col=['First_Status','Reputation','Changed_file','Evaluation_time','Num_Comments_before_Closed','Num_commits_before_Closed','Num_lines_added','Num_lines_deleted']
X=train[features_col].dropna()
y=train.classes
test_size=0.3 #could also specify train_size=0.7 instead
train_size=0.7 
seed=7
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=0,train_size=train_size)
clf = tree.DecisionTreeClassifier()
clf=clf.fit(X_train,y_train)

#Saving the model
with open('SourceProject_joblib', 'wb') as trained_model:
    joblib.dump(clf, trained_model)
#close the model
trained_model.close()

#Open the model
Open_Joblib_model=open('SourceProject_joblib', 'rb')

Source_project_model=joblib.load(Open_Joblib_model)
print(Source_project_model)

#confirming the number of feature
print(Source_project_model.n_features_)

#importing the target data
predicting_data=pd.read_csv('angularDistributionData.csv')

target_predict=Source_project_model.predict(predicting_data)
#Testing the probability of positive outcome of a new project
target_predict=Source_project_model.predict(predicting_data)
print(target_predict)

但是当我想打印精度如下:

print("Accuracy: {0:.2f}%".format(accuracy_score(y_test,target_predict)*100))

我收到这个错误:ValueError: Found input variables with inconsistent numbers of samples: [34084, 8971]

我想知道如何使用joblib模型持久性计算评估指标?

答案

我是我的错误我忘记了这行代码:y_pred = clf.predict(X_test)在这行代码之后:clf=clf.fit(X_train,y_train)当我运行这个指标时:score = Source_project_model.score(X_test, y_test),它运行正常

谢谢

以上是关于如何使用scikit-learn中的持久性模型计算评估指标的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有 GridSearchCV 对象的 TimeSeriesSplit 来调整 scikit-learn 中的模型?

在 scikit 中保存决策树模型

您如何使用 scikit-learn 中的惯性计算差距统计的标准偏差?

如何在 scikit-learn 中提取 MultinomialNB Pipeline 训练模型中的单词特征?

如何将模型 (GLM) 从 h2o 移植到 scikit-learn?

从 scikit-learn 逻辑回归模型计算剩余偏差