支持向量机(SVM)分类:

from sklearn.svm import SVC

# 构建并训练模型
模型 = SVC().fit(X_train, y_train)

# 预测
预测 = 模型.predict(X_test) 

# 评估
from sklearn.metrics import classification_report 
print(classification_report(y_test,预测))

K Means聚类:

from sklearn.cluster import KMeans

# 进行KMeans聚类
kmeans = KMeans(n_clusters=5, random_state=0).fit(X)

# 预测簇结果  
预测簇 = kmeans.predict(X)

# 可视化结果
import matplotlib.pyplot as plt
plt.scatter(X[:,0], X[:,1], c=预测簇, s=50, cmap='viridis')

PCA降维:

from sklearn.decomposition import PCA

# PCA降维
pca = PCA(n_components=2).fit_transform(X) 

# 可视化结果
plt.scatter(pca[:,0], pca[:,1], c=y) 

逻辑回归分类:

from sklearn.linear_model import LogisticRegression

# 拆分数据
X_train, X_test, y_train, y_test = train_test_split(X, y) 

# 训练模型
模型 = LogisticRegression().fit(X_train, y_train)

# 预测
预测 = 模型.predict(X_test) 

# 评估
from sklearn.metrics import classification_report
print(classification_report(y_test, 预测))

随机森林分类/回归:

from sklearn.ensemble import RandomForestClassifier 

# 构建模型
模型 = RandomForestClassifier(n_estimators=100).fit(X_train, y_train)

# 预测 
预测 = 模型.predict(X_test)

# 评估
from sklearn.metrics import r2_score
print("R2 Score: ", r2_score(y_test,预测)) 

kNN回归:

from sklearn.neighbors import KNeighborsRegressor

# 构建模型
模型 = KNeighborsRegressor(n_neighbors=3).fit(X_train, y_train)

# 预测
预测 = 模型.predict(X_test) 

# 评估 
from sklearn.metrics import mean_squared_error
print("MSE:", mean_squared_error(y_test,预测))

使用神经网络进行回归预测:

from sklearn.neural_network import MLPRegressor

NN模型 = MLPRegressor().fit(X_train, y_train)

预测值 = NN模型.predict(X_test)

from sklearn.metrics import mean_squared_error
print("NN回归MSE误差:", mean_squared_error(y_test, 预测值))

使用梯度提升树进行分类:

from sklearn.ensemble import GradientBoostingClassifier

gbc模型 = GradientBoostingClassifier().fit(X_train, y_train) 

预测类 = gbc模型.predict(X_test)

from sklearn.metrics import classification_report
print(classification_report(y_test,预测类))

使用t-SNE进行降维:

from sklearn.manifold import TSNE

X_tsne = TSNE(n_components=2).fit_transform(X)

plt.scatter(X_tsne[:,0], X_tsne[:,1], c=y)

Sklearn支持pandas和numpy作为训练数据集的类型。

采用pandas和numpy格式的数据集有以下优点:

  • Pandas DataFrame和Series可以很方便地表示和操作表格式数据。

  • Numpy数组是机器学习算法内部直接处理的数据类型,效率高。

具体来说:

  1. 对于二元/多元分类问题,可以用pandas中的DataFrame,其中一列作为标签(y),其他作为特征(X)。

  2. 对于回归问题,标签作为DataFrame的一列或Numpy数组,特征也同样表示。

  3. 对于无监督学习如聚类,仅需要数据集的特征部分,可以直接用Numpy数组。

  4. 通过调用模型的fit方法,Sklearn会自动识别X和y为numpy格式,训练模型。

import pandas as pd
from sklearn.linear_model import LogisticRegression

df = pd.DataFrame(data) 
X = df[[‘feature1’, ‘feature2’]]  
y = df['target']

logmodel = LogisticRegression().fit(X, y)



Examples — scikit-learn 1.3.1 documentation

Python机器学习笔记:sklearn库的学习 - 战争热诚 - 博客园 (cnblogs.com)

俩个Sklearn的学习网站,介绍的较为全面!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