awacke1 commited on
Commit
966fab8
·
verified ·
1 Parent(s): e8a0724

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +92 -302
app.py CHANGED
@@ -1,7 +1,9 @@
1
  import streamlit as st
2
  import numpy as np
 
3
  from sklearn.decomposition import DictionaryLearning
4
- from sklearn.datasets import load_digits
 
5
  import matplotlib.pyplot as plt
6
 
7
  # Title of the app
@@ -13,62 +15,8 @@ st.write('''
13
  Dictionary learning aims to find a sparse representation of the data in the form of a dictionary and a sparse matrix.
14
  ''')
15
 
16
- # Load dataset
17
- digits = load_digits()
18
- data = digits.data
19
-
20
- # Display a sample image from the dataset
21
- st.write("Sample image from the dataset:")
22
- sample_index = 0
23
- sample_image = data[sample_index].reshape(8, 8)
24
- plt.imshow(sample_image, cmap='gray')
25
- st.pyplot(plt)
26
-
27
- # Get user input for the number of dictionary components
28
- n_components = st.slider('Number of dictionary components', 1, 64, 32)
29
-
30
- # Perform dictionary learning
31
- dl = DictionaryLearning(n_components=n_components, transform_algorithm='lasso_lars', random_state=0)
32
- X_transformed = dl.fit_transform(data)
33
- dictionary = dl.components_
34
-
35
- # Display the learned dictionary components
36
- st.write("Learned dictionary components:")
37
- fig, axes = plt.subplots(4, 8, figsize=(8, 4))
38
- for i, ax in enumerate(axes.ravel()):
39
- if i < n_components:
40
- ax.imshow(dictionary[i].reshape(8, 8), cmap='gray')
41
- ax.axis('off')
42
- st.pyplot(fig)
43
-
44
- # Display sparsity of the transformed data
45
- sparsity = np.mean(X_transformed == 0)
46
- st.write(f'Sparsity of the transformed data: {sparsity:.2f}')
47
-
48
-
49
-
50
- st.title('Dictionary Learning')
51
-
52
- uploaded_file = st.file_uploader("Upload an image", type="jpg")
53
-
54
- n_atoms = st.number_input('Number of atoms in the dictionary', 10, 100, 50)
55
- sparsity = st.number_input('Sparsity of the representation', 1, 10, 5)
56
-
57
- if uploaded_file is not None:
58
- image = np.array(Image.open(uploaded_file))
59
- image = image.reshape(-1, image.shape[-1])
60
-
61
- if st.button('Learn Dictionary'):
62
- dl = DictionaryLearning(n_components=n_atoms, alpha=1, beta_0=1, n_iter=100, tol=1e-3)
63
- dl.fit(image)
64
- st.write('Dictionary learned!')
65
-
66
- # Display the dictionary atoms
67
- st.write('Dictionary atoms:')
68
- st.image(dl.components_.reshape(n_atoms, image.shape[1], image.shape[2]), caption='Dictionary atoms')
69
-
70
- # Display the sparse codes
71
- st.write('''
72
  # 🩺🔍 Search Results
73
  ### 11 Jul 2023 | [FairLay-ML: Intuitive Remedies for Unfairness in Data-Driven Social-Critical Algorithms](https://arxiv.org/abs/2307.05029) | [⬇️](https://arxiv.org/pdf/2307.05029)
74
  *Normen Yu, Gang Tan, Saeid Tizpaz-Niari*
@@ -314,18 +262,15 @@ To test the efficiency of this system, 60 questions were generated targeting
314
  academic words. The generated items were reviewed by expert reviewers who
315
  judged the well-formedness of the sentences and word options, adding comments
316
  to items judged not well-formed. Results showed a 75% rate of well-formedness
317
- for sentences and 66.85% rate for suitable word options. This is a marked
318
  improvement over the generator used earlier in our research which did not take
319
  advantage of GPT's capabilities. Post-hoc qualitative analysis reveals several
320
  points for improvement in future work including cross-referencing
321
  part-of-speech tagging, better sentence validation, and improving GPT prompts.
322
 
323
- ---------------
324
-
325
- ### 13 Dec 2016 | [TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning](https://arxiv.org/abs/1612.04251) | [⬇️](https://arxiv.org/pdf/1612.04251)
326
- *Yuan Tang*
327
-
328
- TF.Learn is a high-level Python module for distributed machine learning
329
  inside TensorFlow. It provides an easy-to-use Scikit-learn style interface to
330
  simplify the process of creating, configuring, training, evaluating, and
331
  experimenting a machine learning model. TF.Learn integrates a wide range of
@@ -336,12 +281,9 @@ high-level language as well as researchers who want to implement, benchmark,
336
  and compare their new methods in a structured environment. Emphasis is put on
337
  ease of use, performance, documentation, and API consistency.
338
 
339
- ---------------
340
-
341
- ### 11 Dec 2019 | [Majorization Minimization Technique for Optimally Solving Deep Dictionary Learning](https://arxiv.org/abs/1912.10801) | [⬇️](https://arxiv.org/pdf/1912.10801)
342
- *Vanika Singhal and Angshul Majumdar*
343
-
344
- The concept of deep dictionary learning has been recently proposed. Unlike
345
  shallow dictionary learning which learns single level of dictionary to
346
  represent the data, it uses multiple layers of dictionaries. So far, the
347
  problem could only be solved in a greedy fashion; this was achieved by learning
@@ -358,12 +300,9 @@ autoencoder, deep belief network, contractive autoencoder and K-sparse
358
  autoencoder) show that our method supersedes their performance both in accuracy
359
  and speed.
360
 
361
- ---------------
362
-
363
- ### 17 May 2022 | [Applications of Deep Neural Networks with Keras](https://arxiv.org/abs/2009.05673) | [⬇️](https://arxiv.org/pdf/2009.05673)
364
- *Jeff Heaton*
365
-
366
- Deep learning is a group of exciting new technologies for neural networks.
367
  Through a combination of advanced training techniques and neural network
368
  architectural components, it is now possible to create neural networks that can
369
  handle tabular data, images, text, and audio as both input and output. Deep
@@ -382,12 +321,9 @@ implement deep learning using Google TensorFlow and Keras. It is not necessary
382
  to know Python prior to this book; however, familiarity with at least one
383
  programming language is assumed.
384
 
385
- ---------------
386
-
387
- ### 26 Feb 2015 | [Learning computationally efficient dictionaries and their implementation as fast transforms](https://arxiv.org/abs/1406.5388) | [⬇️](https://arxiv.org/pdf/1406.5388)
388
- *Luc Le Magoarou (INRIA - IRISA), R\'emi Gribonval (INRIA - IRISA)*
389
-
390
- Dictionary learning is a branch of signal processing and machine learning
391
  that aims at finding a frame (called dictionary) in which some training data
392
  admits a sparse representation. The sparser the representation, the better the
393
  dictionary. The resulting dictionary is in general a dense matrix, and its
@@ -400,12 +336,9 @@ dictionaries --and their fast implementation-- over training data. The approach
400
  is demonstrated experimentally with the factorization of the Hadamard matrix
401
  and with synthetic dictionary learning experiments.
402
 
403
- ---------------
404
-
405
- ### 03 Dec 2021 | [SSDL: Self-Supervised Dictionary Learning](https://arxiv.org/abs/2112.01790) | [⬇️](https://arxiv.org/pdf/2112.01790)
406
- *Shuai Shao, Lei Xing, Wei Yu, Rui Xu, Yanjiang Wang, Baodi Liu*
407
-
408
- The label-embedded dictionary learning (DL) algorithms generate influential
409
  dictionaries by introducing discriminative information. However, there exists a
410
  limitation: All the label-embedded DL methods rely on the labels due that this
411
  way merely achieves ideal performances in supervised learning. While in
@@ -420,12 +353,9 @@ label-embedded DL method. We evaluate our SSDL on two human activity
420
  recognition datasets. The comparison results with other state-of-the-art
421
  methods have demonstrated the efficiency of SSDL.
422
 
423
- ---------------
424
-
425
- ### 05 Jun 2018 | [Scikit-learn: Machine Learning in Python](https://arxiv.org/abs/1201.0490) | [⬇️](https://arxiv.org/pdf/1201.0490)
426
- *Fabian Pedregosa, Ga\"el Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Andreas M\"uller, Joel Nothman, Gilles Louppe, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, \'Edouard Duchesnay*
427
-
428
- Scikit-learn is a Python module integrating a wide range of state-of-the-art
429
  machine learning algorithms for medium-scale supervised and unsupervised
430
  problems. This package focuses on bringing machine learning to non-specialists
431
  using a general-purpose high-level language. Emphasis is put on ease of use,
@@ -434,12 +364,9 @@ and is distributed under the simplified BSD license, encouraging its use in
434
  both academic and commercial settings. Source code, binaries, and documentation
435
  can be downloaded from http://scikit-learn.org.
436
 
437
- ---------------
438
-
439
- ### 15 Jul 2020 | [Complete Dictionary Learning via $\ell_p$-norm Maximization](https://arxiv.org/abs/2002.10043) | [⬇️](https://arxiv.org/pdf/2002.10043)
440
- *Yifei Shen, Ye Xue, Jun Zhang, Khaled B. Letaief, and Vincent Lau*
441
-
442
- Dictionary learning is a classic representation learning method that has been
443
  widely applied in signal processing and data analytics. In this paper, we
444
  investigate a family of $\ell_p$-norm ($p>2,p \in \mathbb{N}$) maximization
445
  approaches for the complete dictionary learning problem from theoretical and
@@ -454,12 +381,9 @@ experiments will demonstrate that the $\ell_p$-based approaches enjoy a higher
454
  computational efficiency and better robustness than conventional approaches and
455
  $p=3$ performs the best.
456
 
457
- ---------------
458
-
459
- ### 27 Nov 2023 | [Utilizing Explainability Techniques for Reinforcement Learning Model Assurance](https://arxiv.org/abs/2311.15838) | [⬇️](https://arxiv.org/pdf/2311.15838)
460
- *Alexander Tapley and Kyle Gatesman and Luis Robaina and Brett Bissey and Joseph Weissman*
461
-
462
- Explainable Reinforcement Learning (XRL) can provide transparency into the
463
  decision-making process of a Deep Reinforcement Learning (DRL) model and
464
  increase user trust and adoption in real-world use cases. By utilizing XRL
465
  techniques, researchers can identify potential vulnerabilities within a trained
@@ -472,12 +396,9 @@ effectiveness, we provide explainability visualizations and vulnerability
472
  analysis for a publicly available DRL model. The open-source code repository is
473
  available for download at https://github.com/mitre/arlin.
474
 
475
- ---------------
476
-
477
- ### 19 Sep 2019 | [InterpretML: A Unified Framework for Machine Learning Interpretability](https://arxiv.org/abs/1909.09223) | [⬇️](https://arxiv.org/pdf/1909.09223)
478
- *Harsha Nori and Samuel Jenkins and Paul Koch and Rich Caruana*
479
-
480
- InterpretML is an open-source Python package which exposes machine learning
481
  interpretability algorithms to practitioners and researchers. InterpretML
482
  exposes two types of interpretability - glassbox models, which are machine
483
  learning models designed for interpretability (ex: linear models, rule lists,
@@ -490,205 +411,74 @@ the Explainable Boosting Machine, a powerful, interpretable, glassbox model
490
  that can be as accurate as many blackbox models. The MIT licensed source code
491
  can be downloaded from github.com/microsoft/interpret.
492
 
493
- ---------------
494
- **Date:** 11 Jul 2023
495
-
496
- **Title:** FairLay-ML: Intuitive Remedies for Unfairness in Data-Driven Social-Critical Algorithms
497
-
498
- **Abstract Link:** [https://arxiv.org/abs/2307.05029](https://arxiv.org/abs/2307.05029)
499
-
500
- **PDF Link:** [https://arxiv.org/pdf/2307.05029](https://arxiv.org/pdf/2307.05029)
501
-
502
- ---
503
-
504
- **Date:** 29 Jan 2020
505
-
506
- **Title:** stream-learn -- open-source Python library for difficult data stream batch analysis
507
-
508
- **Abstract Link:** [https://arxiv.org/abs/2001.11077](https://arxiv.org/abs/2001.11077)
509
-
510
- **PDF Link:** [https://arxiv.org/pdf/2001.11077](https://arxiv.org/pdf/2001.11077)
511
-
512
- ---
513
-
514
- **Date:** 16 Oct 2022
515
-
516
- **Title:** POTATO: exPlainable infOrmation exTrAcTion framewOrk
517
-
518
- **Abstract Link:** [https://arxiv.org/abs/2201.13230](https://arxiv.org/abs/2201.13230)
519
-
520
- **PDF Link:** [https://arxiv.org/pdf/2201.13230](https://arxiv.org/pdf/2201.13230)
521
-
522
- ---
523
-
524
- **Date:** 01 Aug 2019
525
-
526
- **Title:** ProSper -- A Python Library for Probabilistic Sparse Coding with Non-Standard Priors and Superpositions
527
-
528
- **Abstract Link:** [https://arxiv.org/abs/1908.06843](https://arxiv.org/abs/1908.06843)
529
-
530
- **PDF Link:** [https://arxiv.org/pdf/1908.06843](https://arxiv.org/pdf/1908.06843)
531
-
532
- ---
533
-
534
- **Date:** 27 Jul 2020
535
-
536
- **Title:** metric-learn: Metric Learning Algorithms in Python
537
-
538
- **Abstract Link:** [https://arxiv.org/abs/1908.04710](https://arxiv.org/abs/1908.04710)
539
-
540
- **PDF Link:** [https://arxiv.org/pdf/1908.04710](https://arxiv.org/pdf/1908.04710)
541
-
542
- ---
543
 
544
- **Date:** 10 Nov 2023
545
-
546
- **Title:** Deep Fast Vision: A Python Library for Accelerated Deep Transfer Learning Vision Prototyping
547
-
548
- **Abstract Link:** [https://arxiv.org/abs/2311.06169](https://arxiv.org/abs/2311.06169)
549
-
550
- **PDF Link:** [https://arxiv.org/pdf/2311.06169](https://arxiv.org/pdf/2311.06169)
551
-
552
- ---
553
-
554
- **Date:** 12 Jul 2021
555
-
556
- **Title:** Online Graph Dictionary Learning
557
-
558
- **Abstract Link:** [https://arxiv.org/abs/2102.06555](https://arxiv.org/abs/2102.06555)
559
-
560
- **PDF Link:** [https://arxiv.org/pdf/2102.06555](https://arxiv.org/pdf/2102.06555)
561
-
562
- ---
563
-
564
- **Date:** 25 Nov 2021
565
-
566
- **Title:** Online Orthogonal Dictionary Learning Based on Frank-Wolfe Method
567
-
568
- **Abstract Link:** [https://arxiv.org/abs/2103.01484](https://arxiv.org/abs/2103.01484)
569
-
570
- **PDF Link:** [https://arxiv.org/pdf/2103.01484](https://arxiv.org/pdf/2103.01484)
571
-
572
- ---
573
-
574
- **Date:** 14 Jun 2022
575
-
576
- **Title:** Supervised Dictionary Learning with Auxiliary Covariates
577
-
578
- **Abstract Link:** [https://arxiv.org/abs/2206.06774](https://arxiv.org/abs/2206.06774)
579
-
580
- **PDF Link:** [https://arxiv.org/pdf/2206.06774](https://arxiv.org/pdf/2206.06774)
581
-
582
- ---
583
-
584
- **Date:** 07 Oct 2013
585
-
586
- **Title:** Online Unsupervised Feature Learning for Visual Tracking
587
-
588
- **Abstract Link:** [https://arxiv.org/abs/1310.1690](https://arxiv.org/abs/1310.1690)
589
-
590
- **PDF Link:** [https://arxiv.org/pdf/1310.1690](https://arxiv.org/pdf/1310.1690)
591
-
592
- ---
593
-
594
- **Date:** 04 Mar 2024
595
-
596
- **Title:** Automated Generation of Multiple-Choice Cloze Questions for Assessing English Vocabulary Using GPT-turbo 3.5
597
-
598
- **Abstract Link:** [https://arxiv.org/abs/2403.02078](https://arxiv.org/abs/2403.02078)
599
-
600
- **PDF Link:** [https://arxiv.org/pdf/2403.02078](https://arxiv.org/pdf/2403.02078)
601
-
602
- ---
603
-
604
- **Date:** 13 Dec 2016
605
-
606
- **Title:** TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning
607
-
608
- **Abstract Link:** [https://arxiv.org/abs/1612.04251](https://arxiv.org/abs/1612.04251)
609
-
610
- **PDF Link:** [https://arxiv.org/pdf/1612.04251](https://arxiv.org/pdf/1612.04251)
611
-
612
- ---
613
-
614
- **Date:** 11 Dec 2019
615
-
616
- **Title:** Majorization Minimization Technique for Optimally Solving Deep Dictionary Learning
617
-
618
- **Abstract Link:** [https://arxiv.org/abs/1912.10801](https://arxiv.org/abs/1912.10801)
619
-
620
- **PDF Link:** [https://arxiv.org/pdf/1912.10801](https://arxiv.org/pdf/1912.10801)
621
-
622
- ---
623
-
624
- **Date:** 17 May 2022
625
-
626
- **Title:** Applications of Deep Neural Networks with Keras
627
-
628
- **Abstract Link:** [https://arxiv.org/abs/2009.05673](https://arxiv.org/abs/2009.05673)
629
-
630
- **PDF Link:** [https://arxiv.org/pdf/2009.05673](https://arxiv.org/pdf/2009.05673)
631
-
632
- ---
633
-
634
- **Date:** 26 Feb 2015
635
-
636
- **Title:** Learning computationally efficient dictionaries and their implementation as fast transforms
637
-
638
- **Abstract Link:** [https://arxiv.org/abs/1406.5388](https://arxiv.org/abs/1406.5388)
639
-
640
- **PDF Link:** [https://arxiv.org/pdf/1406.5388](https://arxiv.org/pdf/1406.5388)
641
-
642
- ---
643
-
644
- **Date:** 03 Dec 2021
645
-
646
- **Title:** SSDL: Self-Supervised Dictionary Learning
647
-
648
- **Abstract Link:** [https://arxiv.org/abs/2112.01790](https://arxiv.org/abs/2112.01790)
649
-
650
- **PDF Link:** [https://arxiv.org/pdf/2112.01790](https://arxiv.org/pdf/2112.01790)
651
-
652
- ---
653
-
654
- **Date:** 05 Jun 2018
655
-
656
- **Title:** Scikit-learn: Machine Learning in Python
657
-
658
- **Abstract Link:** [https://arxiv.org/abs/1201.0490](https://arxiv.org/abs/1201.0490)
659
-
660
- **PDF Link:** [https://arxiv.org/pdf/1201.0490](https://arxiv.org/pdf/1201.0490)
661
-
662
- ---
663
-
664
- **Date:** 15 Jul 2020
665
-
666
- **Title:** Complete Dictionary Learning via $\ell_p$-norm Maximization
667
-
668
- **Abstract Link:** [https://arxiv.org/abs/2002.10043](https://arxiv.org/abs/2002.10043)
669
-
670
- **PDF Link:** [https://arxiv.org/pdf/2002.10043](https://arxiv.org/pdf/2002.10043)
671
-
672
- ---
673
 
674
- **Date:** 27 Nov 2023
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
675
 
676
- **Title:** Utilizing Explainability Techniques for Reinforcement Learning Model Assurance
677
 
678
- **Abstract Link:** [https://arxiv.org/abs/2311.15838](https://arxiv.org/abs/2311.15838)
679
 
680
- **PDF Link:** [https://arxiv.org/pdf/2311.15838](https://arxiv.org/pdf/2311.15838)
681
 
682
- ---
 
683
 
684
- **Date:** 19 Sep 2019
 
 
 
 
 
 
 
685
 
686
- **Title:** InterpretML: A Unified Framework for Machine Learning Interpretability
687
 
688
- **Abstract Link:** [https://arxiv.org/abs/1909.09223](https://arxiv.org/abs/1909.09223)
689
 
690
- **PDF Link:** [https://arxiv.org/pdf/1909.09223](https://arxiv.org/pdf/1909.09223)
691
 
692
- ---
693
 
694
- ''')
 
