Ich verweise das Codebeispiel hier (http://scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html), und speziell durch diese Zeile verwechselt iris.data[:, :2]
, da iris.data ist 150 (Zeile) * 4 (Spalte) dimensional ich denke, es bedeutet, wählen alle Zeilen und die ersten beiden Spalten. Ich bitte hier um zu bestätigen, ob mein Verständnis korrekt ist, da ich mir Zeit nehme, aber solch ein offizielles Dokument zur Syntaxdefinition nicht finden kann.numpy.darray Syntax Verständnis für die Bestätigung
Eine andere Frage ist, verwende ich den folgenden Code, um # Zeilen und # Spalten zu erhalten, nicht sicher, ob besser elegante Wege? Mein Code ist mehr pythoneigener Stil und nicht sicher, ob numpy einen besseren Stil hat, um die zugehörigen Werte zu erhalten.
print len(iris.data) # for number of rows
print len(iris.data[0]) # for number of columns
Verwendung von Python 2.7 mit Miniconda-Interpreter.
print(__doc__)
# Code source: Gaël Varoquaux
# Modified for documentation by Jaques Grobler
# License: BSD 3 clause
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model, datasets
# import some data to play with
iris = datasets.load_iris()
X = iris.data[:, :2] # we only take the first two features.
Y = iris.target
h = .02 # step size in the mesh
logreg = linear_model.LogisticRegression(C=1e5)
# we create an instance of Neighbours Classifier and fit the data.
logreg.fit(X, Y)
# Plot the decision boundary. For that, we will assign a color to each
# point in the mesh [x_min, m_max]x[y_min, y_max].
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = logreg.predict(np.c_[xx.ravel(), yy.ravel()])
# Put the result into a color plot
Z = Z.reshape(xx.shape)
plt.figure(1, figsize=(4, 3))
plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)
# Plot also the training points
plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors='k', cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.xticks(())
plt.yticks(())
plt.show()
Grüßen, Lin
Sie haben Recht. Die erste Syntax wählt die ersten zwei Spalten/Features aus. Eine andere Möglichkeit, Dimensionen abzufragen, ist 'iris.data.shape' zu betrachten. Dies ergibt ein n-dimensionales Tupel mit der Länge. –
Dank @PankajDaga, wissen Sie, ob es ein offizielles Dokument gibt, wie man Dimensionen bezieht, und wählen Sub-Array (mein Beispiel) von 'ndarray' von' numpy'? –
Sie können hier klicken: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html –