Я работаю над проектом школы данных для определения движений определенных собак. У меня есть набор данных извлеченных атрибутов (всего 79) плюс метка, которую я пытаюсь угадать, используя алгоритм машинного обучения - так что это обычная проблема классификации. Число возможных меток равно 30, и все они кодируют движение, которое собака делает в данный момент (0 - стойка, 1 - прогулка, 2 - бег и т. Д.). Каждая строка - это 0,2-секундный таймфрейм, где мы измерили группу Атрибуты, которые собака делала в этот период.
Вот как выглядит мой фрейм данных:
label attribute_1 attribute_2 ... attribute_79
1 0 0.199574 0.203156 ... 0.046898
2 1 0.201461 0.203837 ... 0.075002
3 3 0.209044 0.214268 ... 0.143278
... ... ... ... ... ...
PCA или анализ основных компонентов - это общий алгоритм для уменьшения количества атрибутов (столбцов) в кадре данных. Он создает линейные комбинации текущих атрибутов, так что мои данные по-прежнему сохраняют большую дисперсию и все еще «объясняют» многое о метке, которую нужно угадать; имея меньше общей информации. Это медленный алгоритм (он использует собственные векторы больших матриц), но это нужно сделать только один раз, тогда я могу запустить алгоритмы на меньшем кадре данных. (Многие алгоритмы предпочитают меньшие кадры данных, такие как SVM или kNN.)
Я уже запускал другие встроенные методы sklearn и никогда не сталкивался с такой серьезной проблемой. Возможно, я получил ошибку, что мои текущие данные не работают для этого конкретного алгоритма, но никогда не отображаются на голубом экране.
Вот мой текущий код (он очень простой, только преобразования данных, затем сам PCA):
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
data = pd.read_csv("../Data/all_windowed_200.csv", sep=',').dropna()
data.shape # outputs (178884, 81)
data.head() # shows the dataframe above
data = data.drop("Unnamed: 0", axis=1) # this drops the index that gets included automatically in the first column
num_data = data.values
labels = num_data[:, 0]
X = num_data[:, 1:]
pca = PCA().fit(X) # running this line causes the bluescreen
Это ПК, который я использую:
- Intel 5160 Dual Core @ 3,00 ГГц + 3,00 ГГц
- 8,00 ГБ ОЗУ
- Видеокарта AMD Radeon HD 5450
- 64-битная Windows 7
Я использую Jupyter Notebook для запуска своего кода Python. (Версия Python 3.6.5, MSC v.1900)
Любая помощь в выяснении, почему мой ПК может быть синим при запуске PCA на моем фрейме данных, будет очень признательна.