質問編集履歴

2

変更しました

2022/07/21 04:05

投稿

sato0401
sato0401

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,69 +1,18 @@
1
1
  ### 前提
2
- PythonでOne-class SVMと混同行列を用いて、TPRやTNRの値をテキストファイルに出力するプログラムを作っています。データ数は50行あります。
2
+
3
- 処理するデータを7行のデータに絞り、1行ずつずらしていく機能を実装中に以下のエラーメッセージが発生しました。
4
- (1から7行目まで→2から8行目まで→3から9行目までのようにずらしていく)
5
3
  初投稿なのですが、どなたかご教示いただけますと幸いです。
6
4
 
7
5
  ### 発生している問題・エラーメッセージ
8
6
 
9
- tp,fn,fp,tn=cm.flatten()
10
-
11
- ValueError: not enough values to unpack (expected 4, got 1)
12
7
 
13
8
  ### 該当のソースコード
14
9
  ```
15
- import pandas as pd
16
- from sklearn.svm import OneClassSVM
17
- from sklearn.metrics import confusion_matrix
18
10
 
19
- #データの選択
20
- dataname = 'csvファイル_a'
21
-
22
- def main():
23
-
24
- for i in range(1):
25
- Regression(i)
26
-
27
- def Regression(i):
28
-
29
- filename = dataname+".txt"
30
- myfile = open(filename,"w")
31
- imagename = dataname+"_gamma=1.png"
32
- figname = "Result - "+dataname
33
- print("データ数,tp,fn,fp,tn,TPR,TNR",file=myfile)
34
-
35
- for i in range(1,44,1):
36
-  df_train = pd.read_csv(dataname+'.csv',skiprows=1,names=['a','b','c','d','e','f','g','h'])
37
-  df_train = df_train[i:i+6]
38
-  df_train_re = df_train.drop(['h'],axis=1)
39
- X_train = df_train_re.to_numpy()
40
- Y_train = df_train['h'].to_numpy()
41
- num = i
42
- for j in range(1,num+1,1):
43
- clf = OneClassSVM(kernel='rbf',gamma = 1,nu = 0.1 )
44
- clf.fit(X_train)
45
- Y_pred = clf.predict(X_train)
46
- cm=confusion_matrix(Y_train,Y_pred)
47
- tp,fn,fp,tn=cm.flatten()
48
- TPR = tp/(tp+fn)
49
- TNR = tn/(fp+tn)
50
- if j == num:
51
- print(i,i+6,",",tp,",",fn,",",fp,",",tn,",",TPR,",",TNR,file=myfile)
52
- print("=========================================")
53
- print("gamma=",1," nu=",k)
54
- print("tp=",tp," fn=",fn," fp=",fp," tn=",tn)
55
-      print("TPR=",TPR," TNR=",TNR)
56
-
57
- myfile.close()
58
-
59
- if __name__ == "__main__":
60
- main()
61
11
  ```
62
12
  ### 試したこと
63
13
 
64
- df_train = df_train[i:i+6]の部分なのですが、df_train[:i+6]にすると、エラーは出ず、7行ずつ処理されるデータが増えていきました。df_train[a:b]のaの部分を指定するとエラーが出ます。
65
14
 
66
15
  ### 補足情報(FW/ツールのバージョンなど)
67
- csvファイルは画像のようなデータで、51行目まであります。
68
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-07-19/66d92575-de27-4f19-887c-f2f2810701aa.png)
69
16
 
17
+
18
+

1

初心者アイコンをつけるのを忘れていました。申し訳ございません。

2022/07/19 10:45

投稿

sato0401
sato0401

スコア2

test CHANGED
File without changes
test CHANGED
File without changes