私の問題:
大きな JSON ファイルであるデータセットがあります。それを読んで変数に格納しtrainList
ます。
次に、それを操作できるようにするために、前処理を行います。
それが完了したら、分類を開始します。
kfold
平均精度を取得し、分類器をトレーニングするために、交差検証法を使用します。- 私は予測を行い、そのフォールドの精度と混同行列を取得します。
True Positive(TP)
この後、 、True Negative(TN)
、False Positive(FP)
およびFalse Negative(FN)
値を取得したいと思います。これらのパラメータを使用してSensitivityとSpecificityを取得します。
最後に、これを使用して HTML を挿入し、各ラベルの TP を含むグラフを表示します。
コード:
私が今のところ持っている変数:
trainList #It is a list with all the data of my dataset in JSON form
labelList #It is a list with all the labels of my data
メソッドの大部分:
#I transform the data from JSON form to a numerical one
X=vec.fit_transform(trainList)
#I scale the matrix (don't know why but without it, it makes an error)
X=preprocessing.scale(X.toarray())
#I generate a KFold in order to make cross validation
kf = KFold(len(X), n_folds=10, indices=True, shuffle=True, random_state=1)
#I start the cross validation
for train_indices, test_indices in kf:
X_train=[X[ii] for ii in train_indices]
X_test=[X[ii] for ii in test_indices]
y_train=[listaLabels[ii] for ii in train_indices]
y_test=[listaLabels[ii] for ii in test_indices]
#I train the classifier
trained=qda.fit(X_train,y_train)
#I make the predictions
predicted=qda.predict(X_test)
#I obtain the accuracy of this fold
ac=accuracy_score(predicted,y_test)
#I obtain the confusion matrix
cm=confusion_matrix(y_test, predicted)
#I should calculate the TP,TN, FP and FN
#I don't know how to continue