Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1035-docs #1222

Merged
merged 14 commits into from
Dec 25, 2023
Merged

1035-docs #1222

merged 14 commits into from
Dec 25, 2023

Conversation

Lopa10ko
Copy link
Collaborator

@Lopa10ko Lopa10ko commented Dec 6, 2023

Add table of supported models and operations to the documentation. Also this list should be available in docstring of API parameter available_operations.

closes #1035

@Lopa10ko Lopa10ko added the documentation Improvements or additions to documentation label Dec 6, 2023
@Lopa10ko Lopa10ko self-assigned this Dec 6, 2023
@Lopa10ko Lopa10ko linked an issue Dec 6, 2023 that may be closed by this pull request
@kasyanovse kasyanovse self-requested a review December 7, 2023 06:04
Copy link

codecov bot commented Dec 7, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (70d470a) 79.15% compared to head (1e91c0c) 79.45%.
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1222      +/-   ##
==========================================
+ Coverage   79.15%   79.45%   +0.29%     
==========================================
  Files         145      145              
  Lines        9937     9928       -9     
==========================================
+ Hits         7866     7888      +22     
+ Misses       2071     2040      -31     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pep8speaks
Copy link

pep8speaks commented Dec 11, 2023

Hello @Lopa10ko! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2023-12-20 07:37:43 UTC

@kasyanovse kasyanovse marked this pull request as ready for review December 15, 2023 09:37
@valer1435
Copy link
Collaborator

Думаю можно добавить в табличку информацию, в какой пресет какая операция попадает. А так очень полезная вещь - действительно был пробел в документации

@kasyanovse
Copy link
Collaborator

Думаю можно добавить в табличку информацию, в какой пресет какая операция попадает. А так очень полезная вещь - действительно был пробел в документации

@Lopa10ko Тогда надо будет еще добавить тест на проверку что все существующие пресеты упомянуты в таблицах.

test/integration/models/test_model.py Outdated Show resolved Hide resolved
test/integration/models/test_model.py Outdated Show resolved Hide resolved
@Lopa10ko
Copy link
Collaborator Author

Lopa10ko commented Dec 20, 2023

  • get all operations in list, split into two groups: preprocessing operations and models
  • add the table with models/operations for class/regr/forecasting tasks
    • determine the place for the table in the documentation
  • add available_operations list to fedot.api.builder.FedotBuilder.setup_pipeline_structure docstring (fd1db3d, 00fd282)
  • add a test that checks whether operations are documented (1e91c0c)