1
  import streamlit as st
2
  import numpy as np
3
+ from sklearn.feature_extraction.text import CountVectorizer
4
  from sklearn.decomposition import DictionaryLearning
5
+ import pandas as pd
6
+ import networkx as nx
7
  import matplotlib.pyplot as plt
8
 
9
  # Title of the app
 
15
  Dictionary learning aims to find a sparse representation of the data in the form of a dictionary and a sparse matrix.
16
  ''')
17
 
18
+ # Text input
19
+ text_input = st.text_area("Enter the text to analyze:", value='''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  # 🩺🔍 Search Results
21
  ### 11 Jul 2023 | [FairLay-ML: Intuitive Remedies for Unfairness in Data-Driven Social-Critical Algorithms](https://arxiv.org/abs/2307.05029) | [⬇️](https://arxiv.org/pdf/2307.05029)
22
  *Normen Yu, Gang Tan, Saeid Tizpaz-Niari*
 
262
  academic words. The generated items were reviewed by expert reviewers who
263
  judged the well-formedness of the sentences and word options, adding comments
264
  to items judged not well-formed. Results showed a 75% rate of well-formedness
265
+ for sentences and 66.85% rate for suitableword options. This is a marked
266
  improvement over the generator used earlier in our research which did not take
267
  advantage of GPT's capabilities. Post-hoc qualitative analysis reveals several
