typelevel / typelevel/frameless
meta-issue: frameless-ml
Open
Nobody has claimed this yet.
beginner friendly
help wanted
- Dominant language
- Scala
- Stars
- 895
- Forks
- 135
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 3
Description
Meta-issue to list what has been done in frameless-ml and what remains to be done.
Spark ML docs: https://spark.apache.org/docs/latest/ml-guide.html
Abstractions
-
TypedTransformer, the type-safe equivalent of Spark ML Transformer -
TypedEstimator, the type-safe equivalent of Spark ML Estimator -
TypedPipeline, the type-safe equivalent of Spark ML Pipeline -
TypedEvaluator, the type-safe equivalent of Spark ML Evaluator
Typed transformers
- TF-IDF
- Word2Vec
- CountVectorizer
- Tokenizer
- StopWordsRemover
- nn-gram
- Binarizer
- PCA
- PolynomialExpansion
- Discrete Cosine Transform (DCT)
- StringIndexer
- IndexToString
- OneHotEncoder
- VectorIndexer
- Interaction
- Normalizer
- StandardScaler
- MinMaxScaler
- MaxAbsScaler
- Bucketizer
- ElementwiseProduct
- SQLTransformer
- VectorAssembler
- QuantileDiscretizer
- Imputer
- Feature Selectors
- VectorSlicer
- RFormula
- ChiSqSelector
- Locality Sensitive Hashing
- LSH Operations
- Approximate Similarity Join
- Approximate Nearest Neighbor Search
- LSH Algorithms
- Bucketed Random Projection for Euclidean Distance
- MinHash for Jaccard Distance
Typed estimators
- Binomial logistic regression
- Multinomial logistic regression
- Decision tree classifier
- Random forest classifier
- Gradient-boosted tree classifier
- Multilayer perceptron classifier
- Linear Support Vector Machine
- One-vs-Rest classifier (a.k.a. One-vs-All)
- Naive Bayes
- Linear regression
- Generalized linear regression
- Available families
- Decision tree regression
- Random forest regression
- Gradient-boosted tree regression
- Survival regression
- Isotonic regression
- K-means
- Latent Dirichlet allocation (LDA)
- Bisecting k-means
- Gaussian Mixture Model (GMM)
- ALS
- FP-Growth
- CrossValidator
- TrainValidationSplit
Typed evaluators
- RegressionEvaluator
- BinaryClassificationEvaluator
- MulticlassClassificationEvaluator
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Spark ML guide linked in the issue and choose one unchecked abstraction, transformer, estimator, or evaluator. The issue names no files, tests, or entry points, so first locate the existing typed implementations for completed items and their test structure. Done means implementing the selected Spark ML equivalent and updating this checklist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala, spark
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100