Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sklearn.metrics import classification_report, accuracy_score
- from sklearn.ensemble import IsolationForest
- from sklearn.neighbors import LocalOutlierFactor
- # define a random state
- state = 1
- # define the outlier detection method
- classifiers = {
- "Isolation Forest": IsolationForest(max_samples=len(X),
- contamination=outlier_fraction,
- random_state=state),
- "Local Outlier Factor": LocalOutlierFactor(
- n_neighbors = 20,
- contamination = outlier_fraction)
- }
- from sklearn.externals import joblib
- # fit the model
- n_outliers = len(Fraud)
- for i, (clf_name, clf) in enumerate(classifiers.items()):
- # fit te data and tag outliers
- if clf_name == "Local Outlier Factor":
- y_pred = clf.fit_predict(X)
- # Export the classifier to a file
- joblib.dump(clf, 'model.joblib')
- scores_pred = clf.negative_outlier_factor_
- else:
- clf.fit(X)
- scores_pred = clf.decision_function(X)
- y_pred = clf.predict(X)
- # Export the classifier to a file
- joblib.dump(clf, 'model.joblib')
- # Reshape the prediction values to 0 for valid and 1 for fraudulent
- y_pred[y_pred == 1] = 0
- y_pred[y_pred == -1] = 1
- n_errors = (y_pred != Y).sum()
- # run classification metrics
- print('{}:{}'.format(clf_name, n_errors))
- print(accuracy_score(Y, y_pred ))
- print(classification_report(Y, y_pred ))
- import pickle
- with open('model.pkl', 'wb') as model_file:
- pickle.dump(classifier, model_file)
Add Comment
Please, Sign In to add comment