268
  points for improvement in future work including cross-referencing
269
  part-of-speech tagging, better sentence validation, and improving GPT prompts.
270
 
271
+ 13 Dec 2016 | TF.Learn: TensorFlow's High-level Module for Distributed Machine Learning | ⬇️
272
+ Yuan Tang
273
+ TF.Learn is a high-level Python module for distributed machine learning
 
 
 
274
  inside TensorFlow. It provides an easy-to-use Scikit-learn style interface to
275
  simplify the process of creating, configuring, training, evaluating, and
276
  experimenting a machine learning model. TF.Learn integrates a wide range of
 
281
  and compare their new methods in a structured environment. Emphasis is put on
282
  ease of use, performance, documentation, and API consistency.
283
 
284
+ 11 Dec 2019 | Majorization Minimization Technique for Optimally Solving Deep Dictionary Learning | ⬇️
285
+ Vanika Singhal and Angshul Majumdar
286
+ The concept of deep dictionary learning has been recently proposed. Unlike
 
 
 
287
  shallow dictionary learning which learns single level of dictionary to
288
  represent the data, it uses multiple layers of dictionaries. So far, the
289
  problem could only be solved in a greedy fashion; this was achieved by learning
 
300
  autoencoder) show that our method supersedes their performance both in accuracy
