Я запускаю эту модель персистентности, используя встроенную библиотеку 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?