マシンラーニング共通データセット
from sklearn import datasets
iris = datasets.load_iris()
print(len(iris.data))
150
print(len(iris.target))
150
print(iris.target[0]) # Sepal length, Sepal width,Petal length,Petal width
[ 5.1 3.5 1.4 0.2]
print(set(iris.target)) # I. setosa, I. virginica, I. versicolor
{0, 1, 2}
2.出生体重データ(Birth weight data).このサンプルデータセットは、赤ちゃんの出生体重および母親および家庭の歴史人口統計学、医学指標であり、189のサンプルセットがあり、11の特徴変数を含む.Pythonを使用してアクセスするデータの方法:
import requests
birthdata_url = 'https://www.umass.edu/statdata/statdata/data/
lowbwt.dat'
birth_file = requests.get(birthdata_url)
birth_data = birth_file.text.split('\'r
') [5:]
birth_header = [x for x in birth_data[0].split( '') if len(x)>=1]
birth_data = [[float(x) for x in y.split( ')'' if len(x)>=1] for y
in birth_data[1:] if len(y)>=1]
print(len(birth_data))
189
print(len(birth_data[0]))
11
import requests
housing_url = 'https://archive.ics.uci.edu/ml/machine-learningdatabases/housing/housing.data'
housing_header = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM',
'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV0']
housing_file = requests.get(housing_url)
housing_data = [[float(x) for x in y.split( '') if len(x)>=1] for
y in housing_file.text.split('
') if len(y)>=1]
print(len(housing_data))
506
print(len(housing_data[0]))
14
4.MNIST手書きフォントライブラリ:MNIST手書きフォントライブラリはNIST手書きフォントライブラリのサブサンプルデータセットで、URL:https://yann.lecun.com/exdb/mnist/.0から9の画像70000枚を含み、そのうち60000枚はトレーニングサンプルデータセットとして表示され、10000枚はテストサンプルデータセットとして表示される.TensorFlowは組み込み関数を提供してアクセスし、MNIST手書きフォントライブラリは画像認識訓練によく使用されます.機械学習では,オーバーフィットを予防するために検証サンプルデータセットを提供することが重要であり,TensorFlowは訓練サンプルデータセットから検証サンプルデータセットとして5000枚の画像を残す.ここではPythonを使用してデータにアクセスする方法を示します.
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/"," one_hot=True)
print(len(mnist.train.images))
55000
print(len(mnist.test.images))
10000
print(len(mnist.validation.images))
5000
print(mnist.train.labels[1,:]) # The first label is a 3'''
[ 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]
5.スパムメールテキストデータセット(Spam-ham text data).スパムメッセージのテキストデータにアクセスするには、次のようにします.
import requests
import io
from zipfile import ZipFile
zip_url = 'http://archive.ics.uci.edu/ml/machine-learningdatabases/
00228/smsspamcollection.zip'
r = requests.get(zip_url)
z = ZipFile(io.BytesIO(r.content))
file = z.read('SMSSpamCollection')
text_data = file.decode()
text_data = text_data.encode('ascii',errors='ignore')
text_data = text_data.decode().split(
')
text_data = [x.split(\t') for x in text_data if len(x)>=1]
[text_data_target, text_data_train] = [list(x) for x in zip(*text_
data)]
print(len(text_data_train))
5574
print(set(text_data_target))
{'ham', 'spam'}
print(text_data_train[1])
Ok lar... Joking wif u oni...
6.コメントサンプルデータセット.このサンプルデータセットは映画観覧者の映画評論で、好評と悪評に分けられ、ウェブサイトでhttp://www.cs.cornell.edu/people/pabo/movie-review-data/ダウンロードします.ここではPythonでデータ処理を行いますが、使い方は以下の通りです.
import requests
import io
import tarfile
movie_data_url = 'http://www.cs.cornell.edu/people/pabo/moviereview-
data/rt-polaritydata.tar.gz'
r = requests.get(movie_data_url)
# Stream data into temp object
stream_data = io.BytesIO(r.content)
tmp = io.BytesIO()
while True:
s = stream_data.read(16384)
if not s:
break
tmp.write(s)
stream_data.close()
tmp.seek(0)
# Extract tar file
tar_file = tarfile.open(fileobj=tmp, mode="r:gz")
pos = tar_file.extractfile('rt'-polaritydata/rt-polarity.pos')
neg = tar_file.extractfile('rt'-polaritydata/rt-polarity.neg')
# Save pos/neg reviews (Also deal with encoding)
pos_data = []
for line in pos:
pos_data.append(line.decode('ISO'-8859-1').
encode('ascii',errors='ignore').decode())
neg_data = []
for line in neg:
neg_data.append(line.decode('ISO'-8859-1').
encode('ascii',errors='ignore').decode())
tar_file.close()
print(len(pos_data))
5331
print(len(neg_data))
5331
# Print out first negative review
print(neg_data[0])
simplistic , silly and tedious .
7.CIFAR-10イメージデータセット.この画像データセットはCIFAR機構が発表した8億枚のカラー画像(32と表記)である.×32ピクセル)のサブセットは、全部で10種類に分けられ、60000枚の画像があります.50000枚の画像トレーニングデータセット、10000枚のテストデータセット.この画像データセットのデータ量が大きいため、本書では様々な方法で使用されています.後で具体的な使用時に詳しく説明します.http://www.cs.toronto.edu/~kriz/cifar.html. 8.シェークスピアの著作テキストデータセット(Shakespeare text data).このテキストデータセットは、シェークスピアのすべての著作をコンパイルしたグデンブルクデジタル電子書籍計画が提供する無料の電子書籍です.Pythonでテキストファイルにアクセスする方法は次のとおりです.
import requests
shakespeare_url = 'http://www.gutenberg.org/cache/epub/100/pg100.
txt'
# Get Shakespeare text
response = requests.get(shakespeare_url)
shakespeare_file = response.content
# Decode binary into string
shakespeare_text = shakespeare_file.decode('utf-8')
# Drop first few descriptive paragraphs.
shakespeare_text = shakespeare_text[7675:]
print(len(shakespeare_text)) # Number of characters
5582212
9.英徳文翻訳サンプルセット.このデータセットはTatoeba(オンライン翻訳データベース)によって発行され、ManyThings.org(http://www.manythings.org)を整理してダウンロードする.ここでは、英徳文の相互翻訳のテキストファイル(URLを変更して、必要な言語のテキストファイルを使用することができます)を提供します.使用方法は次のとおりです.
import requests
import io
from zipfile import ZipFile
sentence_url = 'http://www.manythings.org/anki/deu-eng.zip'
r = requests.get(sentence_url)
z = ZipFile(io.BytesIO(r.content))
file = z.read('deu.txt''')
# Format Data
eng_ger_data = file.decode()
eng_ger_data = eng_ger_data.encode('ascii''',errors='ignore''')
eng_ger_data = eng_ger_data.decode().split(
''')
eng_ger_data = [x.split(\t''') for x in eng_ger_data if len(x)>=1]
[english_sentence, german_sentence] = [list(x) for x in zip(*eng_
ger_data)]
print(len(english_sentence))
137673
print(len(german_sentence))
137673
print(eng_ger_data[10])
['I won!, 'Ich habe gewonnen!']