## Issue

I am trying to write a function `predict()`

that accepts as input a list of prediction probabilities and a threshold value, and computes the final predictions to be output by the model. If a prediction probability value is less than or equal to the threshold value, then the prediction is the negative case (i.e. 0). If a prediction probability value is greater than the threshold value, then the prediction is the positive case (i.e. 1).

When I pass the prediction probabilities (predict_prob) and threshold value (thresh) to the function, I get

```
TypeError: 'type' object is not subscriptable
```

I tried to change my predict_prob list to tuples which I thought was subscriptable, but I still get the same error. My code is below. Can someone assist?

```
# Create predict() function that accepts a list of prediction probabilities and a threshold value
def predict(predict_prob,thresh):
pred = []
for i in range(len(predict_prob)):
if list[i] >= thresh:
pred.append(1)
else:
pred.append(0)
return pred
predict_prob = [0.886,0.375,0.174,0.817,0.574,0.319,0.812,0.314,0.098,0.741,0.847,0.202,0.31,0.073,0.179,0.917,0.64,0.388,0.116,0.72]
thresh = 0.5
preds = predict(predict_prob, thresh)
```

## Solution

`list`

is a reserved word for python and that’s where the error comes from. You probably wanted to refer to `predict_prob`

instead as in the corrected example below

```
# Create predict() function that accepts a list of prediction probabilities and a threshold value
def predict(predict_prob,thresh):
pred = []
for i in range(len(predict_prob)):
if predict_prob[i] >= thresh:
pred.append(1)
else:
pred.append(0)
return pred
predict_prob = [0.886,0.375,0.174,0.817,0.574,0.319,0.812,0.314,0.098,0.741,0.847,0.202,0.31,0.073,0.179,0.917,0.64,0.388,0.116,0.72]
thresh = 0.5
preds = predict(predict_prob, thresh)
```

One faster way to do that is using `numpy`

arrays since it will be the following

```
import numpy as np
def predict(predict_prob, thresh):
bool_res = np.array(predict_prob)>thresh
return 1*bool_res
```

Answered By – DaSim

Answer Checked By – Jay B. (BugsFixing Admin)