sklearn主成分分析进行数据降维后使用其他算法python案例
时间: 2024-11-30 16:28:36 浏览: 17
在Python中,scikit-learn库(sklearn)提供了一个强大的工具——主成分分析(PCA),用于数据降维。PCA通过线性变换将原始特征转换到新的坐标系中,保留大部分数据变异信息,同时减少维度,常用于预处理高维数据。以下是一个简单的例子,展示了如何先用PCA对数据进行降维,然后用支持向量机(SVM)或其他分类算法进行预测:
```python
# 导入所需库
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
import pandas as pd
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 数据预处理 - 标准化数值特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 主成分分析
pca = PCA(n_components=2) # 选择两个主成分
X_pca = pca.fit_transform(X_scaled)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_pca, y, test_size=0.2, random_state=42)
# 使用SVM作为分类器
clf = SVC(kernel='linear') # 或者你可以尝试其他的核函数
clf.fit(X_train, y_train)
# 预测并评估模型
predictions = clf.predict(X_test)
print("Model accuracy:", clf.score(X_test, y_test))
#
阅读全文