青岛市崂山区建设局网站,教学网站开发代码,wordpress小工具友情链接,佛山外贸建站1.有监督学习算法
有监督学习算法推荐#xff1a; 决策树分类器 - 适合处理分类问题#xff0c;容易理解和可视化#xff1b; KNN分类器 - 对于简单的单特征分类也很有效#xff1b; 逻辑回归 (多分类) - 使用one-vs-all策略处理多类别。
有监督学习的选择#xff1a; 如…1.有监督学习算法
有监督学习算法推荐 决策树分类器 - 适合处理分类问题容易理解和可视化 KNN分类器 - 对于简单的单特征分类也很有效 逻辑回归 (多分类) - 使用one-vs-all策略处理多类别。
有监督学习的选择 如果数据分布比较简单建议使用KNN 如果需要清晰的决策边界使用决策树 如果数据呈现线性可分的特征可以使用逻辑回归。
import matplotlib.pyplot as plt
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split# 生成示例数据
X np.random.rand(100, 1) * 10 # 单特征数据
y np.where(X 2.5, 0,np.where(X 5, 1,np.where(X 7.5, 2, 3))) # 4个类别# 分割数据集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2)# 1. 决策树
dt_clf DecisionTreeClassifier()
dt_clf.fit(X_train, y_train)
dt_score dt_clf.score(X_test, y_test)# 2. KNN
knn_clf KNeighborsClassifier(n_neighbors3)
knn_clf.fit(X_train, y_train)
knn_score knn_clf.score(X_test, y_test)# 3. 逻辑回归
lr_clf LogisticRegression(multi_classovr)
lr_clf.fit(X_train, y_train)
lr_score lr_clf.score(X_test, y_test)print(f决策树准确率: {dt_score:.3f})
print(fKNN准确率: {knn_score:.3f})
print(f逻辑回归准确率: {lr_score:.3f})2. 无监督学习算法
无监督学习算法推荐 K-means聚类 - 最常用的聚类算法 DBSCAN - 基于密度的聚类。
无监督学习选择 如果类别数量已知本例中是4个推荐使用K-means 如果类别数量未知可以尝试使用DBSCAN。
from sklearn.cluster import KMeans, DBSCAN
from sklearn.metrics import silhouette_score# 使用数据为上述生成数据
# K-means聚类
kmeans KMeans(n_clusters4, random_state42)
kmeans_labels kmeans.fit_predict(X)# DBSCAN聚类
dbscan DBSCAN(eps0.5, min_samples5)
dbscan_labels dbscan.fit_predict(X)# 计算轮廓系数
kmeans_silhouette silhouette_score(X, kmeans_labels)
print(fK-means轮廓系数: {kmeans_silhouette:.3f})# 可视化结果
plt.figure(figsize(12, 4))plt.subplot(121)
plt.scatter(X, np.zeros_like(X), ckmeans_labels)
plt.title(K-means聚类结果)plt.subplot(122)
plt.scatter(X, np.zeros_like(X), cdbscan_labels)
plt.title(DBSCAN聚类结果)plt.tight_layout()
plt.show()