301
  and speed.
302
 
303
+ 17 May 2022 | Applications of Deep Neural Networks with Keras | ⬇️
304
+ Jeff Heaton
305
+ Deep learning is a group of exciting new technologies for neural networks.
 
 
 
306
  Through a combination of advanced training techniques and neural network
307
  architectural components, it is now possible to create neural networks that can
308
  handle tabular data, images, text, and audio as both input and output. Deep
 
321
  to know Python prior to this book; however, familiarity with at least one
322
  programming language is assumed.
323
 
324
+ 26 Feb 2015 | Learning computationally efficient dictionaries and their implementation as fast transforms | ⬇️
325
+ Luc Le Magoarou (INRIA - IRISA), R'emi Gribonval (INRIA - IRISA)
326
+ Dictionary learning is a branch of signal processing and machine learning
 
 
 
327
  that aims at finding a frame (called dictionary) in which some training data
328
  admits a sparse representation. The sparser the representation, the better the
329
  dictionary. The resulting dictionary is in general a dense matrix, and its
 
336
  is demonstrated experimentally with the factorization of the Hadamard matrix
337
  and with synthetic dictionary learning experiments.
338
 
339
+ 03 Dec 2021 | SSDL: Self-Supervised Dictionary Learning | ⬇️
340
+ Shuai Shao, Lei Xing, Wei Yu, Rui Xu, Yanjiang Wang, Baodi Liu
341
+ The label-embedded dictionary learning (DL) algorithms generate influential
 
 
 
