PythonDataScience_XX - Jake VanderPlas Flashcards
Wie kann ich one hot encoding verwenden?
Die Liste heißt data
Der Zielname vec
from sklearn.feature_extraction import DictVectorizer
vec = DictVectorizer(sparse=True, dtype=int)
vec.fit_transform(data)
Wie kann ich diese Arrays plotten?
x = np.array([1, 2, 3, 4, 5]) y = np.array([4, 2, 1, 3, 7])
import …
%matplotlib inline –> will lead to static images of your plot embedded in the notebook
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4, 5])
y = np.array([4, 2, 1, 3, 7])
plt.scatter(x, y);
Wie kann ich einfaches Model für lineare Regresion anwenden?
x = np.array([1, 2, 3, 4, 5]) y = np.array([4, 2, 1, 3, 7])
import …
X = …
model = …
yfit = …
from sklearn.linear_model import LinearRegression
X = x[:, np.newaxis]
model = LinearRegression().fit(X, y)
yfit = model.predict(X)
plt.scatter(x, y)
plt.plot(x, yfit);
Wie kann ich ein Model mit polynominellen Features anwenden?
x = np.array([1, 2, 3, 4, 5]) y = np.array([4, 2, 1, 3, 7])
import …
poly = …
X2 = …
model = …
yfit = …
plt…
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=3, include_bias=False)
X2 = poly.fit_transform(X)
model = LinearRegression().fit(X2, y) yfit = model.predict(X2)
plt. scatter(x, y)
plt. plot(x, yfit);
Wie kann ich hier den durchschnittlichen Wert eintragen lassen? Danach lineare Regression.
from numpy import nan
X = np.array([[nan, 0, 3],
[3, 7, 9],
[3, 5, 2],
[4, nan, 6],
[8, 8, 1]])
y = np.array([14, 16, -1, 8, -5])
import …
imp = …
X2 = …
model = …
from sklearn.impute import SimpleImputer
imp = SimpleImputer(strategy=’mean’)
X2 = imp.fit_transform(X)
model = LinearRegression().fit(X2, y)
model.predict(X2)
Wie kann ich eine Pipeline für die folgenden Aufgaben erstellen?
- Impute missing values using the mean
- Transform features to quadratic
- Fit a linear regression
import = …
model = …
…
from sklearn.pipeline import make_pipeline
model = make_pipeline(SimpleImputer(strategy=’mean’),
PolynomialFeatures(degree=2),
LinearRegression())
model.fit(X, y) # X with missing values, from above
print(y)
print(model.predict(X))
Wie kann ich Test- und Trainigsdaten verwenden?
from sklearn.model\_selection import train\_test\_split # split the data with 50% in each set X1, X2, y1, y2 = train\_test\_split(X, y, random\_state=0, train\_size=0.5)
fit the model on one set of data
model.fit(X1, y1)
evaluate the model on the second set of data
y2_model = model.predict(X2)
accuracy_score(y2, y2_model)
Wie kann ich cross validation verwenden?
from sklearn.model_selection import cross_val_score
cross_val_score(model, X, y, cv=5)
Wie kann ich KNN verwenden?
from sklearn.neighbors import KNeighborsClassifier
model = KNeighborsClassifier(n_neighbors=1)
Was ist eine Lernkurve?
Ein Diagramm mit dem Trainings- und Validierungsscore im Hinblick auf die Größe des Trainingsdatensatzes.
Was ist Naive Bayes Modelle?
Naive Bayes models are a group of extremely fast and simple classification algorithms that are often suitable for very high-dimensional datasets. Because they are so fast and have so few tunable parameters, they end up being very useful as a quick-and-dirty baseline for a classification problem.
Eine Gruppe von einfachen Klassifizierungsalgorithmen, die oft sehr passend sind für hoch-dimensionale Datensätze. Sie sind schnell und haben wenige Hyperparameter –> gut als quick and dirty baseline für Klassifizierung.
Warum ist Naive Bayes naiv?
Naive Bayes (NB) is ‘naive’ because it makes the assumption that features of a measurement are independent of each other. This is naive because it is (almost) never true. Here is why NB works anyway.
NB is a very intuitive classification algorithm. It asks the question, “Given these features, does this measurement belong to class A or B?”, and answers it by taking the proportion of all previous measurements with the same features belonging to class A multiplied by the proportion of all measurements in class A. If this number is bigger then the corresponding calculation for class B then we say the measurement belongs in class A. Simple, right?
Wie könnte ich einen solchen Plot erstellen?
from sklearn.datasets import make_blobs
X, y = make_blobs(100, 2, centers=2, random_state=2, cluster_std=1.5)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap=’RdBu’);
Wie könnte ich eine solche Grafik erzeugen?
from sklearn.datasets.samples_generator import make_blobs
X, y = make_blobs(n_samples=50, centers=2,
random_state=0, cluster_std=0.60)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap=’autumn’);
Wie kann ich einen SVC trainieren?
from sklearn.svm import SVC # “Support vector classifier”
model = SVC(kernel=’linear’, C=1E10)
model.fit(X, y)