Ich musste das Weka-Dataset im Arff-Format analysieren und hatte ein kleines Problem damit, es von Python lesen und verwenden zu können. Deshalb werde ich es zusammenfassen.
Es kann mit loadaiff () in scipy.io geladen werden. (Siehe scipy.io Referenz) https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/io.html
readarff.py
from scipy.io import arff
import numpy as np
dataset, meta = arff.loadarff("DARPA99Week3-46.arff")
Um mit scipy oder scikit-learn zu analysieren, möchte ich es zu einem normalen Numpy-Array machen, also konvertiere es mit dem folgenden Skript. (Siehe "scipy.io loadarff-Ergebnis für scikit-learn vorbereiten" im Stapelüberlauf.)
arff1.py
ds=np.asarray(dataset.tolist(), dtype=np.float32)
target=np.asarray(ds[:,22].tolist(), dtype=np.int8)
train=ds[:, :21]
Oder
arff2.py
train_data = dataset[meta.names()[:-1]]
train_array = train_data.view(np.float).reshape(data.shape + (-1,))
Sobald Sie ein Numpy-Array haben, können Sie Matplotlib usw. verwenden, um Diagramme anzuzeigen und Analysen durchzuführen.
hist.py
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
duration=ds[:,16]
plt.hist(duration, bins=50)
plt.show()
scipy.io Referenz https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/io.html
Prepare scipy.io loadarff result for scikit-learn (Stack Overflow) http://stackoverflow.com/questions/22873434/prepare-scipy-io-loadarff-result-for-scikit-learn