342
  dictionaries by introducing discriminative information. However, there exists a
343
  limitation: All the label-embedded DL methods rely on the labels due that this
344
  way merely achieves ideal performances in supervised learning. While in
 
353
  recognition datasets. The comparison results with other state-of-the-art
354
  methods have demonstrated the efficiency of SSDL.
355
 
356
+ 05 Jun 2018 | Scikit-learn: Machine Learning in Python | ⬇️
357
+ Fabian Pedregosa, Ga"el Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Andreas M"uller, Joel Nothman, Gilles Louppe, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, 'Edouard Duchesnay
358
+ Scikit-learn is a Python module integrating a wide range of state-of-the-art
 
 
 
359
  machine learning algorithms for medium-scale supervised and unsupervised
360
  problems. This package focuses on bringing machine learning to non-specialists
361
  using a general-purpose high-level language. Emphasis is put on ease of use,
 
364
  both academic and commercial settings. Source code, binaries, and documentation
365
  can be downloaded from http://scikit-learn.org.
366
 
367
+ 15 Jul 2020 | Complete Dictionary Learning via $\ell_p$-norm Maximization | ⬇️
368
+ Yifei Shen, Ye Xue, Jun Zhang, Khaled B. Letaief, and Vincent Lau
369
+ Dictionary learning is a classic representation learning method that has been
 
 
 
