Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

ROCFunctions

Guides

  • Classifier evaluation functions

Tech Notes

  • Titanic data classifier evaluation

Symbols

  • ConfusionMatrixPlotFrame
  • ConfusionMatrixPlot
  • ROCAssociationQ
  • ROCFunctions
  • ROCPlot
  • ROCValues
  • ToClassifyROCCurvePlot
  • ToROCAssociation
Titanic data classifier evaluation
Introduction
Classification results
Data ingestion
ROC functions application
Classifier
​
Introduction
In this notebook we show how to evaluate a classifier using ROC functions.
Load the paclet
In[1]:=
Needs["AntonAntonov`ROCFunctions`"]
Data ingestion
In[6]:=
ExampleData[{"MachineLearning","Titanic"}]
Out[6]=
Titanic Survival
In[18]:=
dsTitanic=ResourceFunction["ExampleDataset"][{"MachineLearning","Titanic"}];​​dsTitanic[1;;-1;;300]
Out[19]=
Classifier
Make classification data:
data=Map[Most[#]Last[#]&,List@@@Normal[dsTitanic[Values]]];
Split data into training and testing parts:
In[71]:=
SeedRandom[111];​​{dataTraining,dataTesting}=TakeDrop[data,Floor[Length[data]*0.7]];
Make a classifier:
In[73]:=
cf=Classify[dataTraining,Method"NearestNeighbors"]
Out[73]=
ClassifierFunction
Input type: {Nominal,Numerical,Nominal}
Classes: died,survived

Classification results
Get classification results over test data:
In[74]:=
dsRes=​​Dataset@Map[​​Join[​​"died"0,"survived"0,​​cf[#〚1〛,"Probabilities"],​​"Predicted"cf[#〚1〛],"Actual"#〚2〛​​]&,dataTesting];​​dsRes[1;;4]
Out[75]=
ROC functions application
Convert the classification results into ROC associations:
In[76]:=
thRange=Range[0,1,0.025];lsROCs=Table
ToROCAssociation
[{"died","survived"},Normal@dsRes[All,"Actual"],Map[If[#≥th,"survived","died"]&,Normal[dsRes[All,"survived"]]]],{th,thRange};
Make ROC plot:
In[77]:=
ROCPlot
[thRange,lsROCs,"PlotJoined"Automatic,"ROCPointCallouts"True,"ROCPointTooltips"True,PlotRangeAll,GridLinesAutomatic]
Out[77]=
​
​
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com