Multi class classification cross_val_score for precision and recall giving me same result
up vote
0
down vote
favorite
In my Y
values , I have 4
classes. So , clearly this is a multiclass classification problem .
I am using MultinomialNB
as a model. And I am doing 10-fold cross validation , but , I am getting same value for Precision , Recall and F1 .
Here is my code :
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.naive_bayes import MultinomialNB
from sklearn.multiclass import OneVsRestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
scaler = MinMaxScaler()
X_train, X_test, y_train, y_test = train_test_split(yelp_joined_data, Y_label_encoded)
X_train=scaler.fit_transform(X_train)
X_test = scaler.fit_transform(X_test)
# fix random seed
seed = 7
numpy.random.seed(seed)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
clf = OneVsRestClassifier(MultinomialNB(alpha=0.01))
prec_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='precision_micro')
prec_res_test.mean() ## value coming as 0.5090949570838452
recall_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='recall_micro')
recall_res_test.mean() # value coming as 0.5090949570838452
rf1_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='f1_micro')
rf1_res_test.mean() # value coming as 0.5090949570838452
I can not use usual precision here as scoring
parameter , since this is a multiclass problem.
Can anyone please help me where I am doing wrong ?
python machine-learning scikit-learn neural-network multiclass-classification
add a comment |
up vote
0
down vote
favorite
In my Y
values , I have 4
classes. So , clearly this is a multiclass classification problem .
I am using MultinomialNB
as a model. And I am doing 10-fold cross validation , but , I am getting same value for Precision , Recall and F1 .
Here is my code :
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.naive_bayes import MultinomialNB
from sklearn.multiclass import OneVsRestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
scaler = MinMaxScaler()
X_train, X_test, y_train, y_test = train_test_split(yelp_joined_data, Y_label_encoded)
X_train=scaler.fit_transform(X_train)
X_test = scaler.fit_transform(X_test)
# fix random seed
seed = 7
numpy.random.seed(seed)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
clf = OneVsRestClassifier(MultinomialNB(alpha=0.01))
prec_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='precision_micro')
prec_res_test.mean() ## value coming as 0.5090949570838452
recall_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='recall_micro')
recall_res_test.mean() # value coming as 0.5090949570838452
rf1_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='f1_micro')
rf1_res_test.mean() # value coming as 0.5090949570838452
I can not use usual precision here as scoring
parameter , since this is a multiclass problem.
Can anyone please help me where I am doing wrong ?
python machine-learning scikit-learn neural-network multiclass-classification
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
In my Y
values , I have 4
classes. So , clearly this is a multiclass classification problem .
I am using MultinomialNB
as a model. And I am doing 10-fold cross validation , but , I am getting same value for Precision , Recall and F1 .
Here is my code :
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.naive_bayes import MultinomialNB
from sklearn.multiclass import OneVsRestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
scaler = MinMaxScaler()
X_train, X_test, y_train, y_test = train_test_split(yelp_joined_data, Y_label_encoded)
X_train=scaler.fit_transform(X_train)
X_test = scaler.fit_transform(X_test)
# fix random seed
seed = 7
numpy.random.seed(seed)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
clf = OneVsRestClassifier(MultinomialNB(alpha=0.01))
prec_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='precision_micro')
prec_res_test.mean() ## value coming as 0.5090949570838452
recall_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='recall_micro')
recall_res_test.mean() # value coming as 0.5090949570838452
rf1_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='f1_micro')
rf1_res_test.mean() # value coming as 0.5090949570838452
I can not use usual precision here as scoring
parameter , since this is a multiclass problem.
Can anyone please help me where I am doing wrong ?
python machine-learning scikit-learn neural-network multiclass-classification
In my Y
values , I have 4
classes. So , clearly this is a multiclass classification problem .
I am using MultinomialNB
as a model. And I am doing 10-fold cross validation , but , I am getting same value for Precision , Recall and F1 .
Here is my code :
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.naive_bayes import MultinomialNB
from sklearn.multiclass import OneVsRestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
scaler = MinMaxScaler()
X_train, X_test, y_train, y_test = train_test_split(yelp_joined_data, Y_label_encoded)
X_train=scaler.fit_transform(X_train)
X_test = scaler.fit_transform(X_test)
# fix random seed
seed = 7
numpy.random.seed(seed)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
clf = OneVsRestClassifier(MultinomialNB(alpha=0.01))
prec_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='precision_micro')
prec_res_test.mean() ## value coming as 0.5090949570838452
recall_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='recall_micro')
recall_res_test.mean() # value coming as 0.5090949570838452
rf1_res_test=cross_val_score(clf, X_train, y_train.values.ravel(), cv=kfold, n_jobs=1,scoring='f1_micro')
rf1_res_test.mean() # value coming as 0.5090949570838452
I can not use usual precision here as scoring
parameter , since this is a multiclass problem.
Can anyone please help me where I am doing wrong ?
python machine-learning scikit-learn neural-network multiclass-classification
python machine-learning scikit-learn neural-network multiclass-classification
asked Nov 9 at 16:02
DukeLover
111214
111214
add a comment |
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229257%2fmulti-class-classification-cross-val-score-for-precision-and-recall-giving-me-sa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229257%2fmulti-class-classification-cross-val-score-for-precision-and-recall-giving-me-sa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown