
サクッとpythonでデータ分析
ここでは、PythonのKerasライブラリを用いて、オープンデータの分析を行う例を紹介します。
例として、UCI Machine Learning Repositoryから取得したIrisデータセットを使用します。このデータセットには、アヤメの花の種類を分類するための4つの特徴量が含まれています。データセットの詳細については、以下のリンクを参照してください。
https://archive.ics.uci.edu/ml/datasets/iris
まず、必要なライブラリをインポートします。
pythonCopy codeimport numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
次に、データを読み込み、特徴量と目的変数に分割します。
pythonCopy codeurl = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
df = pd.read_csv(url, header=None)
X = df.iloc[:, :-1].values
y = df.iloc[:, -1].values
データセットをトレーニング用とテスト用に分割します。
pythonCopy codeX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
Kerasを使って、分類モデルを作成します。
pythonCopy codemodel = Sequential()
model.add(Dense(units=10, input_dim=4, activation='relu'))
model.add(Dense(units=3, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
モデルをトレーニングします。
pythonCopy codefrom keras.utils import to_categorical
y_train_encoded = to_categorical(y_train)
model.fit(X_train, y_train_encoded, epochs=50, batch_size=10)
最後に、テスト用データを使って、モデルの精度を評価します。
pythonCopy codey_test_encoded = to_categorical(y_test)
_, accuracy = model.evaluate(X_test, y_test_encoded)
print('Accuracy: %.2f' % (accuracy*100))
以上のように、Kerasを使って、オープンデータの分析を行うことができます。データセットに応じて、モデルの構築やトレーニング方法を変更することができます。