Ich mag SVM Licht und SVM Rang auszuführen,Python sklearn.datasets.dump_svmlight_file zur Ausgabe versäumt, den richtigen Index der Spalte
so muß ich meine Daten in das Format von SVM Licht verarbeiten.
Aber ich hatte ein großes Problem ....
Meine Python-Codes sind unter:
import pandas as pd
import numpy as np
from sklearn.datasets import dump_svmlight_file
self.df = pd.DataFrame()
self.df['patent_id'] = patent_id_list
self.df['Target'] = class_list
self.df['backward_citation'] = backward_citation_list
self.df['uspc_originality'] = uspc_originality_list
self.df['science_linkage'] = science_linkage_list
self.df['sim_bc_structure'] = sim_bc_structure_list
self.df['claim_num'] = claim_num_list
self.qid = dataset_list
X = self.df[np.setdiff1d(self.df.columns, ['patent_id','Target'])]
y = self.df.Target
dump_svmlight_file(X,y,'test.dat',zero_based=False, query_id=self.qid,multilabel=False)
Die Ausgabedatei "test.dat" ist wie folgt aussehen:
Aber die echten Daten sehen so aus:
Ich habe einen falschen Index ....
Nehmen Sie die erste Instanz zum Beispiel ist der Wert der Spalte 1 7, und die Werte der Spalte 2 bis 4 Nullen sind, wird der Wert der Spalte 5 ist 2 ....
So ist mein erwartetes Ergebnis aussehen dies wie:
1 qid: 1 1: 7 5: 2
aber der Spaltenindex der Ausgabedatei ist völlig falsch ....
und leider ... ich kann nicht herausfinden Wo tritt das Problem auf ....
ich dieses Problem für eine lange Zeit nicht beheben kann ....
Vielen Dank für die Hilfe !!