370
  widely applied in signal processing and data analytics. In this paper, we
371
  investigate a family of $\ell_p$-norm ($p>2,p \in \mathbb{N}$) maximization
372
  approaches for the complete dictionary learning problem from theoretical and
 
381
  computational efficiency and better robustness than conventional approaches and
382
  $p=3$ performs the best.
383
 
384
+ 27 Nov 2023 | Utilizing Explainability Techniques for Reinforcement Learning Model Assurance | ⬇️
385
+ Alexander Tapley and Kyle Gatesman and Luis Robaina and Brett Bissey and Joseph Weissman
386
+ Explainable Reinforcement Learning (XRL) can provide transparency into the
 
 
 
387
  decision-making process of a Deep Reinforcement Learning (DRL) model and
388
  increase user trust and adoption in real-world use cases. By utilizing XRL
389
  techniques, researchers can identify potential vulnerabilities within a trained
 
396
  analysis for a publicly available DRL model. The open-source code repository is
397
  available for download at https://github.com/mitre/arlin.
398
 
399
+ 19 Sep 2019 | InterpretML: A Unified Framework for Machine Learning Interpretability | ⬇️
400
+ Harsha Nori and Samuel Jenkins and Paul Koch and Rich Caruana
401
+ InterpretML is an open-source Python package which exposes machine learning
 
 
 
