Sklearn中的机器学习模型的使用demo

支持向量机(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的学习网站,介绍的较为全面!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
机器学习是一种利用计算机算法从数据学习和预测模式的技术。Python是一个流行的编程语言,可以用于实现各种机器学习算法。下面是一些关于机器学习sklearn的常见算法的知识点。 1. 监督学习算法:包括线性回归、逻辑回归、支持向量机、决策树、随机森林等。这些算法适用于有标签的数据,可以用于分类和回归问题。 2. 无监督学习算法:包括聚类算法(如K均值、层次聚类、DBSCAN)和降维算法(如主成分分析、因子分析)。这些算法适用于没有标签的数据,可以进行数据的聚类和降维。 3. 模型选择和评估:使用交叉验证来选择最佳模型使用评估指标如准确率、精确率、召回率和F1分数来评估模型的性能。 4. 特征选择和提取:使用特征选择方法来选择最重要的特征,使用特征提取方法如主成分分析来降低数据的维度。 5. 集成学习:包括Bagging、Boosting和随机森林等方法来提高模型的性能。 6. 深度学习:使用神经网络来解决复杂的问题,如卷积神经网络用于图像分类,循环神经网络用于序列数据。 7. 数据预处理:包括缺失值处理、特征缩放、数据平衡等方法,以保证数据的质量和一致性。 8. 模型调优:使用网格搜索和随机搜索来寻找模型的最佳参数组合。 9. 模型解释:使用特征重要性、决策路径等方法来解释模型的预测结果。 总之,机器学习是一个广泛的领域,其sklearn是一个强大的Python库,提供了丰富的工具和算法来支持各种机器学习任务。掌握这些知识点可以帮助我们更好地理解和应用机器学习算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值