Как рассчитать показатели оценки с помощью модели персистентности в scikt-learn - PullRequest
0 голосов
/ 21 марта 2019

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

1 Ответ

0 голосов
/ 21 марта 2019

Я был моей ошибкой. Я забыл эту строку кода: y_pred = clf.predict(X_test) после этой строки кода: clf=clf.fit(X_train,y_train) Когда я запускаю этот показатель: score = Source_project_model.score(X_test, y_test), он работает нормально

Спасибо

...