402
  interpretability algorithms to practitioners and researchers. InterpretML
403
  exposes two types of interpretability - glassbox models, which are machine
404
  learning models designed for interpretability (ex: linear models, rule lists,
 
411
  that can be as accurate as many blackbox models. The MIT licensed source code
412
  can be downloaded from github.com/microsoft/interpret.
413
 
414
+ ''', height=200)
415
+ Get user input for the number of dictionary components
416
+ n_components = st.slider('Number of dictionary components', 1, 20, 10)
417
+ if st.button('Analyze'):
418
+ # Perform text preprocessing
419
+ vectorizer = CountVectorizer(stop_words='english')
420
+ X = vectorizer.fit_transform([text_input])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
 
422
+ # Perform dictionary learning
423
+ dl = DictionaryLearning(n_components=n_components, transform_algorithm='lasso_lars', random_state=0)
424
+ X_transformed = dl.fit_transform(X)
425
+ dictionary = dl.components_
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
 
427
+ # Get the feature names (terms)
428
+ feature_names = vectorizer.get_feature_names_out()
429
+
430
+ # Create a DataFrame with dictionary components and their corresponding terms
431
+ df_components = pd.DataFrame(dictionary, columns=feature_names)
432
+ df_components['Component'] = ['Component ' + str(i+1) for i in range(n_components)]
433
+ df_components = df_components.set_index('Component')
434
+
435
+ # Display the DataFrame
436
+ st.markdown("### Dictionary Components")
437
+ st.dataframe(df_components)
438
+
439
+ # Create a graph of terms and their connections
440
+ G = nx.Graph()
441
+
442
+ # Add nodes to the graph
443
+ for term in feature_names:
444
+ G.add_node(term)
445
+
446
+ # Add edges to the graph based on co-occurrence in dictionary components
447
+ for i in range(n_components):
448
+ terms = df_components.columns[df_components.iloc[i] > 0]
449
+ for term1 in terms:
450
+ for term2 in terms:
451
+ if term1 != term2:
452
+ G.add_edge(term1, term2)
453
+
454
+ # Plot the graph
455
+ fig, ax = plt.subplots(figsize=(8, 8))
456
+ pos = nx.spring_layout(G, k=0.3)
457
+ nx.draw_networkx_nodes(G, pos, node_size=100, node_color='lightblue', alpha=0.8)
458
+ nx.draw_networkx_edges(G, pos, edge_color='gray', alpha=0.5)
459
+ nx.draw_networkx_labels(G, pos, font_size=8)
460
+ ax.axis('off')
461
+ st.pyplot(fig)
462
 
 
463
 
 
464
 
 
465
 
466
+ st,write('''
467
+ In this code:
468
 
469
+ 1. The text input is provided through a textarea (`st.text_area`) and stored in the `text_input` variable.
470
+ 2. The user can specify the number of dictionary components using a slider (`st.slider`).
471
+ 3. When the "Analyze" button is clicked (`st.button`), the following steps are performed:
472
+ - The text is preprocessed using the `CountVectorizer` from scikit-learn.
473
+ - Dictionary learning is performed on the preprocessed text data.
474
+ - The dictionary components and their corresponding terms are displayed in a DataFrame using Streamlit's `st.dataframe`.
475
+ - A graph is created using the NetworkX library to visualize the connections between the terms based on their co-occurrence in the dictionary components.
476
+ - The graph is plotted using Matplotlib and displayed using Streamlit's `st.pyplot`.
477
 
478
+ The text input is directly included in the code using a multiline string (triple quotes `'''`). This allows the user to analyze the provided text by clicking the "Analyze" button.
479
 
480
+ The rest of the code remains the same as before, with the addition of the text input being provided through the textarea.
481
 
482
+ ''')
483
 
 
484