1. Speichern und laden Sie Aufrufe des svm-Modells in sklearn
(1) Essiggurke verwenden
# 模型保存
import pickle
model.fit(train_X, train_y)
s=pickle.dumps(model)
f=open('svm.model', "wb+")
f.write(s)
f.close()
# 模型加载
f2=open('svm.model','rb')
s2=f2.read()
model=pickle.loads(s2)
predicted = model.predict(test_X)
(2) Mit joblib
# 模型读取
from sklearn.externals import joblib
model.fit(train_X, train_y)
joblib.dump(model, "train1_model.m")
# 模型调用
model1 = joblib.load("train1_model.m")
expected = test_y
predicted = model1.predict(test_X)
2. So löschen Sie eine Spalte in Pandas
(1) del df['columns'] #Ändere die Originaldaten
(2) df.drop('columns',axis=1)#Delete ändert die ursprünglichen Daten der Tabelle nicht, Sie können die Daten durch Neuzuweisung zuweisen
(3) df.drop('columns',axis=1,inplace='True') #Ändere die Originaldaten
3、Name Joblib kann nicht aus sklearn.externals importiert werden
Lösung 1: Import joblib direkt verwenden
Lösung 2: Rollback der Version
Entfernen Sie die aktuelle Version von scikit-learn, pip uninstall scikit-learn
installieren Sie die alte Version von scikit-learn pip install scikit-learn==0.20.3
4, sklearn medium KFold gegeben Stratified KFold
(1) Die StratifiedKFold-Funktion übernimmt die Methode der geschichteten Teilung (Idee der geschichteten Zufallsstichprobe), und der Anteil der verschiedenen Kategorien im Verifizierungssatz stimmt mit dem Anteil der ursprünglichen Stichprobe überein, sodass StratifiedKFold bei der Erstellung das Label-Feature übergeben muss der Unternehmensbereich.
(2) Die Parameter der beiden Funktionen sind gleich
n_splits: Der Standardwert ist 3, der angibt, in wie viele Teile die Daten aufgeteilt werden sollen, d. h. k in k-facher Kreuzvalidierung;
Shuffle: Der Standardwert ist False und gibt an, ob die Bestellung gemischt werden muss. Dieser Parameter ist an vielen Funktionen beteiligt. Wenn er auf True gesetzt ist, wird die Bestellung gemischt und dann geteilt. Wenn er False ist, wird sie geteilt direkt nach Bestellung;
random_state: Der Standardwert ist None, was den Startwert der Zufallszahlen angibt, der nur wirksam wird, wenn shuffle auf True gesetzt ist.
5. Pandas löscht Zeilen, die die Bedingungen erfüllen
df_clear = df.drop(df[df['x']<0.01].index)
# 也可以使用多个条件
#删除x小于0.01或大于10的行
df_clear = df.drop(df[(df['x']<0.01) | (df['x']>10)].index)
6, Pandas Drop-Funktionsparameter
df.drop(labels=Keine, Achse=0, Index=Keine, Spalten=Keine, Ebene=Keine, Inplace=False,
Fehler='Raise')
Labels: zu löschende Spalten oder Zeilen, mehrere eingehende Listen
Achse: Achsenrichtung, 0 ist Zeile, 1 ist Spalte, Standard ist 0
Index: angegebene Zeile oder Zeilen,
Spalte: angegebene Spalte oder Zeilen Spaltenebene
: Indexebene, diese Ebene wird sein gelöscht
an Ort und Stelle: Boolescher Wert, ob er wirksam wird
Fehler: ignorieren oder auslösen, standardmäßig auslösen, wenn ignorieren, Fehler unterdrücken und nur vorhandene Tags löschen
7. Verwenden Sie Sklearn, um einen Testdatensatz zu erstellen
Die Sklearn-Bibliothek für Python bietet einen großartigen Beispiel-Dataset-Generator, mit dem Sie Ihre eigenen benutzerdefinierten Datasets erstellen können. Es ist schnell und sehr einfach zu bedienen.
(1) make_blob
from sklearn.datasets import make_blobs
from matplotlib import pyplot as plt
from matplotlib import style
style.use("fivethirtyeight")
X, y = make_blobs(n_samples = 100, centers = 3,
cluster_std = 1, n_features = 2)
plt.scatter(X[:, 0], X[:, 1], s = 40, color = 'g')
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
plt.clf()
(2) make_moon
from sklearn.datasets import make_moons
from matplotlib import pyplot as plt
from matplotlib import style
X, y = make_moons(n_samples = 1000, noise = 0.1)
plt.scatter(X[:, 0], X[:, 1], s = 40, color ='g')
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
plt.clf()
(3) make_circle
from sklearn.datasets import make_circles
from matplotlib import pyplot as plt
from matplotlib import style
style.use("fivethirtyeight")
X, y = make_circles(n_samples = 100, noise = 0.02)
plt.scatter(X[:, 0], X[:, 1], s = 40, color ='g')
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
plt.clf()