You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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:
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):
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()
The text was updated successfully, but these errors were encountered:
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
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:
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):
if self.in_concept_change: self.reset()
The text was updated successfully, but these errors were encountered: