0.29.0 (2024-11-26)
- remove
Image.__array__
(#964) (d2f59c9) - rename
count_row_if
tocount_rows_if
(#960) (f5d6324) - rename
epoch_size
toepoch_count
(#962) (fa62e9b) - rename
flip_vertically
andflip_horizontally
methods (#946) (a3607d7), closes #945 - rename
load_pretrained_model
tofrom_pretrained_model
(#957) (5b32acc) - rename
Row.get_value
toRow.get_cell
(#947) (e77cb6c)
- avoid performance warning when accessing
column_count
(#949) (c24b6d5) - handle deprecations in third-party libraries (#963) (e10e6bb)
- index tensor on cpu (#961) (afafd43)
0.28.1 (2024-09-26)
0.28.0 (2024-09-17)
0.27.0 (2024-07-19)
- join (#870) (5764441), closes #745
- activation function for forward layer (#891) (5b5bb3f), closes #889
- add
ImageDataset.split
(#846) (3878751), closes #831 - add FunctionalTableTransformer (#901) (37905be), closes #858
- add InvalidFitDataError (#824) (487854c), closes #655
- add KNearestNeighborsImputer (#864) (fcdfecf), closes #743
- add moving average plot (#836) (abcf68a)
- add RobustScaler (#874) (62320a3), closes #650 #873
- add SequentialTableTransformer (#893) (e93299f), closes #802
- add temporal operations (#832) (06eab77)
- added 'histogram_2d' in TablePlotter (#903) (4e65ba9), closes #869 #798
- added from_str_to_temporal and continues prediction (#767) (35f468a), closes #806 #765 #740 #773
- added GRU layer (#845) (d33cb5d)
- Adds Dropout Layer (#868) (a76f0a1), closes #848
- dark mode for plots (#911) (5447551), closes #798
- easily create a baseline model (#811) (8e1b995), closes #710
- get first cell with value other than
None
(#904) (5a0cdb3), closes #799 - hyperparameter optimization for fnn models (#897) (c1f66e5), closes #861
- implement violin plots (#900) (9f5992a), closes #867
- plot decision tree (#876) (d3f81dc), closes #856
- prediction no longer takes a time series dataset only table (#838) (762e5c2), closes #837
- raise if
remove_colums
is called with unknown column by default (#852) (8f78163), closes #807 - regularization strength for logistic classifier (#866) (9f74e92), closes #750
- reorders parameters of RangeScaler and makes them keyword-only (#847) (2b82db7), closes #809
- replace seaborn with matplotlib for box_plot (#863) (4ef078e), closes #805 #849
- replaced seaborn with matplotlib for correlation_heatmap (#850) (d4680d4), closes #800 #849
- deps: bump urllib3 from 2.2.1 to 2.2.2 (#842) (b81bcd6), closes #3122 #3363 #3122 #3363 #3406 #3398 #3399 #3396 #3394 #3391 #3316 #3387 #3386
- labels of correlation heatmap (#894) (a88a609), closes #871
- make multi-processing in baseline models more consistent (#909) (fa24560), closes #907
0.26.0 (2024-05-29)
Table.count_row_if
(#788) (4137131), closes #786- added method to load pretrained models from huggingface (#790) (dd8394b)
- infer input size of forward and LSTM layers (#808) (098a07f)
- outline around dots of scatterplot (#785) (ee8acf7)
- remove output conversions (#792) (46f2f5d), closes #732
- shorten some excessively long names (#787) (1c3ea59), closes #772
- specify column names in constructor of table transformers (#795) (69a780c)
- store window size and forecast horizon in dataset (#794) (f07bc5a)
- string operations on cells (#791) (4a17f76)
- handling of boolean columns in column statistics (#778) (f61cceb)
- sort x values of line plot (#782) (74d8649)
0.25.0 (2024-05-15)
- major API redesign (WIP) (#752) (8e781f9), closes #694 #699 #714 #748
- move NN converters and layers to separate packages (#759) (c6a4073)
- remove operations without replacement from tabular containers (#747) (0e5a54b)
- specify partial order in label encoder (#763) (6fbe537), closes #639
- Conversion of tabular dataset to tensors (#757) (9e40b65)
- fixed devices with new polars implementation (#756) (e72339e)
0.24.0 (2024-05-09)
Column.plot_histogram()
usingTable.plot_histograms
for consistent results (#726) (576492c)Regressor.summarize_metrics
andClassifier.summarize_metrics
(#729) (1cc14b1), closes #713Table.keep_only_rows
(#721) (923a6c2)Table.remove_rows
(#720) (a1cdaef), closes #698- Add
ImageDataset
and Layer for ConvolutionalNeuralNetworks (#645) (5b6d219), closes #579 #580 #581 - added load_percentage parameter to ImageList.from_files to load a subset of the given files (#739) (0564b52), closes #736
- added rnn layer and TimeSeries conversion (#615) (6cad203), closes #614 #648 #656 #601
- Basic implementation of cell with polars (#734) (004630b), closes #712
- deprecate
Table.add_column
andTable.add_row
(#723) (5dd9d02), closes #722 - deprecated
Table.from_excel_file
andTable.to_excel_file
(#728) (c89e0bf), closes #727 - Larger histogram plot if table only has one column (#716) (31ffd12)
- polars implementation of a column (#738) (732aa48), closes #712
- polars implementation of a row (#733) (ff627f6), closes #712
- polars implementation of table (#744) (fc49895), closes #638 #641 #649 #712
- regularization for decision trees and random forests (#730) (102de2d), closes #700
- Remove device information in image class (#735) (d783caa), closes #524
- return fitted transformer and transformed table from
fit_and_transform
(#724) (2960d35), closes #613
0.23.0 (2024-05-04)
- add
Column.to_table
(#705) (36e4a7a), closes #695 - added Column.summarize_statistics() (#715) (71730a9), closes #701
- replace other values than NaN with imputer (#707) (4a059e0), closes #643
0.22.1 (2024-05-02)
0.22.0 (2024-05-01)
is_fitted
is now always a property (#662) (b1db881), closes #586- add
Column.missing_value_count
(#682) (f084916), closes #642 - Add
InputConversion
&OutputConversion
for nn interface (#625) (fd723f7), closes #621 - Add hash,eq and sizeof in ForwardLayer (#634) (72f7fde), closes #633
- allow using tables that already contain target for prediction (#687) (e9f1cfb), closes #636
- callback
Row.sort_columns
takes four parameters instead of two tuples (#683) (9c3e3de), closes #584 - rename
group_rows_by
inTable
togroup_rows
(#661) (c1644b7), closes #611 - rename
number_of_column
inRow
tonumber_of_columns
(#660) (0a08296), closes #646 - rework
TaggedTable
(#680) (db2b613), closes #647 - show missing value count/ratio in summarized statistics (#684) (74b8a35), closes #619
- specify
extras
instead offeatures
into_tabular_dataset
(#685) (841657f), closes #623
0.21.0 (2024-04-17)
- add ARIMA model (#577) (8b9c7a9), closes #570
- Add ImageList class (#534) (3cb74a2), closes #528 #599 #600
- more hash, sizeof and eq implementations (#609) (2bc0b0a)
- Add special case to
Table.add_rows
to increase performance (#608) (ffb8304), closes #606 - improve performance of model & forward layer (#616) (e856cd5), closes #610
- lazily import our modules and external libraries (#624) (20fc313)
- treat Tables specially when calling add_rows (#606) (e555b85), closes #575
0.20.0 (2024-04-03)
- add deterministic hash methods to all types (#573) (f6a3ca7)
- add fnn functionality (#529) (ce53153), closes #522
- add suffixes to models to indicate their task (#588) (d490dee)
- added lag_plot (#548) (0fb38d2), closes #519
- added normal plot for time series (#550) (dbdf11e), closes #549
- when using from table to time series feature must be given (#572) (ca23f0f), closes #571
- incorrect type hint for
number_of_bins
parameter (#567) (b434e53) - mark various API elements as internal (#587) (ea176fc), closes #582 #585
0.19.0 (2024-02-06)
0.18.0 (2024-02-03)
- Add adjust_color_balance method in Image (#530) (dba23f9), closes #525
- Add find_edges method in Image (#531) (d728eb6), closes #523
- class for time series (#508) (73cdfb1), closes #481
0.17.1 (2024-01-11)
0.17.0 (2024-01-11)
0.16.0 (2023-11-22)
- drop Python 3.10 and add Python 3.12 (#478) (5bf0e75)
- enable copy-on-write for pandas dataframes (#494) (9a19389), closes #428
0.15.0 (2023-07-13)
- Add copy method for tables (#405) (72e87f0), closes #275
- add gaussian noise to image (#430) (925a505), closes #381
- add schema conversions when adding new rows to a table and schema conversion when creating a new table (#432) (6e9ff69), closes #404 #322 #127 #322 #127
- add test for empty tables for the method
Table.sort_rows
(#431) (f94b768), closes #402 - added color adjustment feature (#409) (2cbee36), closes #380
- added test_repr table tests (#410) (cb77790), closes #349
- discretize table (#327) (5e3da8d), closes #143
- Improve error handling of TaggedTable (#450) (c5da544), closes #150
- Maintain tagging in methods inherited from
Table
class (#332) (bc73a6c), closes #58 - new error class
OutOfBoundsError
(#438) (1f37e4a), closes #262 - rename several
Table
methods for consistency (#445) (9954986), closes #439 - suggest similar columns if column gets accessed that doesnt exist (#385) (6a097a4), closes #203
- added the missing ids in parameterized tests (#412) (dab6419), closes #362
- don't warn if
Imputer
transforms column without missing values (#448) (f0cb6a5) - Warnings raised by underlying seaborn and numpy libraries (#425) (c4143af), closes #357
0.14.0 (2023-06-30)
- Add
find_edges
method toImage
class (#383) (d14b6ce), closes #288 - Add
StandardScaler
transformer (#316) (57b0572), closes #142 - Add docstrings to the getter methods for hyperparameters in Regression and Classification models (#371) (9073f04), closes #313
- Added
Table.group_by
to group a table by a given key (#343) (afb98be), closes #160 - Added and improved errors and warnings in the table transformers (#372) (544e307), closes #152
- added crop() method in image and tests (#365) (eba8163)
- added invert_colors method (#367) (1e4d110)
- adjust brightness and contrast of image (#368) (1752feb), closes #289 #291
- blur Image method (#363) (c642176)
- check that methods of table can handle an empty table (#314) (686c2e7), closes #123
- convert image to grayscale (#366) (1312fe7), closes #287
- enhance
replace_column
to accept a list of new columns (#312) (d50c5b5), closes #301 - Explicitly throw
UnknownColumnNameError
inTaggedTable._from_table
(#334) (498999f), closes #333 - flip images / eq method for image (#360) (54f4ae1), closes #280
- improve
table.summary
. CatchValueError
thrown bycolumn.stability
(#390) (dbbe0e3), closes #320 - improve error handling of
column.stability
when given a column that contains only None (#388) (1da2499), closes #319 - Improve Error Handling of classifiers and regressors (#355) (66f5f64), closes #153
- properties for width-height of image (#359) (d9ebdc1), closes #290
- Resize image (#354) (3a971ca), closes #283
- rotate_left and rotate_right added to Image (#361) (c877530), closes #281
- set kernel of support vector machine (#350) (1326f40), closes #172
- sharpen image (#364) (3444700), closes #286
- Keeping no columns with Table.keep_only_columns results in an empty Table with a row count above 0 (#386) (15dab06), closes #318
- remove default value of
positive_class
parameter of classifier metrics (#382) (58fc09e) - remove default value of
radius
parameter ofblur
(#378) (7f07f29)
0.13.0 (2023-06-01)
- add
Choice
class for possible values of hyperparameter (#325) (d511c3e), closes #264 - Add
RangeScaler
transformer (#310) (f687840), closes #141 - Add methods that tell which columns would be affected by a transformer (#304) (3933b45), closes #190
- Getters for hyperparameters of Regression and Classification models (#306) (5c7a662), closes #260
- improve error handling of table (#308) (ef87cc4), closes #147
- Remove warnings thrown in new
Transformer
methods (#324) (ca046c4), closes #323
0.12.0 (2023-05-11)
- add
learning_rate
to AdaBoost classifier and regressor. (#251) (7f74440), closes #167 - add alpha parameter to
lasso_regression
(#232) (b5050b9), closes #163 - add parameter
lasso_ratio
toElasticNetRegression
(#237) (4a1a736), closes #166 - Add parameter
number_of_tree
toRandomForest
classifier and regressor (#230) (414336a), closes #161 - Added
Table.plot_boxplots
to plot a boxplot for each numerical column in the table (#254) (0203a0c), closes #156 #239 - Added
Table.plot_histograms
to plot a histogram for each column in the table (#252) (e27d410), closes #157 - Added
Table.transform_table
method which returns the transformed Table (#229) (0a9ce72), closes #110 - Added alpha parameter to
RidgeRegression
(#231) (1ddc948), closes #164 - Added Column#transform (#270) (40fb756), closes #255
- Added method
Table.inverse_transform_table
which returns the original table (#227) (846bf23), closes #111 - Added parameter
c
toSupportVectorMachines
(#267) (a88eb8b), closes #169 - Added parameter
maximum_number_of_learner
andlearner
toAdaBoost
(#269) (bb5a07e), closes #171 #173 - Added parameter
number_of_trees
toGradientBoosting
(#268) (766f2ff), closes #170 - Allow arguments of type pathlib.Path for file I/O methods (#228) (2b58c82), closes #146
- convert
Schema
todict
and format it nicely in a notebook (#244) (ad1cac5), closes #151 - Convert between Excel file and
Table
(#233) (0d7a998), closes #138 #139 - convert containers for tabular data to HTML (#243) (683c279), closes #140
- make
Column
a subclass ofSequence
(#245) (a35b943) - mark optional hyperparameters as keyword only (#296) (44a41eb), closes #278
- move exceptions back to common package (#295) (a91172c), closes #177 #262
- precision metric for classification (#272) (5adadad), closes #185
- Raise error if an untagged table is used instead of a
TaggedTable
(#234) (8eea3dd), closes #192 - recall and F1-score metrics for classification (#277) (2cf93cc), closes #187 #186
- replace prefix
n
withnumber_of
(#250) (f4f44a6), closes #171 - set
alpha
parameter for regularization ofElasticNetRegression
(#238) (e642d1d), closes #165 - Set
column_names
infit
methods of table transformers to be required (#225) (2856296), closes #179 - set learning rate of Gradient Boosting models (#253) (9ffaf55), closes #168
- Support vector machine for regression and for classification (#236) (7f6c3bd), closes #154
- usable constructor for
Table
(#294) (56a1fc4), closes #266 - usable constructor for
TaggedTable
(#299) (01c3ad9), closes #293
- OneHotEncoder no longer creates duplicate column names (#271) (f604666), closes #201
- selectively ignore one warning instead of all warnings (#235) (3aad07d)
0.11.0 (2023-04-21)
OneHotEncoder.inverse_transform
now maintains the column order from the original table (#195) (3ec0041), closes #109- add
plot_
prefix back to plotting methods (#212) (e50c3b0), closes #211 - adjust
Column
,Schema
andTable
to changes inRow
(#216) (ca3eebb) - back
Row
by apolars.DataFrame
(#214) (62ca34d), closes #196 #149 - clean up
Row
class (#215) (b12fc68) - convert between
Row
anddict
(#206) (e98b653), closes #204 - convert between a
dict
and aTable
(#198) (2a5089e), closes #197 - create column types for
polars
data types (#208) (e18b362), closes #196 - dataframe interchange protocol (#200) (bea976a), closes #199
- move existing ML solutions into
safeds.ml.classical
package (#213) (655f07f), closes #210
table.keep_only_columns
now maps column names to correct data (#194) (459ab75), closes #115- typo in type hint (#184) (e79727d), closes #180
0.10.0 (2023-04-13)
0.9.0 (2023-04-04)
- container for images (#159) (ed7ae34), closes #158
- improve error handling for
predict
(#145) (a5ff11c), closes #9 - move
ImputerStrategy
tosafeds.data.tabular.typing
(#174) (205c8e2) - rename
n_neighbors
tonumber_of_neighbors
(#162) (526b96e)
0.8.0 (2023-03-31)
- create empty
Table
without schema (#128) (ddd3f59), closes #127 - improve
ColumnType
s (#132) (1786a87), closes #113 - infer schema of row if not passed explicitly (#134) (c5869bb), closes #15
- new method
is_fitted
to check whether a model is fitted (#130) (8e1c3ea) - new method
is_fitted
to check whether a transformer is fitted (#131) (e20954f) - rename
drop_XY
methods ofTable
toremove_XY
(#122) (98d76a4) - rename
fit_transform
tofit_and_transform
(#119) (76a7112), closes #112 - rename
shuffle
toshuffle_rows
(#125) (ea21928) - rename
slice
toslice_rows
(#126) (20d21c2) - rename
TableSchema
toSchema
(#133) (1419d25)
0.7.0 (2023-03-29)
sort_rows
of aTable
(#104) (20aaf5e), closes #14- add
_file
suffix to methods interacting with files (#103) (ec011e4) - improve transformers for tabular data (#108) (b18a06d), closes #61 #90
- remove
OrdinalEncoder
(#107) (b92bba5), closes #61 - specify features and target when creating a
TaggedTable
(#114) (95e1fc7), closes #27 - swap
name
anddata
parameters ofColumn
(#105) (c2f8da5)
0.6.0 (2023-03-27)
- allow calling
correlation_heatmap
with non-numerical columns (#92) (b960214), closes #89 - function to drop columns with non-numerical values from
Table
(#96) (8f14d65), closes #13 - function to drop columns/rows with missing values (#97) (05d771c), closes #10
- remove
list_columns_with_XY
methods fromTable
(#100) (a0c56ad), closes #94 - rename
keep_columns
tokeep_only_columns
(#99) (de42169) - rename
remove_outliers
todrop_rows_with_outliers
(#95) (7bad2e3), closes #93 - return new model when calling
fit
(#91) (165c97c), closes #69
0.5.0 (2023-03-26)
0.4.0 (2023-03-26)
- better names for properties of
TaggedTable
(#74) (fee398b) - change the name of a
Column
(#76) (ec539eb) - metrics as methods of models (#77) (bc63693), closes #64
- optionally pass type to column (#79) (64aa429), closes #78
- remove
target_name
parameter ofpredict
(#70) (b513454) - rename
tagged_table
parameter offit
totraining_set
(#71) (8655521) - return
TaggedTable
frompredict
(#73) (5d5f5a6)