TypeError while using predict_proba on a previously built model
I trained and saved a model as below
filename = 'finalized_model.sav'
pickle.dump(rf, open(filename, 'wb'))
Now I am writing a webservice where I am getting a test dataset, so I load the model and predict probability
def getCuisine():
content=jsonify(request.json)
test = pd.io.json.json_normalize(request.json)
tfidf_vect = pickle.load(open("vectorizer.pickle", "rb"))
test['ingredients'] = [str(map(makeString, x)) for x in test['ingredients']]
test_transform = tfidf_vect.transform(test['ingredients'].values)
le = preprocessing.LabelEncoder()
X_test = test_transform
y_test = le.fit_transform(test['cuisine'].values)
# load the model
filename = 'finalized_model.sav'
loaded_model = pickle.load(open(filename, 'rb'))
#predict
predicted_labels = loaded_model.predict_proba(X_test)
But I am getting error
TypeError: '<' not supported between instances of 'NoneType' and 'int'
in line predicted_labels = loaded_model.predict_proba(X_test)
What am I missing?
EDIT:
Based on the comments, I tried below
content=request.json()
test = pd.io.json.json_normalize(content)
But then I get error TypeError: 'list' object is not callable
. See the sample input below.
Nonetheless don't think the issue is with reading the request. I tried panda's read with a local file as below but still getting the original error TypeError: '<' not supported between instances of 'NoneType' and 'int'
test = pd.read_json('./test.json')
Sample input
[
{
"id": 25693,
"cuisine": "southern_us",
"ingredients": [
"plain flour",
"ground pepper",
"salt",
"tomatoes",
"ground black pepper",
"thyme",
"eggs",
"green tomatoes",
"yellow corn meal",
"milk",
"vegetable oil"
]
}
]
python machine-learning scikit-learn
add a comment |
I trained and saved a model as below
filename = 'finalized_model.sav'
pickle.dump(rf, open(filename, 'wb'))
Now I am writing a webservice where I am getting a test dataset, so I load the model and predict probability
def getCuisine():
content=jsonify(request.json)
test = pd.io.json.json_normalize(request.json)
tfidf_vect = pickle.load(open("vectorizer.pickle", "rb"))
test['ingredients'] = [str(map(makeString, x)) for x in test['ingredients']]
test_transform = tfidf_vect.transform(test['ingredients'].values)
le = preprocessing.LabelEncoder()
X_test = test_transform
y_test = le.fit_transform(test['cuisine'].values)
# load the model
filename = 'finalized_model.sav'
loaded_model = pickle.load(open(filename, 'rb'))
#predict
predicted_labels = loaded_model.predict_proba(X_test)
But I am getting error
TypeError: '<' not supported between instances of 'NoneType' and 'int'
in line predicted_labels = loaded_model.predict_proba(X_test)
What am I missing?
EDIT:
Based on the comments, I tried below
content=request.json()
test = pd.io.json.json_normalize(content)
But then I get error TypeError: 'list' object is not callable
. See the sample input below.
Nonetheless don't think the issue is with reading the request. I tried panda's read with a local file as below but still getting the original error TypeError: '<' not supported between instances of 'NoneType' and 'int'
test = pd.read_json('./test.json')
Sample input
[
{
"id": 25693,
"cuisine": "southern_us",
"ingredients": [
"plain flour",
"ground pepper",
"salt",
"tomatoes",
"ground black pepper",
"thyme",
"eggs",
"green tomatoes",
"yellow corn meal",
"milk",
"vegetable oil"
]
}
]
python machine-learning scikit-learn
It should berequest.json()
– coldspeed
Nov 25 '18 at 18:54
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48
add a comment |
I trained and saved a model as below
filename = 'finalized_model.sav'
pickle.dump(rf, open(filename, 'wb'))
Now I am writing a webservice where I am getting a test dataset, so I load the model and predict probability
def getCuisine():
content=jsonify(request.json)
test = pd.io.json.json_normalize(request.json)
tfidf_vect = pickle.load(open("vectorizer.pickle", "rb"))
test['ingredients'] = [str(map(makeString, x)) for x in test['ingredients']]
test_transform = tfidf_vect.transform(test['ingredients'].values)
le = preprocessing.LabelEncoder()
X_test = test_transform
y_test = le.fit_transform(test['cuisine'].values)
# load the model
filename = 'finalized_model.sav'
loaded_model = pickle.load(open(filename, 'rb'))
#predict
predicted_labels = loaded_model.predict_proba(X_test)
But I am getting error
TypeError: '<' not supported between instances of 'NoneType' and 'int'
in line predicted_labels = loaded_model.predict_proba(X_test)
What am I missing?
EDIT:
Based on the comments, I tried below
content=request.json()
test = pd.io.json.json_normalize(content)
But then I get error TypeError: 'list' object is not callable
. See the sample input below.
Nonetheless don't think the issue is with reading the request. I tried panda's read with a local file as below but still getting the original error TypeError: '<' not supported between instances of 'NoneType' and 'int'
test = pd.read_json('./test.json')
Sample input
[
{
"id": 25693,
"cuisine": "southern_us",
"ingredients": [
"plain flour",
"ground pepper",
"salt",
"tomatoes",
"ground black pepper",
"thyme",
"eggs",
"green tomatoes",
"yellow corn meal",
"milk",
"vegetable oil"
]
}
]
python machine-learning scikit-learn
I trained and saved a model as below
filename = 'finalized_model.sav'
pickle.dump(rf, open(filename, 'wb'))
Now I am writing a webservice where I am getting a test dataset, so I load the model and predict probability
def getCuisine():
content=jsonify(request.json)
test = pd.io.json.json_normalize(request.json)
tfidf_vect = pickle.load(open("vectorizer.pickle", "rb"))
test['ingredients'] = [str(map(makeString, x)) for x in test['ingredients']]
test_transform = tfidf_vect.transform(test['ingredients'].values)
le = preprocessing.LabelEncoder()
X_test = test_transform
y_test = le.fit_transform(test['cuisine'].values)
# load the model
filename = 'finalized_model.sav'
loaded_model = pickle.load(open(filename, 'rb'))
#predict
predicted_labels = loaded_model.predict_proba(X_test)
But I am getting error
TypeError: '<' not supported between instances of 'NoneType' and 'int'
in line predicted_labels = loaded_model.predict_proba(X_test)
What am I missing?
EDIT:
Based on the comments, I tried below
content=request.json()
test = pd.io.json.json_normalize(content)
But then I get error TypeError: 'list' object is not callable
. See the sample input below.
Nonetheless don't think the issue is with reading the request. I tried panda's read with a local file as below but still getting the original error TypeError: '<' not supported between instances of 'NoneType' and 'int'
test = pd.read_json('./test.json')
Sample input
[
{
"id": 25693,
"cuisine": "southern_us",
"ingredients": [
"plain flour",
"ground pepper",
"salt",
"tomatoes",
"ground black pepper",
"thyme",
"eggs",
"green tomatoes",
"yellow corn meal",
"milk",
"vegetable oil"
]
}
]
python machine-learning scikit-learn
python machine-learning scikit-learn
edited Nov 26 '18 at 16:48
nad
asked Nov 25 '18 at 18:48
nadnad
61231428
61231428
It should berequest.json()
– coldspeed
Nov 25 '18 at 18:54
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48
add a comment |
It should berequest.json()
– coldspeed
Nov 25 '18 at 18:54
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48
It should be
request.json()
– coldspeed
Nov 25 '18 at 18:54
It should be
request.json()
– coldspeed
Nov 25 '18 at 18:54
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48
add a comment |
0
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',
autoActivateHeartbeat: false,
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%2f53470754%2ftypeerror-while-using-predict-proba-on-a-previously-built-model%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
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.
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%2f53470754%2ftypeerror-while-using-predict-proba-on-a-previously-built-model%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
It should be
request.json()
– coldspeed
Nov 25 '18 at 18:54
@coldspeed not sure what you meant?
– nad
Nov 25 '18 at 18:59
Note the brackets in the comment, and then compare it with your code.
– Vivek Kumar
Nov 26 '18 at 8:02
@VivekKumar see the edits
– nad
Nov 26 '18 at 16:48