首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在scikt-learn中使用持久性模型计算评估指标

如何在scikt-learn中使用持久性模型计算评估指标
EN

Stack Overflow用户
提问于 2019-03-21 17:26:16
回答 1查看 31关注 0票数 0

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

代码语言:javascript
复制
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)

但是当我想要打印如下所示的内容时:

代码语言:javascript
复制
print("Accuracy: {0:.2f}%".format(accuracy_score(y_test,target_predict)*100))

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-03-21 19:34:33

我错了我忘记了这行代码:y_pred = clf.predict(X_test)在这行代码之后:clf=clf.fit(X_train,y_train)当我运行这个度量:score = Source_project_model.score(X_test, y_test)时,它工作得很好

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55277193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档