Ich versuche, die sehr einfaches BeispielPyplot nicht Regression plotten
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses
print(type(x),type(y))
print('training samples ',len(x),len(y))
plt.scatter(x, y, c=colors, alpha=0.5)
plt.show()
dies zeigt
<class 'numpy.ndarray'> <class 'numpy.ndarray'>
training samples 50 50
zu emulieren wie erwartet, und der Plot zeigt ebenfalls auf. Jetzt versuche ich, die Ergebnisse der GradientBoostingRegressor
als
base_regressor = GradientBoostingRegressor()
base_regressor.fit(X_train, y_train)
y_pred_base = base_regressor.predict(X_test)
print(type(X_train),type(y_train))
print('training samples ',len(X_train),len(y_train))
print(type(X_test),type(y_pred_base))
print('base samples ',len(X_test),len(y_pred_base))
plt.figure()
plt.scatter(X_train, y_train, c="k", label="training samples")
plt.plot(X_test, y_pred_base, c="g", label="n_estimators=1", linewidth=2)
plt.xlabel("data")
plt.ylabel("target")
plt.title("Base Regression")
plt.legend()
plt.show()
Notiz zu zeichnen, dass X_train
, y_train
und X_test
sind alle numpy Arrays. Für den oben stehenden Code bekomme ich
<class 'numpy.ndarray'> <class 'numpy.ndarray'>
training samples 74067 74067
<class 'numpy.ndarray'> <class 'numpy.ndarray'>
base samples 166693 166693
aber die Handlung wird nicht angezeigt und ich bekomme den Fehler
ValueError: x and y must be the same size
bei
plt.scatter(X_train, y_train, c="k", label="training samples")
aber wie in der Ausgabe, x
und y
gesehen sind von gleicher Größe und Art. Was mache ich falsch?
anstatt Drucken 'len (X_test)' könnten Sie 'X_test.shape' drucken? – MMF
danke für das Vorschlagen, jetzt bekomme ich 'Trainingsbeispiele (74067, 163) (74067,)' und 'Basisproben (166693, 163) (166693,)' – AbtPst
was Sinn macht, denn für meine Trainingsdimension habe ich 163 Spalten – AbtPst