typelevel / typelevel/frameless

meta-issue: frameless-ml

Open
#215 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.