Ich brauche Hilfe bei der Vorbereitung eines Linux Pfades/Verzeichnisses für das Training scikit. Im Moment dies bisherSo wandeln Sie den Pfad für scikit-learn um
ich wollte jetztdb = get_db()
df = pd.read_sql_query(
'SELECT Request,Used,Count FROM history where User = "john"', db)
print(df.head)
X = df[['Request','Count']]
y = df['Used']
X_train, X_test, y_train, y_test = train_test_split(X, y)
model = LinearRegression().fit(X_train, y_train)
print("LinearRegression Training set score: {:.2f}".format(model.score(X_train, y_train)))
print("LinearRegression Test set score: {:.2f}".format(model.score(X_test, y_test)))
#Output of print(df.head)
Request Used Count
0 5400 3088 20
1 6400 3500 20
arbeitet, um die SQL-Abfrage ändern und einen Pfad zu dem Ergebnis hinzufügen.
df = pd.read_sql_query(
'SELECT Request,Used,Count,Path FROM history where User = "john"', db)
df['Path'] = df['Path'].str.split("/")
print(df.head)
X = df[['Request','Count','Path']]
y = df['Used']
X_train, X_test, y_train, y_test = train_test_split(X, y)
...
#Output of print(df.head)
#Output of print(df.head)
Request Used Count Path
0 5400 3088 20 [, home, john, testdir]
1 6400 3500 20 [, home, john, blub]
Wie kann df [ 'PATH'] konvertieren für scikit verwendbar zu sein. Vielleicht eine Matrix wie eine Repräsentation mit OneHotEnocder? Jede Hilfe oder Tipps würde mir sehr helfen.
danke im voraus
Können Sie ein Beispiel geben, wie das Endergebnis der Spalte 'Path' aussehen soll? Wie viele einzigartige Klassen (home, john, testdir, blub usw.) gibt es? Ein paar oder viele? 'MultiLabelBinarizer' scheint meine Antwort zu sein. – Jarad
Da die Pfade benutzerdefiniert sind, könnte es einige von ihnen geben. Es gibt nur wenige Hauptverzeichnisse, in denen ein Benutzer seine eigenen Verzeichnisse erstellen kann, z./home,/tmp,/tmpdir. Ich habe bemerkt, dass einige Benutzer dazu neigen, ähnliche Namensschemata unter verschiedenen Toplevel-Verzeichnissen zu verwenden. Ich hoffte, das für eine bessere Vorhersage zu verwenden, z. /tmp/john/abc/x1 /tmp/john/abc/x2 /tmp/john/abc/x3 /tmpdir/john/abc/x1 /tmpdir/john/abc/x2 Und natürlich Der Pfad tief kann sehr variieren. Die Länge eines Pfadspalteneintrags könnte also unterschiedlich sein [, home, john, testdir] [, home, john, testdir, x1] – MSO