Skip to content

Commit 6d5ac33

Browse files
Removed orthogonality objective, added max_iter and random state to s3
1 parent 56aeff0 commit 6d5ac33

1 file changed

Lines changed: 12 additions & 11 deletions

File tree

turftopic/models/decomp.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class SemanticSignalSeparation(ContextualModel):
2020
2121
corpus: list[str] = ["some text", "more text", ...]
2222
23-
model = SemanticSignalSeparation(10, objective="independence").fit(corpus)
23+
model = SemanticSignalSeparation(10).fit(corpus)
2424
model.print_topics()
2525
```
2626
@@ -33,10 +33,10 @@ class SemanticSignalSeparation(ContextualModel):
3333
vectorizer: CountVectorizer, default None
3434
Vectorizer used for term extraction.
3535
Can be used to prune or filter the vocabulary.
36-
objective: 'orthogonality' or 'independence', default 'independence'
37-
Indicates what the components should be optimized for.
38-
When 'orthogonality', PCA is used to discover components,
39-
when 'independence', ICA is used to discover components.
36+
max_iter: int, default 200
37+
Maximum number of iterations for ICA.
38+
random_state: int, default None
39+
Random state to use so that results are exactly reproducible.
4040
"""
4141

4242
def __init__(
@@ -46,7 +46,8 @@ def __init__(
4646
Encoder, str
4747
] = "sentence-transformers/all-MiniLM-L6-v2",
4848
vectorizer: Optional[CountVectorizer] = None,
49-
objective: Literal["orthogonality", "independence"] = "independence",
49+
max_iter: int = 200,
50+
random_state: Optional[int] = None,
5051
):
5152
self.n_components = n_components
5253
self.encoder = encoder
@@ -58,11 +59,11 @@ def __init__(
5859
self.vectorizer = default_vectorizer()
5960
else:
6061
self.vectorizer = vectorizer
61-
self.objective = objective
62-
if objective == "independence":
63-
self.decomposition = FastICA(n_components)
64-
else:
65-
self.decomposition = PCA(n_components)
62+
self.max_iter = max_iter
63+
self.random_state = random_state
64+
self.decomposition = FastICA(
65+
n_components, max_iter=max_iter, random_state=random_state
66+
)
6667

6768
def fit_transform(
6869
self, raw_documents, y=None, embeddings: Optional[np.ndarray] = None

0 commit comments

Comments
 (0)