nilmtk-contrib
nilmtk-contrib copied to clipboard
DSC Algorithm: Positive constraint not supported for 'lars' coding method
Hi,
I have been experiencing issues with the DSC algorithm lately:
Started training for DSC
Joint training for DSC
............... Loading Data for training ...................
Loading data for REFIT dataset
Loading building ... 1
Dropping missing values
...............DSC partial_fit running...............
Training First dictionary for television
Traceback (most recent call last):
File "main_stuy.py", line 122, in <module>
api_results_real = API(experiment_real)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/nilmtk/api.py", line 62, in __init__
self.experiment(params)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/nilmtk/api.py", line 107, in experiment
self.train_jointly(clf,d)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/nilmtk/api.py", line 260, in train_jointly
clf.partial_fit(self.train_mains,self.train_submeters)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/nilmtk_contrib/disaggregate/dsc.py", line 141, in partial_fit
self.learn_dictionary(power, appliance_name)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/nilmtk_contrib/disaggregate/dsc.py", line 49, in learn_dictionary
model.fit(appliance_main.T)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/sklearn/decomposition/_dict_learning.py", line 1439, in fit
positive_code=self.positive_code)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/sklearn/decomposition/_dict_learning.py", line 756, in dict_learning_online
_check_positive_coding(method, positive_code)
File "/Users/christoph/anaconda/envs/thesis/lib/python3.6/site-packages/sklearn/decomposition/_dict_learning.py", line 28, in _check_positive_coding
"coding method.".format(method)
ValueError: Positive constraint not supported for 'lars' coding method.
Closing remaining open files:../../../data/REFIT.h5...done../../../data/REFIT.h5...done../../../data/REFIT.h5...done../../../data/REFIT.h5...done
I am using:
nilmtk_contrib.__version__
'0.1.0.dev1+git.cfb3b14'
nilmtk.__version__
'0.4.0.dev1+git.5956d31'
sklearn.__version__
'0.22.2.post1'
Any ideas on how to fix this?
Best, Christoph
Follow-up: downgrading scikit-learn to 0.21.3 resolves the problem.
@Rithwikksvr can you look into this?
@nipunbatra i'll try to resolve it ASAP!
why not fix it in new version? scikit-learn 0.21.3 h5py 2.10.0
In new version, it doesnot work for this baseline algorithms.