Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] The change points detected are different from the points reported from MOA, using the same example #306

Open
denisesato opened this issue Oct 19, 2021 · 1 comment

Comments

@denisesato
Copy link

denisesato commented Oct 19, 2021

Describe the bug
I have a sample stream containing durations (in seconds), and I have analyzed the change points using the ADWINChangeDetector class from MOA. The reported change points are 352, 480. When I apply the same analysis using ADWIN class from scikit-multiflow I have got different points: 416, 448, 480.

To Reproduce
I have simulated the problem by comparing the results obtained from MOA and the python library. I have attached the sample file I have applied (the same data is inputted from both) and a sample code.

ADWINPython_Simulate.zip
MOA_Simulate.zip

Expected behavior
I expected the same chance points (352, 480).

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
I have already identified the difference in the code from scikit-multiflow and I am creating a pull request for it. There are two problems:

  1. The method detected_change is not iterating over the complete bucket because of line 317:
    for k in range(cursor.bucket_size_row - 1):

It should work as the Java implementation, to fix:
for k in range(cursor.bucket_size_row):

  1. After detecting a change point, the detector should be reset. For fixing this I have added the following lines at the beginning of the add_element method:
    if self.in_concept_change: self.reset()
@denisesato
Copy link
Author

If I change the method as I have described the unity test starts to fail, so I did not make the pull request. Could someone help me with this? I have followed the code from MOA sources to implement the changes.

denisesato added a commit to denisesato/scikit-multiflow that referenced this issue Mar 25, 2022
[BUG] The change points detected are different from the points reported from MOA, using the same example scikit-multiflow#306
denisesato added a commit to denisesato/scikit-multiflow that referenced this issue Mar 25, 2022
[BUG] The change points detected are different from the points reported from MOA, using the same example scikit-multiflow#306
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant