質問編集履歴
2
変更しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,69 +1,18 @@
|
|
1
1
|
### 前提
|
2
|
-
|
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
初心者アイコンをつけるのを忘れていました。申し訳ございません。
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|