Table of data processing operations
API name Model used Definition Problem Tags
scaling ScalingImplementation Scaling Feature Scaling ['fast_train', ' ts', ' *tree']
normalization NormalizationImplementation Normalization Feature Scaling ['fast_train', ' ts', ' *tree']
simple_imputation ImputationImplementation Imputation Feature Imputation ['fast_train', ' *tree']
pca PCAImplementation Principal Component Analysis Feature Reduction ['fast_train', ' ts', ' *tree']
kernel_pca KernelPCAImplementation Kernel Principal Component Analysis Feature Reduction ['ts', ' *tree']
fast_ica FastICAImplementation Independent Component Analysis Feature Reduction ['ts', ' *tree']
poly_features PolyFeaturesImplementation Polynomial Features Feature Engineering ['']
one_hot_encoding OneHotEncodingImplementation Ohe-Hot Encoder Feature Encoding ['']
label_encoding LabelEncodingImplementation Label Encoder Feature Encoding ['fast_train', ' *tree']
rfe_lin_reg LinearRegFSImplementation Linear Regression Recursive Feature Elimination Feature Selection ['']
rfe_non_lin_reg NonLinearRegFSImplementation Decision Tree Recursive Feature Elimination Feature Selection ['']
rfe_lin_class LinearClassFSImplementation Logistic Regression Recursive Feature Elimination Feature Selection ['']
rfe_non_lin_class NonLinearClassFSImplementation Decision Tree Recursive Feature Elimination Feature Selection ['']
isolation_forest_reg IsolationForestRegImplementation Regression Isolation Forest Feature Filtering ['']
isolation_forest_class IsolationForestClassImplementation Classification Isolation Forest Feature Filtering ['']
decompose DecomposerRegImplementation Regression Decomposition Decomposition ['fast_train', ' ts', ' *tree']
class_decompose DecomposerClassImplementation Classification Decomposition Decomposition ['fast_train', ' *tree']
resample ResampleImplementation Resample features Resampling ['']
ransac_lin_reg LinearRegRANSACImplementation Regression Random Sample Consensus Feature Filtering ['fast_train', ' *tree']
ransac_non_lin_reg NonLinearRegRANSACImplementation DecisionTreeRegressor Random Sample Consensus Feature Filtering ['fast_train', ' *tree']
cntvect sklearn.feature_extraction.text.CountVectorizer Count Vectorizer Text Processing ['']
text_clean TextCleanImplementation Lemmatization and Stemming Text Processing ['']
tfidf sklearn.feature_extraction.text.TfidfVectorizer TF-IDF Vectorizer Text Processing ['']
word2vec_pretrained PretrainedEmbeddingsImplementation Word2Vec Text Processing ['']
lagged LaggedTransformationImplementation Lagged Tranformation Timeseries Tranformation ['fast_train', ' ts']
sparse_lagged SparseLaggedTransformationImplementation Sparse Lagged Tranformation Timeseries Tranformation ['fast_train', ' ts']
smoothing TsSmoothingImplementation Smoothing Tranformation Timeseries Tranformation ['fast_train', ' ts']
gaussian_filter GaussianFilterImplementation Gaussian Filter Tranformation Timeseries Tranformation ['fast_train', ' ts']
diff_filter NumericalDerivativeFilterImplementation Derivative Filter Tranformation Timeseries Tranformation ['fast_train', ' ts']
cut CutImplementation Cut Tranformation Timeseries Tranformation ['fast_train', ' ts']
exog_ts ExogDataTransformationImplementation Exogeneus Tranformation Timeseries Tranformation ['']
Table of operations that are models
API name Model used Definition Problem Tags
adareg sklearn.ensemble.AdaBoostRegressor AdaBoost Regressor Regression ['fast_train', ' ts', ' *tree']
ar AutoRegImplementation AutoRegression Forecasting ['fast_train', ' ts']
arima ARIMAImplementation ARIMA Forecasting ['ts']
cgru CGRUImplementation Convolutional Gated Recurrent Unit Forecasting ['ts']
bernb sklearn.naive_bayes.BernoulliNB Naive Bayes Classifier (multivariate Bernoulli) Classification ['fast_train']
catboost FedotCatBoostClassificationImplementation Catboost Classifier Classification ['*tree']
catboostreg FedotCatBoostRegressionImplementation Catboost Regressor Regression ['*tree']
dt sklearn.tree.DecisionTreeClassifier Decision Tree Classifier Classification ['fast_train', ' *tree']
dtreg sklearn.tree.DecisionTreeRegressor Decision Tree Regressor Regression ['fast_train', ' ts', ' *tree']
gbr sklearn.ensemble.GradientBoostingRegressor Gradient Boosting Regressor Regression ['*tree']
kmeans sklearn.cluster.Kmeans K-Means clustering Clustering ['fast_train']
knn FedotKnnClassImplementation K-nearest neighbors Classifier Classification ['fast_train']
knnreg FedotKnnRegImplementation K-nearest neighbors Regressor Regression ['fast_train', ' ts']
lasso sklearn.linear_model.Lasso Lasso Linear Regressor Regression ['fast_train', ' ts']
lda LDAImplementation Linear Discriminant Analysis Classification ['fast_train']
lgbm lightgbm.sklearn.LGBMClassifier Light Gradient Boosting Machine Classifier Classification ['']
lgbmreg lightgbm.sklearn.LGBMRegressor Light Gradient Boosting Machine Regressor Regression ['*tree']
linear sklearn.linear_model.LinearRegression Linear Regression Regressor Regression ['fast_train', ' ts']
logit sklearn.linear_model.LogisticRegression Logistic Regression Classifier Classification ['fast_train']
mlp sklearn.neural_network.MLPClassifier Multi-layer Perceptron Classifier Classification ['']
multinb sklearn.naive_bayes.MultinomialNB Naive Bayes Classifier (multinomial) Classification ['fast_train']
qda QDAImplementation Quadratic Discriminant Analysis Classification ['fast_train']
rf sklearn.ensemble.RandomForestClassifier Random Forest Classifier Classification ['fast_train', ' *tree']
rfr sklearn.ensemble.RandomForestRegressor Random Forest Regressor Regression ['fast_train', ' *tree']
ridge sklearn.linear_model.Ridge Ridge Linear Regressor Regression ['fast_train', ' ts']
polyfit PolyfitImplementation Polynomial fitter Forecasting ['fast_train', ' ts']
sgdr sklearn.linear_model.SGDRegressor Stochastic Gradient Descent Regressor Regression ['fast_train', ' ts']
stl_arima STLForecastARIMAImplementation STL Decomposition with ARIMA Forecasting ['ts']
glm GLMImplementation Generalized Linear Models Forecasting ['fast_train', ' ts']
ets ExpSmoothingImplementation Exponential Smoothing Forecasting ['fast_train', ' ts']
locf RepeatLastValueImplementation Last Observation Carried Forward Forecasting ['fast_train', ' ts']
ts_naive_average NaiveAverageForecastImplementation Naive Average Forecasting ['fast_train', ' ts']
svc FedotSVCImplementation Support Vector Classifier Classification ['']
svr sklearn.svm.LinearSVR Linear Support Vector Regressor Regression ['']
treg sklearn.ensemble.ExtraTreesRegressor Extra Trees Regressor Regression ['*tree']
xgboost xgboost.XGBClassifier Extreme Gradient Boosting Classifier Classification ['*tree']
xgbreg xgboost.XGBRegressor Extreme Gradient Boosting Regressor Regression ['*tree']
cnn FedotCNNImplementation Convolutional Neural Network Classification ['']

Copy link
Collaborator

@nicl-nno nicl-nno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Видимо можно мержить.

@Lopa10ko Lopa10ko merged commit fdfdde8 into master Dec 25, 2023
6 checks passed
@kasyanovse kasyanovse deleted the 1035-docs branch December 25, 2023 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add list of supported models and operations to the documentation
5 participants