我不明白scikit中的X_train Y_train I / O可以学习吗?

时间:2017-06-21 15:41:47

标签: csv

我一直在尝试使用Scikit-neural网络的mlp(多层感知)训练模型,用于说话人识别。

我有一个名为' mfcc_kushal.csv'的csv文件。排列有13列(13个功能)和1201行(每帧)。这些是我自己的语音信号功能。

如果我尝试将其作为ndarray,我的X_train将有1201个样本,包含13行。现在我的Y_train基本上是一个二进制输出,只是我或不是。 但是有一个错误说X和Y中的样本不一样。

图书馆告诉我使用1201班而不是两班。我错过了什么。我想我没有得到实施。

我的代码:

import csv
import numpy as np
from sknn.mlp import Classifier, Layer

def csv_extractor(csv_file):
    with open(csv_file,'r') as dest_f:
        data_iter = csv.reader(dest_f,
                               delimiter = ',')
        data = [data for data in data_iter]
    feat = np.asarray(data, dtype = None)
    feat = feat.astype(np.float)
return feat
feat = csv_extractor('mfcc_kushal.csv')
print(feat)
print(feat.shape[0])

#NN modeling
y_train = np.arange(2)
NN = Classifier(layers =[Layer("Sigmoid", units = 100), Layer("Softmax")],
                learning_rate = 0.001,
                n_iter = 500 )
NN.fit(feat,y_train)

以下输出显示了它的内容。我还打印了ndarray和行数。 ndarray是同一语音信号的1201个不同帧的单个人的MFCC。

输出:

enter image description here

0 个答案:

没有答案