scikit实现机器学习常用模型

 使用scikit库实现了几种常见的机器学习分类算法。

1.线性模型

import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model
x = np.linspace(-3,3,30);
y = 2 * x + 1
plt.scatter(x,y)
plt.show()

X = x + np.random.rand(30)
print("X",len(X))
print("Y",len(y))
plt.scatter(X,y)
# plt.show()

model = linear_model.LinearRegression()
print("X",len(X))
print("Y",len(y))
print("type X", type(X))
x_tran = [[i] for i in X]
y_train = [[i] for i in y]
model.fit(x_tran,y_train)
print(model.coef_)
print(model.intercept_)
y_ = x*model.coef_ [0]+ model.intercept_
plt.plot(x, y_)
plt.show()

2 logistic回归

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
print("X",X)
print("X len", len(X))
print("y",y)
print("y len",len(y))
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = LogisticRegression().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))

3 KNN分类算法

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = KNeighborsClassifier().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))

4 朴素贝叶斯算法

from sklearn.naive_bayes import MultinomialNB
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = MultinomialNB().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))

5 决策树分类算法

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = DecisionTreeClassifier().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))

6支持向量机

from sklearn.svm import SVC
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = SVC().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))
print(clf.kernel)

7  Kmeans聚类算法

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
n_samples = 1500
X,y =  make_blobs(n_samples = n_samples)
plt.scatter(X[:,0],X[:,1],c=y)
plt.show()

y_pred = KMeans(n_clusters = 3).fit_predict(X)
plt.scatter(X[:,0],X[:,1],c=y_pred)
plt.show()


8 神经网络分类算法

from sklearn.neural_network import MLPClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = MLPClassifier().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.score(X_test,y_test))

9 随机森林分类算法

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
X,y = load_iris(return_X_y = True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
clf = RandomForestClassifier().fit(X_train,y_train)
print(clf.predict(X_test))
print(clf.estimators_)
print(clf.score(X_test,y_test))

猜你喜欢

转载自blog.csdn.net/u012410628/article/details/107893000