Verzeihen Sie meine Terminologie, ich bin kein ML Pro. Ich könnte die falschen Begriffe unten verwenden.Wie führt man multivariable lineare Regression mit scikit-learn durch?
Ich versuche, multivariable lineare Regression durchzuführen. Nehmen wir an, ich versuche, das Geschlecht der Nutzer herauszufinden, indem ich die Seitenaufrufe auf einer Website analysiere.
Für jeden Benutzer, dessen Geschlecht ich weiß, ich habe eine Feature-Matrix, wobei jede Zeile einen Abschnitt Website repräsentiert, und das zweite Element, ob sie es besuchen, zum Beispiel:
male1 = [
[1, 1], # visited section 1
[2, 0], # didn't visit section 2
[3, 1], # visited section 3, etc
[4, 0]
]
So in scikit, ich bin Gebäude xs
und ys
. Ich bin als 1 ein männliches darstellen, und weibliche als 0
Die oben würde wie folgt dargestellt werden:
features = male1
gender = 1
Nun, ich bin natürlich nicht nur für einen einzelnen Benutzer ein Modell der Ausbildung, sondern Ich habe Zehntausende von Benutzern, deren Daten ich für das Training verwende.
Ich hätte gedacht, ich sollte meine xs
und ys
wie folgt erstellen:
xs = [
[ # user1
[1, 1],
[2, 0],
[3, 1],
[4, 0]
],
[ # user2
[1, 0],
[2, 1],
[3, 1],
[4, 0]
],
...
]
ys = [1, 0, ...]
scikit das nicht mag:
from sklearn import linear_model
clf = linear_model.LinearRegression()
clf.fit(xs, ys)
Es klagt:
ValueError: Found array with dim 3. Estimator expected <= 2.
Wie soll ich dem linearen Regressionsalgorithmus eine Merkmalsmatrix liefern scikit lernen?