Scikitlearn(也简称为sklearn)是一个强大的Python库,用于实施各种机器学习算法。它提供了丰富的功能,包括分类、回归、聚类和降维等。以下是一些scikitlearn的机器学习应用示例:
在scikitlearn中,可以使用不同的算法来进行分类任务。例如,你可以使用支持向量机(SVM)、随机森林或K最近邻(KNN)等。下面是如何使用KNN进行分类的示例:
```python
from
sklearn.neighbors
import
KNeighborsClassifier
from
sklearn.datasets
import
load_iris
from
sklearn.model_selection
import
train_test_split
from
sklearn.metrics
import
accuracy_score
加载鸢尾花数据集
iris
=
load_iris()
X,
y
=
iris.data,
iris.target
划分数据集为训练集和测试集
X_train,
X_test,
y_train,
y_test
=
train_test_split(X,
y,
test_size=0.3,
random_state=42)
创建KNN分类器
knn
=
KNeighborsClassifier(n_neighbors=3)
训练模型
knn.fit(X_train,
y_train)
进行预测
y_pred
=
knn.predict(X_test)
评估模型准确率
accuracy
=
accuracy_score(y_test,
y_pred)
print(f'分类准确率:
{accuracy:.2f}')
```
对于回归任务,scikitlearn提供了支持向量回归机(SVR)等算法。以下是如何使用SVR进行回归的示例:
```python
from
sklearn.svm
import
SVR
from
sklearn.datasets
import
make_regression
from
sklearn.model_selection
import
train_test_split
from
sklearn.metrics
import
mean_squared_error
生成回归数据集
X,
y
=
make_regression(n_samples=100,
n_features=2,
noise=0.1)
划分数据集为训练集和测试集
X_train,
X_test,
y_train,
y_test
=
train_test_split(X,
y,
test_size=0.3,
random_state=42)
创建SVR回归器
svr
=
SVR(kernel='linear')
训练模型
svr.fit(X_train,
y_train)
进行预测
y_pred
=
svr.predict(X_test)
评估模型性能,使用均方误差(MSE)作为评价指标
mse
=
mean_squared_error(y_test,
y_pred)
print(f'回归MSE:
{mse:.2f}')
```
scikitlearn还提供了多种聚类算法,例如KMeans、DBSCAN等。以下是使用KMeans进行聚类的示例:
```python
from
sklearn.cluster
import
KMeans
from
sklearn.datasets
import
make_blobs
from
sklearn.model_selection
import
train_test_split
from
sklearn.metrics
import
silhouette_score
生成聚类数据集
X,
y
=
make_blobs(n_samples=1000,
centers=3,
cluster_std=0.5,
random_state=42)
创建KMeans聚类器
kmeans
=
KMeans(n_clusters=3,
random_state=42)
训练模型
kmeans.fit(X)
进行预测
clusters
=
kmeans.predict(X)
评估模型性能,使用轮廓系数作为评价指标
silhouette
=
silhouette_score(X,
clusters)
print(f'聚类轮廓系数:
{silhouette:.2f}')
```
以上只是scikitlearn库中众多机器学习算法的几个简单示例。该库还包括其他许多算法和功能,足以应对大多数数据科学中的机器学习需求。