マシンラーニング共通データセット

33084 ワード

  • 鳶尾花卉データセット(Iris data).このサンプルデータは、アヤメ、変色アヤメ、バージニアアヤメのそれぞれの花萼と花びらの長さと幅を含む機械学習と統計分析の最も古典的なデータセットである.合計150個のデータセットがあり、クラスごとに50個のサンプルがあります.Pythonでサンプルデータセットをロードする場合、Scikit Learnのデータセット関数を使用できます.使用方法は以下の通りです.
  • 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
  • ボストンの住宅価格データ(Boston Housing data).このサンプルデータセットは、カーネギーメロン大学の機械学習倉庫に保存され、合計506の住宅価格サンプルがあり、14の特徴変数を含む.Pythonを使用してデータを取得する方法:
  • 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!']