Unresolved referenceのエラー
受付中
回答 0
投稿
- 評価
- クリップ 0
- VIEW 1,664

退会済みユーザー
Unresolved reference 'noise_num'とUnresolved reference 'level_num'とエラーが出ました。
http://webdatareport.hatenablog.com/entry/2016/11/06/161304
を参考にしながらコードを書いています。
以下のようにコードの全体を書きました。
#coding:utf-8
from sklearn import svm
from sklearn.metrics import classification_report, accuracy_score
import sys
from mfcc import *
import glob
import csv
import random
import itertools
import numpy as np
if __name__ == "__main__":
bell_nums = range(1,6)
pairs = list(itertools.combinations(bell_nums,2))
for pair in pairs:
bell_num1=int(pair[0])
bell_num2=int(pair[1])
train_data = np.empty((0,12),float)
train_label = np.array([])
test_data = np.empty((0,12),float)
test_label = np.array([])
noise_nums = range(1,12)
level_nums = range(0,10)
random.shuffle(noise_nums)
nfft = 2048 # FFTのサンプル数
nceps = 12 # MFCCの次元数
#鈴の音1
for noise_num in noise_nums[0:10]:
random.shuffle(level_nums)
#学習用データを作成
for level_num in level_nums[0:10]:
files_name = glob.glob("learning_sample/%d_%d_%d.wav" % (bell_num1,noise_num,level_num))
for file_name in files_name:
feature = get_feature(file_name,nfft,nceps)
if len(train_data) == 0:
train_data=feature
else:
train_data=np.vstack((train_data,feature))
train_label=np.append(train_label,bell_num1)
#テストデータを作成
file_name = "learning_sample/%d_%d_%d.wav" % (bell_num1,noise_num,level_nums[8])
feature = get_feature(file_name,nfft,nceps)
if len(test_data) == 0:
test_data=feature
else:
test_data=np.vstack((test_data,feature))
test_label=np.append(test_label,bell_num1)
#鈴の音2
for noise_num in noise_nums[0:10]:
random.shuffle(level_nums)
#学習用データを作成
for level_num in level_nums[0:10]:
files_name = glob.glob("learning_sample/%d_%d_%d.wav" % (bell_num2,noise_num,level_num))
for file_name in files_name:
feature = get_feature(file_name,nfft,nceps)
if len(train_data) == 0:
train_data=feature
else:
train_data=np.vstack((train_data,feature))
train_label=np.append(train_label,bell_num2)
#テストデータを作成
file_name = "learning_sample/%d_%d_%d.wav" % (bell_num2,noise_num,level_nums[8])
feature = get_feature(file_name,nfft,nceps)
if len(test_data) == 0:
test_data=feature
else:
test_data=np.vstack((test_data,feature))
test_label=np.append(test_label,bell_num2)
#特徴データをテキストに出力
feature_train_data=np.hstack((train_label.reshape(len(train_label),1),train_data))
feature_test_data=np.hstack((test_label.reshape(len(test_label),1),test_data))
with open("feature_data/train_data.txt","w") as f:
writer=csv.writer(f)
writer.writerows(feature_train_data)
with open("feature_data/test_data.txt","w") as f:
writer=csv.writer(f)
writer.writerows(feature_test_data)
#識別機学習
clf = svm.SVC()
clf.fit(train_data,train_label)
#推定
test_pred = clf.predict(test_data)
#print np.hstack((test_label.reshape(len(test_label),1),(test_pred.reshape(len(test_pred),1))))
#結果算出
score=accuracy_score(test_label, test_pred)
print pair,score
files_name = glob.glob("learning_sample/%d_%d_%d.wav" % (bell_num1,noise_num,level_num))
と
files_name="learning_sample/%d_%d_%d.wav"% (bell_num1,noise_num,level_nums[8])
と
files_name = glob.glob("learning_sample/%d_%d_%d.wav" % (bell_num2, noise_num, level_num))
と
file_name = "learning_sample/%d_%d_%d.wav" % (bell_num2, noise_num, level_nums[8])
と書いたところで上記のエラーが出ました。
ちゃんと変数名を定義しているのでどうしてエラーになるのかが分かりません。
どのように直せば良いのでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
まだ回答がついていません
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.32%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正の依頼
2017/05/21 23:34
複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。