The evaluation is done on the accuracy score. The kaggle.csv has got 9117 rows along with their Id's. The csv file you upload on kaggle should have 2 columns - Id, heartbeat_type. The 'Id' should map the corresponding row from kaggle.csv to it's prediction. The 'Predicted' column should have the binary prediction(0 or 1) in each row.
If you are using a dataframe, the following command shall be helpful in creating the output file correctly -
`df.to_csv('kaggle_target.csv',index=False)`
---

Precision is the ratio of true positives \(\text{tp}\) to all predicted positives \(\text{tp} + \text{fp}\). Recall is the ratio of true positives \(\text{tp}\) to all actual positives \(\text{tp} + \text{fn}\). The F1 score is given by:

\[ \text{F1} = 2\frac{\text{p} \cdot \text{r}}{\text{p}+\text{r}}\ \ \mathrm{where}\ \ \text{p} = \frac{\text{tp}}{\text{tp}+\text{fp}},\ \ \text{r} = \frac{\text{tp}}{\text{tp}+\text{fn}} \]

The F1 metric weights recall and precision equally, and a good retrieval algorithm will maximize both precision and recall simultaneously. Thus, moderately good performance on both will be favored over extremely good performance on one and poor performance on the other.

## Submission Format

**For every author in the dataset**, submission files should contain two columns: `AuthorId` and `DuplicateAuthorIds`. `DuplicateAuthorIds` should be a space-delimited list. Every `AuthorId` counts as its own duplicate, and every duplicate should be listed under each of its respective ids. For example, if you suspect author A, B, and C are the same, you should list `A,A B C`, `B,B A C`, `C,C A B`.


The file should contain a header and have the following format:
```
AuthorId,DuplicateAuthorIds
1,1
```