首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用整个文件作为唯一的样本分类在科学知识-学习?

如何使用整个文件作为唯一的样本分类在科学知识-学习?
EN

Data Science用户
提问于 2020-02-20 14:02:58
回答 1查看 32关注 0票数 -1

我的数据集被分割成不同的文件,因为我使用脑-计算机接口()分类所收集的脑电数据。以下是我所拥有的:

  • 每个.txt文件包含16个电极的脑电信号数据,在256 of下持续2秒。因此,它是一个512 x 16 (+1列的类)矩阵。
  • 每个.txt文件代表一个类。因此,每个文件都类似于:user_1_class_1.txtuser_1_class_2等。
  • 我有36个用户和5个类,所以总共有180个文件。

我正在使用scikit-learn MLPClassifier对这些数据进行分类,但我的第一次实验完全出错了。经过一些研究,我注意到在BCI问题中,我们必须将整个文件作为样本呈现给分类器。

这听起来有点让我困惑,我知道数据是时间依赖的。我很乐意解释一下如何组织数据和为MLPClassifier提供信息。

EN

回答 1

Data Science用户

发布于 2020-02-20 14:59:00

我会亲自把所有的文件读入熊猫的数据中,做任何类似的清理或处理,然后用拟合法传递基本的矩阵进行实际的训练。我不认为这有你担心的那么难--看看这里的例子吧。

您需要有一个样本作为一个具有形状512 x 16的训练矩阵和一个验证矩阵(我理解)是一个单一值,即类,它对所有行的脑电数据重复相同的值。它也匹配存储在文件名中的类名,对吗?

您将有180个样本(每个文件一个)。您可以使用train_test_splitsklearn将它们拆分为训练和验证。

代码语言:javascript
复制
# imports
import os
import pandas as pd
from sklearn.model_selection import train_test_split

# List all files, stored e.g. in the folder called "data"
files = sorted([file for file in os.listdir("./data/") if f.endswith(".txt")])

# Read into pandas - might need to adapt based on structure of your txt files
dfs = [pd.read_csv(f) for f in files]
# Do any required cleaning on each dataframe - func takes and returns a df
clean_dfs = [func(df) for df in dfs]

现在使用dataframe .values属性获取矩阵:

代码语言:javascript
复制
data = [df.values[:, 0:-1] for df in clean_dfs]  # take all but final column (the label)
labels = [df.values[0, -1] for df in clean_dfs]  # take first items in class column

现在您可以创建火车/val拆分:

代码语言:javascript
复制
X_tr, X_te, y_tr, y_te = create_train_test_split(data, values, test_size=0.2)

这些现在可以传递到分类器的fit方法~

代码语言:javascript
复制
from sklearn.metrics import accuracy_score, confusion_matrix
clf = MLPClassifier()            # define the classifier
clf.fit(X_tr, y_tr)              # train the classifier
predictions = clf.predict(X_te)  # make predictions on the test set

您可以计算一些指标,如准确度评分

代码语言:javascript
复制
score = accuracy_score(y_te, predictions)
票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/68411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档