Simplified Machine-Learning Workflow #11
Author
Anton Antonov
Title
Simplified Machine-Learning Workflow #11
Description
Semantic Analysis (Part 6)
Category
Educational Materials
Keywords
URL
http://www.notebookarchive.org/2020-09-55t1ktr/
DOI
https://notebookarchive.org/2020-09-55t1ktr
Date Added
2020-09-11
Date Last Modified
2020-09-11
File Size
1.02 megabytes
Supplements
Rights
Redistribution rights reserved



Latent Semantic Analysis (Part 6)
Latent Semantic Analysis (Part 6)
A Wolfram livecoding session
Anton Antonov
February 2020
February 2020
Session overview
Session overview
1
.Derive a custom taxonomy over a document collection.
1
.1
.Clustering with the reduced dimension.
2
.3
.Use LSA for translation of natural languages.
4
.Use LSA for making or improving search engines.
Data
Data
In[]:=
ResourceFunction["ImportCSVToDataset"]["~/MathFiles/Presentations/Live-coding sessions Latent Semantic Analysis Worflows 2019-2020/Data-breakdown.csv"]
Out[]=
|
In[]:=
WebImage[
"https://github.com/antononcube/SimplifiedMachineLearningWorkflows-book/tree/master/Data"
]Out[]=
USA presidential speeches
USA presidential speeches
In[]:=
url="https://github.com/antononcube/MathematicaVsR/blob/master/Data/MathematicaVsR-Data-StateOfUnionSpeeches.JSON.zip?raw=true";str=Import[url,"String"];filename=First@Import[StringToStream[str],"ZIP"];
In[]:=
aUSASpeeches=Association[Import[StringToStream[str],{"ZIP",filename,"JSON"}]];Length[aUSASpeeches]
Out[]=
233
“The Idiot”
“The Idiot”
Russian text
Russian text
In[]:=
url="https://github.com/antononcube/SimplifiedMachineLearningWorkflows-book/raw/master/Data/Dostoyevsky-The-Idiot-Russian-chapters.json.zip";str=Import[url,"String"];filename=First@Import[StringToStream[str],"ZIP"];
In[]:=
aIdiotRussianChapters=Association[Import[StringToStream[str],{"ZIP",filename,"JSON"}]];Length[aIdiotRussianChapters]
Out[]=
50
English text
English text
In[]:=
url="https://github.com/antononcube/SimplifiedMachineLearningWorkflows-book/raw/master/Data/Dostoyevsky-The-Idiot-English-chapters.json.zip";str=Import[url,"String"];filename=First@Import[StringToStream[str],"ZIP"];
In[]:=
aIdiotEnglishChapters=Association[Import[StringToStream[str],{"ZIP",filename,"JSON"}]];Length[aIdiotEnglishChapters]
Out[]=
51
Load packages
Load packages
The package MonadicLatentSemanticAnalysis.m implements the LSAMon software monad. The package ROCFunctions.m is used for the classification confusion matrix plot(s).
Import["https://raw.githubusercontent.com/antononcube/MathematicaForPrediction/master/MonadicProgramming/MonadicLatentSemanticAnalysis.m"]
In[]:=
Import["https://raw.githubusercontent.com/antononcube/MathematicaForPrediction/master/BiSectionalKMeans.m"]Import["https://raw.githubusercontent.com/antononcube/MathematicaForPrediction/master/Misc/HeatmapPlot.m"]
Deriving of custom taxonomy
Deriving of custom taxonomy
We have been doing “shallow”, zero-level taxonomies all along.
How to utilize LSA for making hierarchical taxonomies?
LSAMon application
LSAMon application
In[]:=
Length[aUSASpeeches]
Out[]=
233
In[]:=
AbsoluteTiming[lsaUSASpeeches=LSAMonUnit[aUSASpeeches]⟹LSAMonMakeDocumentTermMatrix[{},Automatic]⟹LSAMonApplyTermWeightFunctions["IDF","TermFrequency","Cosine"]⟹LSAMonExtractTopics["NumberOfTopics"24,"MinNumberOfDocumentsPerTerm"5,Method"NNMF",MaxSteps12];]
Out[]=
{62.8773,Null}
lsaUSASpeeches⟹LSAMonEchoTopicsTable["NumberOfTableColumns"12];
»
topics table:
|
|
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
In[]:=
W=lsaUSASpeeches⟹LSAMonNormalizeMatrixProduct[NormalizedLeft]⟹LSAMonTakeW
Out[]=
SparseArray
|
In[]:=
H=lsaUSASpeeches⟹LSAMonNormalizeMatrixProduct[NormalizedRight]⟹LSAMonTakeH
Out[]=
SparseArray
| |||||
Data not saved. Save now |
FindClusters
FindClusters
In[]:=
cls=FindClusters[AssociationThread[RowNames[W],Identity/@SparseArray[W]],12];
In[]:=
Shallow/@cls
Out[]=
{{George.Washington.1790-01-08,George.Washington.1790-12-08,George.Washington.1791-10-25,George.Washington.1792-11-06,George.Washington.1793-12-03,George.Washington.1794-11-19,George.Washington.1795-12-08,George.Washington.1796-12-07,John.Adams.1797-11-22,Thomas.Jefferson.1806-12-02,154},{John.Adams.1798-12-08,John.Adams.1799-12-03,John.Adams.1800-11-11},{Thomas.Jefferson.1801-12-08,Thomas.Jefferson.1802-12-15,Thomas.Jefferson.1803-10-17,Thomas.Jefferson.1804-11-08,Thomas.Jefferson.1805-12-03,Thomas.Jefferson.1807-10-27,Woodrow.Wilson.1920-12-07,Franklin.D..Roosevelt.1941-01-06},{Thomas.Jefferson.1808-11-08,James.Madison.1809-11-29,James.Madison.1810-12-05,James.Madison.1811-11-05,James.Madison.1812-11-04,James.Madison.1813-12-07,James.Madison.1814-09-20},{James.Monroe.1824-12-07,John.Quincy.Adams.1825-12-06,John.Quincy.Adams.1826-12-05,John.Quincy.Adams.1827-12-04,John.Quincy.Adams.1828-12-02},{Andrew.Jackson.1836-12-05,Martin.Van.Buren.1839-12-02,John.Tyler.1841-12-07,John.Tyler.1842-12-06,John.Tyler.1843-12-06,James.Knox.Polk.1848-12-05,Franklin.Pierce.1855-12-31,James.Buchanan.1857-12-08,James.Buchanan.1858-12-06,James.Buchanan.1859-12-19,3},{John.Tyler.1844-12-03,James.Knox.Polk.1845-12-02,James.Knox.Polk.1846-12-08,James.Knox.Polk.1847-12-07,Woodrow.Wilson.1913-12-02,Woodrow.Wilson.1915-12-07,Woodrow.Wilson.1918-12-02},{Abraham.Lincoln.1862-12-01,Abraham.Lincoln.1863-12-08,Chester.A..Arthur.1882-12-04,Chester.A..Arthur.1883-12-04,William.McKinley.1900-12-03,William.Howard.Taft.1910-12-06},{Theodore.Roosevelt.1903-12-07},{Franklin.D..Roosevelt.1938-01-03,Franklin.D..Roosevelt.1942-01-06,Franklin.D..Roosevelt.1943-01-07,Franklin.D..Roosevelt.1944-01-11,Franklin.D..Roosevelt.1945-01-06,Harry.S..Truman.1946-01-21,Harry.S..Truman.1947-01-06,Harry.S..Truman.1948-01-07,Harry.S..Truman.1949-01-05,Harry.S..Truman.1950-01-04},{Lyndon.B..Johnson.1965-01-04,Lyndon.B..Johnson.1966-01-12,Lyndon.B..Johnson.1967-01-10,Lyndon.B..Johnson.1969-01-14,Richard.Nixon.1970-01-22,Richard.Nixon.1971-01-22},{Jimmy.Carter.1979-01-25,Jimmy.Carter.1980-01-21,Jimmy.Carter.1981-01-16}}
Hierarchical clustering (bottom-up)
Hierarchical clustering (bottom-up)
Hierarchical clustering (top-down)
Hierarchical clustering (top-down)
In[]:=
SeedRandom[23]clRes=BiSectionalKMeans[SparseArray[H],6,{"IndexClusters","HierarchicalTree"},DistanceFunctionCosineDistance]
Out[]=
IndexClusters{{9,13,15,16,17,20},{7},{1,11},{3,4,5,21},{2,8,12,14,18,19,22},{6,10,23,24}},HierarchicalTree{{1,{2,3}},{4,{5,6}}}
In[]:=
ColumnForm[RowNames[H]〚#〛&/@clRes["IndexClusters"]]
Out[]=
{communist-program-1953,1942-japanese-fighting,vietnam-tonight-propose,soviet-1980-oil,billion-program-budget,billion-programs-program} |
{iraq-terrorists-iraqi} |
{jobs-tonight-americans,tonight-jobs-spending} |
{000-veterans-1928,silver-1890-1892,interstate-corporations-forest,isthmus-panama-colombia} |
{spain-chambers-french,gentlemen-indians-objects,1827-000-colonies,british-enemy-militia,mexico-oregon-texas,gentlemen-philadelphia-amity,harbors-dispositions-wabash} |
{kansas-1857-paper,cuba-1897-rebellion,emancipation-1911-1899,texas-mexico-submarines} |
What is the Great Conversation?
What is the Great Conversation?
In[]:=
WebImage["https://en.wikipedia.org/wiki/Great_Conversation"]
Out[]=
In[]:=
WikipediaData["Great Conversation"]
Out[]=
The Great Conversation is the ongoing process of writers and thinkers referencing, building on, and refining the work of their predecessors. This process is characterized by writers in the Western canon making comparisons and allusions to the works of earlier writers. As such it is a name used in the promotion of the Great Books of the Western World published by Encyclopædia Britannica Inc. in 1952. It is also the title of (i) the first volume of the first edition of this set of books, written by Robert Maynard Hutchins, and (ii) an accessory volume to the second edition (1990), written by Mortimer J. Adler. According to Hutchins, "The tradition of the West is embodied in the Great Conversation that began in the dawn of history and that continues to the present day". Adler said, What binds the authors together in an intellectual community is the great conversation in which they are engaged. In the works that come later in the sequence of years, we find authors listening to what their predecessors have had to say about this idea or that, this topic or that. They not only harken to the thought of their predecessors, they also respond to it by commenting on it in a variety of ways.== See also ==Standing on the shoulders of giantsTranslatio studii== Notes ==== External links ==The Tradition of the West – chapter one of "The Great Conversation" onlineHutchins, Robert. "The Classic Essay for The Great Books (extended excerpt of "The Great Conversation" that comes with the Second Edition of the Great Books of the Western World)" (PDF). Archived from the original (pdf) on 2014-11-22.Great Conversation book discussion group
Great Conversation timeline(s) of LSA topics
Great Conversation timeline(s) of LSA topics
By century
By century
In[]:=
tempTags=First/@StringCases[Keys[aUSASpeeches],y:(DigitCharacter..)~~"-"~~(DigitCharacter..)~~"-"~~(DigitCharacter..)StringTake[y,2]];Shallow[tempTags]Union[tempTags]
Out[]//Shallow=
{17,17,17,17,17,17,17,17,17,17,223}
Out[]=
{17,18,19,20}
In[]:=
matTemp=lsaUSASpeeches⟹LSAMonRepresentDocumentTagsByTopics[tempTags]⟹LSAMonTakeValue
Out[]=
SparseArray
|
In[]:=
HeatmapPlot[matTemp,DistanceFunction{None,Sort},Dendrogram{True,False},ImageSize600]
Out[]=
By president
By president
In[]:=
tempTags=StringReplace[Keys[aUSASpeeches],{"."~~(DigitCharacter..)~~"-"~~(DigitCharacter..)~~"-"~~(DigitCharacter..)""}];Shallow[tempTags]Length[Union[tempTags]]
Out[]//Shallow=
{George.Washington,George.Washington,George.Washington,George.Washington,George.Washington,George.Washington,George.Washington,George.Washington,John.Adams,John.Adams,223}
Out[]=
42
In[]:=
matTemp=lsaUSASpeeches⟹LSAMonRepresentDocumentTagsByTopics[tempTags]⟹LSAMonTakeValue
Out[]=
SparseArray
|
In[]:=
HeatmapPlot[matTemp,DistanceFunction{None,Sort},Dendrogram{True,False},ImageSize600]
Out[]=
LSA translations of “The Idiot”
LSA translations of “The Idiot”
Stop words from other languages:
In[]:=
aStopWords=Association@Import["https://raw.githubusercontent.com/stopwords-iso/stopwords-iso/master/stopwords-iso.json"];
In[]:=
stopWords=Join@@Map[aStopWords,{"en","ru"}];
In[]:=
Length[aIdiotRussianChapters]
Out[]=
50
In[]:=
StringLength/@aIdiotRussianChapters
Out[]=
https://ilibrary.ru/text/94/p.1/index.html24205,https://ilibrary.ru/text/94/p.2/index.html21565,https://ilibrary.ru/text/94/p.3/index.html26990,https://ilibrary.ru/text/94/p.4/index.html35505,https://ilibrary.ru/text/94/p.5/index.html34771,https://ilibrary.ru/text/94/p.6/index.html23765,https://ilibrary.ru/text/94/p.7/index.html25919,https://ilibrary.ru/text/94/p.8/index.html28715,https://ilibrary.ru/text/94/p.9/index.html20578,https://ilibrary.ru/text/94/p.10/index.html14149,https://ilibrary.ru/text/94/p.11/index.html16324,https://ilibrary.ru/text/94/p.12/index.html20400,https://ilibrary.ru/text/94/p.13/index.html23913,https://ilibrary.ru/text/94/p.14/index.html24331,https://ilibrary.ru/text/94/p.15/index.html21531,https://ilibrary.ru/text/94/p.16/index.html23177,https://ilibrary.ru/text/94/p.17/index.html26389,https://ilibrary.ru/text/94/p.18/index.html28709,https://ilibrary.ru/text/94/p.19/index.html30356,https://ilibrary.ru/text/94/p.20/index.html13236,https://ilibrary.ru/text/94/p.21/index.html30794,https://ilibrary.ru/text/94/p.22/index.html31452,https://ilibrary.ru/text/94/p.23/index.html19977,https://ilibrary.ru/text/94/p.24/index.html40143,https://ilibrary.ru/text/94/p.25/index.html28548,https://ilibrary.ru/text/94/p.26/index.html28652,https://ilibrary.ru/text/94/p.27/index.html31335,https://ilibrary.ru/text/94/p.28/index.html12982,https://ilibrary.ru/text/94/p.29/index.html38136,https://ilibrary.ru/text/94/p.30/index.html26589,https://ilibrary.ru/text/94/p.31/index.html32328,https://ilibrary.ru/text/94/p.32/index.html32187,https://ilibrary.ru/text/94/p.33/index.html31570,https://ilibrary.ru/text/94/p.34/index.html38713,https://ilibrary.ru/text/94/p.35/index.html29163,https://ilibrary.ru/text/94/p.36/index.html27495,https://ilibrary.ru/text/94/p.37/index.html31298,https://ilibrary.ru/text/94/p.38/index.html14800,https://ilibrary.ru/text/94/p.39/index.html29496,https://ilibrary.ru/text/94/p.40/index.html18678,https://ilibrary.ru/text/94/p.41/index.html24296,https://ilibrary.ru/text/94/p.42/index.html28524,https://ilibrary.ru/text/94/p.43/index.html37561,https://ilibrary.ru/text/94/p.44/index.html35105,https://ilibrary.ru/text/94/p.45/index.html36855,https://ilibrary.ru/text/94/p.46/index.html39376,https://ilibrary.ru/text/94/p.47/index.html26715,https://ilibrary.ru/text/94/p.48/index.html30272,https://ilibrary.ru/text/94/p.49/index.html31041,https://ilibrary.ru/text/94/p.50/index.html8980
In[]:=
Length@*StringSplit/@aIdiotRussianChapters
Out[]=
https://ilibrary.ru/text/94/p.1/index.html3898,https://ilibrary.ru/text/94/p.2/index.html3483,https://ilibrary.ru/text/94/p.3/index.html4405,https://ilibrary.ru/text/94/p.4/index.html5381,https://ilibrary.ru/text/94/p.5/index.html5722,https://ilibrary.ru/text/94/p.6/index.html4136,https://ilibrary.ru/text/94/p.7/index.html4293,https://ilibrary.ru/text/94/p.8/index.html4595,https://ilibrary.ru/text/94/p.9/index.html3218,https://ilibrary.ru/text/94/p.10/index.html2234,https://ilibrary.ru/text/94/p.11/index.html2807,https://ilibrary.ru/text/94/p.12/index.html3252,https://ilibrary.ru/text/94/p.13/index.html3671,https://ilibrary.ru/text/94/p.14/index.html3810,https://ilibrary.ru/text/94/p.15/index.html3453,https://ilibrary.ru/text/94/p.16/index.html3743,https://ilibrary.ru/text/94/p.17/index.html4040,https://ilibrary.ru/text/94/p.18/index.html4695,https://ilibrary.ru/text/94/p.19/index.html5295,https://ilibrary.ru/text/94/p.20/index.html2159,https://ilibrary.ru/text/94/p.21/index.html4875,https://ilibrary.ru/text/94/p.22/index.html4972,https://ilibrary.ru/text/94/p.23/index.html3077,https://ilibrary.ru/text/94/p.24/index.html6277,https://ilibrary.ru/text/94/p.25/index.html4476,https://ilibrary.ru/text/94/p.26/index.html4563,https://ilibrary.ru/text/94/p.27/index.html5042,https://ilibrary.ru/text/94/p.28/index.html2169,https://ilibrary.ru/text/94/p.29/index.html6053,https://ilibrary.ru/text/94/p.30/index.html4242,https://ilibrary.ru/text/94/p.31/index.html5452,https://ilibrary.ru/text/94/p.32/index.html5059,https://ilibrary.ru/text/94/p.33/index.html5215,https://ilibrary.ru/text/94/p.34/index.html6342,https://ilibrary.ru/text/94/p.35/index.html4747,https://ilibrary.ru/text/94/p.36/index.html4784,https://ilibrary.ru/text/94/p.37/index.html4996,https://ilibrary.ru/text/94/p.38/index.html2518,https://ilibrary.ru/text/94/p.39/index.html4749,https://ilibrary.ru/text/94/p.40/index.html3014,https://ilibrary.ru/text/94/p.41/index.html3861,https://ilibrary.ru/text/94/p.42/index.html4617,https://ilibrary.ru/text/94/p.43/index.html6059,https://ilibrary.ru/text/94/p.44/index.html5469,https://ilibrary.ru/text/94/p.45/index.html5867,https://ilibrary.ru/text/94/p.46/index.html6565,https://ilibrary.ru/text/94/p.47/index.html4284,https://ilibrary.ru/text/94/p.48/index.html4738,https://ilibrary.ru/text/94/p.49/index.html5140,https://ilibrary.ru/text/94/p.50/index.html1301
In[]:=
aChapters=MapThread[StringRiffle[{##}," "]&,{Values[aIdiotRussianChapters],Rest@Values[aIdiotEnglishChapters]}];
lsaChapters=LSAMonUnit[aChapters]⟹LSAMonMakeDocumentTermMatrix[{},stopWords]⟹LSAMonApplyTermWeightFunctions["IDF","None","Cosine"]⟹LSAMonExtractTopics["NumberOfTopics"40,"MinNumberOfDocumentsPerTerm"3,Method"NNMF",MaxSteps12];
In[]:=
lsaChapters⟹LSAMonEchoTopicsTable["NumberOfTableColumns"10,"NumberOfTerms"20]⟹LSAMonEchoStatisticalThesaurus"Words""pistol","чиновник","portrait";
»
topics table:
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
»
statistical thesaurus:
term | statistical thesaurus entries |
чиновник | чиновник,haired,clerk,zaleshoff,pskoff,родителя,sacrilege,залёжев,bundle,сибирь,neighbour,fur |
pistol | pistol,пистолет,shoot,duel,brains,bench,парке,park,дуэль,николаич,rays,bag |
portrait | portrait,портрет,красота,столовую,кабинете,дура,надежду,записку,хороша,неприятно,проговорился,передать |
In[]:=
lsaChapters⟹LSAMonEchoStatisticalThesaurus"Words""письмо","анекдот","портрет","записку","note","morality","настасья","blush";
»
statistical thesaurus:
term | statistical thesaurus entries |
письмо | письмо,letter,прислала,получил,верю,надежд,перебила,мальчишка,лжешь,письме,стыдитесь,wicked |
анекдот | анекдот,подобно,false,правы,marrying,hero,пальце,нашу,daily,comprehensible,рассказа,reports |
записку | записку,note,проговорился,красота,portrait,столовую,портрет,записке,hopes,кабинете,ardalionovitch,прочесть |
портрет | портрет,portrait,красота,столовую,записку,дура,кабинете,надежду,хороша,неприятно,проговорился,прочесть |
настасья | настасья,филипповна,philipovna,nastasia,фердыщенко,дарья,алексеевна,сто,афанасий,иванович,настасьи,филипповны |
blush | blush,позвала,влюблена,unfair,грязная,_is_,начинала,бежать,ходили,lip,unnatural,неправда |
morality | morality,душ,glory,прочее,bones,existence,humility,увидят,тремя,blow,приговора,суда |
note | note,проговорился,записка,спокойно,хороша,улыбнулась,ответ,записке,столовую,умеет,commission,несчастны |
In[]:=
TextTranslation"портрет","Russian""English"
Out[]=
Portrait
In[]:=
TextTranslation[#,"Russian""English",Method"Google"]&/@"пистолет","записку","письмо"
Out[]=
{pistol,a note,letter}
USA speeches search engine
USA speeches search engine
In[]:=
smrUSASpeeches=SMRMonUnit[]⟹SMRMonCreate[<|"terms"(lsaUSASpeeches⟹LSAMonTakeWeightedDocumentTermMatrix),"topics"(lsaUSASpeeches⟹LSAMonNormalizeMatrixProduct[NormalizedLeft]⟹LSAMonTakeW)|>]⟹SMRMonApplyNormalizationFunction["Cosine"];
In[]:=
smrUSASpeeches⟹SMRMonRecommendByProfile[{"health","care"},6]⟹SMRMonEchoValue;
»
value:Bill.Clinton.1994-01-251.,Bill.Clinton.1993-02-170.621755,Barack.Obama.2009-02-240.561622,George.W..Bush.2001-02-270.399469,George.W..Bush.2004-01-200.375798,Bill.Clinton.2000-01-270.362744
References
References
[AA1] Anton Antonov, "The Great conversations in USA presidential speeches", (2016), MathematicaForPrediction at WordPress.


Cite this as: Anton Antonov, "Simplified Machine-Learning Workflow #11" from the Notebook Archive (2020), https://notebookarchive.org/2020-09-55t1ktr

Download

