Now you can request additional data and/or customized columns!

Try It Now!

Tic Tac Toe Endgame

machine-learning

Files Size Format Created Updated License Source
2 46kB csv zip 10 months ago 10 months ago [UCI - Tic-Tac-Toe Endgame Data set
This dataset contains tic-tac-toe endgame snapshots. First nine attributes are representing nine fields on tic-tac-toe board and tenth is class attribute which contains information if x player won. Data This dataset was found on UCI - Tic-Tac-Toe Endgame Data set This database encodes the complete read more
Download Developers

Data Files

Download files in this dataset

File Description Size Last changed Download
tic-tac-toe 23kB csv (23kB) , json (108kB)
tic-tac-toe-endgame_zip Compressed versions of dataset. Includes normalized CSV and JSON data with original data and datapackage.json. 13kB zip (13kB)

tic-tac-toe  

Signup to Premium Service for additional or customised data - Get Started

This is a preview version. There might be more data in the original version.

Field information

Field Name Order Type (Format) Description
TL 1 string (default)
TM 2 string (default)
TR 3 string (default)
ML 4 string (default)
MM 5 string (default)
MR 6 string (default)
BL 7 string (default)
BM 8 string (default)
BR 9 string (default)
class 10 boolean (default)

Integrate this dataset into your favourite tool

Use our data-cli tool designed for data wranglers:

data get https://datahub.io/machine-learning/tic-tac-toe-endgame
data info machine-learning/tic-tac-toe-endgame
tree machine-learning/tic-tac-toe-endgame
# Get a list of dataset's resources
curl -L -s https://datahub.io/machine-learning/tic-tac-toe-endgame/datapackage.json | grep path

# Get resources

curl -L https://datahub.io/machine-learning/tic-tac-toe-endgame/r/0.csv

curl -L https://datahub.io/machine-learning/tic-tac-toe-endgame/r/1.zip

If you are using R here's how to get the data you want quickly loaded:

install.packages("jsonlite", repos="https://cran.rstudio.com/")
library("jsonlite")

json_file <- 'https://datahub.io/machine-learning/tic-tac-toe-endgame/datapackage.json'
json_data <- fromJSON(paste(readLines(json_file), collapse=""))

# get list of all resources:
print(json_data$resources$name)

# print all tabular data(if exists any)
for(i in 1:length(json_data$resources$datahub$type)){
  if(json_data$resources$datahub$type[i]=='derived/csv'){
    path_to_file = json_data$resources$path[i]
    data <- read.csv(url(path_to_file))
    print(data)
  }
}

Note: You might need to run the script with root permissions if you are running on Linux machine

Install the Frictionless Data data package library and the pandas itself:

pip install datapackage
pip install pandas

Now you can use the datapackage in the Pandas:

import datapackage
import pandas as pd

data_url = 'https://datahub.io/machine-learning/tic-tac-toe-endgame/datapackage.json'

# to load Data Package into storage
package = datapackage.Package(data_url)

# to load only tabular data
resources = package.resources
for resource in resources:
    if resource.tabular:
        data = pd.read_csv(resource.descriptor['path'])
        print (data)

For Python, first install the `datapackage` library (all the datasets on DataHub are Data Packages):

pip install datapackage

To get Data Package into your Python environment, run following code:

from datapackage import Package

package = Package('https://datahub.io/machine-learning/tic-tac-toe-endgame/datapackage.json')

# print list of all resources:
print(package.resource_names)

# print processed tabular data (if exists any)
for resource in package.resources:
    if resource.descriptor['datahub']['type'] == 'derived/csv':
        print(resource.read())

If you are using JavaScript, please, follow instructions below:

Install data.js module using npm:

  $ npm install data.js

Once the package is installed, use the following code snippet:

const {Dataset} = require('data.js')

const path = 'https://datahub.io/machine-learning/tic-tac-toe-endgame/datapackage.json'

// We're using self-invoking function here as we want to use async-await syntax:
;(async () => {
  const dataset = await Dataset.load(path)
  // get list of all resources:
  for (const id in dataset.resources) {
    console.log(dataset.resources[id]._descriptor.name)
  }
  // get all tabular data(if exists any)
  for (const id in dataset.resources) {
    if (dataset.resources[id]._descriptor.format === "csv") {
      const file = dataset.resources[id]
      // Get a raw stream
      const stream = await file.stream()
      // entire file as a buffer (be careful with large files!)
      const buffer = await file.buffer
      // print data
      stream.pipe(process.stdout)
    }
  }
})()

Read me

This dataset contains tic-tac-toe endgame snapshots. First nine attributes are representing nine fields on tic-tac-toe board and tenth is class attribute which contains information if x player won.

Data

This dataset was found on UCI - Tic-Tac-Toe Endgame Data set

This database encodes the complete set of possible board configurations at the end of tic-tac-toe games, where “x” is assumed to have played first. The target concept is “win for x” (i.e., true when “x” has one of 8 possible ways to create a “three-in-a-row”).

Interestingly, this raw database gives a stripped-down decision tree algorithm (e.g., ID3) fits. However, the rule-based CN2 algorithm, the simple IB1 instance-based learning algorithm, and the CITRE feature-constructing decision tree algorithm perform well on it.

Attribute information

  • TL : top left square {x,o,b}
  • TM : top middle square {x,o,b}
  • TR : top right square {x,o,b}
  • ML : middle left square {x,o,b}
  • MM : middle middle square {x,o,b}
  • MR : middle right square {x,o,b}
  • BL : bottom left square {x,o,b}
  • BM : bottom middle square {x,o,b}
  • BR : bottom right square {x,o,b}
  • class :
    • true: x won
    • false: x lost

Values are:

  • x : x player
  • o : o player
  • b : blank field

Data is located in directory data

data/hepatitis.csv

Preparation

This script should be run using Python 3.

Scripts are in directory scripts

scripts/main.py

License

Licensed under the Public Domain Dedication and Licence (assuming either no rights or public domain licence in source data).

Datapackage.json

Request Customized Data


Notifications of data updates and schema changes

Warranty / guaranteed updates

Workflow integration (e.g. Python packages, NPM packages)

Customized data (e.g. you need different or additional data)

Or suggest your own feature from the link below