Ich versuche, einer Beschriftung, die auf den bekannten Koordinaten basiert, Koordinaten mithilfe von SciKit-learns Linear Discriminant Analysis-Paket zuzuweisen. Training Koordinaten und Label in einem Pandas Datenrahmen gespeichert, Zielkoordinaten in einem anderen. Die beiden Datenfelder sind in der Zeilenlänge nicht gleich, der Trainingssatz ist größer. Ich möchte die Beschriftung auf die Koordinaten im ursprünglichen Datenrahmen anwenden, um sie als Schlüssel mit pd.merge zu verwenden.Anpassen oder Vorhersagen der Funktion für LinearDiscriminantAnalysis
Ich weiß, ich könnte dieses Problem mit Matplot Punkt in Polygon oder Shapely nähern, aber es auf diese Weise testen möchten. Hier ist, was ich auf dem docs
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
labels_fea = le.fit_transform(Spatial_index['Postcode'])
trainingdata=df1[['xcoord','ycoord']].values
targetvalues=df2[['xcoord','ycoord']].values
clf = LinearDiscriminantAnalysis(solver='svd', shrinkage=None, priors=None,
n_components=None, store_covariance=False, tol=0.0001)
Basis haben
dann, wie unten ausgeführt,
clf.fit(trainingdata,targetvalues)
Dies führt den folgenden Fehler,
ValueError: bad input shape (8860, 2)
können Sie umfassen die Linie wo du 'fit' nennst? – maxymoo
danke für die Suche nach max, haben hinzugefügt, dass jetzt –