scikit-learn中的standardscaler(均值方差归一化)

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler


data = datasets.load_iris()
data.keys()
data_x = data.data
data_y = data.target
xtrain,xtest,ytrain,ytest = train_test_split(data_x,data_y,test_size=0.2)

standard_scale = StandardScaler()
standard_scale.fit(xtrain)
standard_scale.mean_
standard_scale.scale_

xtrain = standard_scale.transform(xtrain)
xtest = standard_scale.transform(xtest)


from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
knn.fit(xtrain,ytrain)
knn.score(xtest,ytest)


#手动实现一个简单的standardscale函数
class Standardscale:
    def __init__(self):
        self.mean_ = None
        self.scale_ = None
    
    def fit(self,x):
        self.mean_ = np.array([np.mean(x[:,i]) for i in range(x.shape[1])])
        self.scale_ = np.array([np.std(x[:,i]) for i in range(x.shape[1])])
        
    def transform(self,x):
        assert self.mean_ is not None and self.scale_ is not None,'error'
        assert x.shape[1] == len(self.mean_)
        res = np.empty(shape=x.shape,dtype = 'float')
        for col in x.shape[1]:
            x[:,col] = (x[:,col] - self.mean_[col])/self.scale_[col]
        
        return res
### 回答1: Scikit-learn支持以下机器学习算法: 1. 分类:KNN、决策树、随机森林、逻辑回归、SVM、Naive Bayes 2. 回归:线性回归、岭回归、决策树回归、随机森林回归 3. 聚类:K-Means、层次聚类、DBSCAN 4. 降维:PCA、LDA、t-SNE 5. 模型选择:网格搜索、交叉验证 这只是Scikit-learn支持的一部分算法,它还支持其他许多算法。 ### 回答2: Scikit-learn是一个广泛使用的机器学习库,支持多种机器学习算法。下面列举了一些常见的scikitlearn支持的机器学习算法: 1. 监督学习算法: - 线性回归 (Linear Regression) - 逻辑回归 (Logistic Regression) - 决策树 (Decision Tree) - 支持向量机 (SVM) - 随机森林 (Random Forest) - K近邻 (K-Nearest Neighbors) - 神经网络 (Neural Networks) - AdaBoost 2. 无监督学习算法: - 聚类算法 (Clustering) - k-均值 (K-Means) - 层次聚类 (Hierarchical Clustering) - DBSCAN - 主成分分析 (PCA) - 独立成分分析 (ICA) - 奇异值分解 (SVD) - 受限玻尔兹曼机 (Restricted Boltzmann Machines) 3. 特征选择和特征提取算法: - 方差阈值 (Variance Threshold) - 递归特征消除 (Recursive Feature Elimination) - 主成分分析 (PCA) - 线性判别分析 (LDA) 4. 数据预处理和模型评估算法: - 特征缩放 (Feature Scaling) - 特征归一化 (Feature Normalization) - 交叉验证 (Cross Validation) - 网格搜索 (Grid Search) - 过拟合检查 (Overfitting Checking) 以上是scikit-learn库支持的一些常见机器学习算法。在实际应用,根据具体的问题和数据特征,我们可以选择合适的算法进行建模和预测。 ### 回答3: scikit-learn是一个流行的机器学习库,支持多种机器学习算法的实现和应用。以下是scikit-learn支持的一些主要机器学习算法: 1. 非监督学习算法:包括聚类算法(如K均值、层次聚类)、降维算法(如主成分分析、因子分析)和异常检测算法(如局部离群点因子)等。 2. 监督学习算法: - 线性模型:例如线性回归、逻辑回归、线性判别分析; - 决策树:例如分类和回归树(CART); - 支持向量机(SVM):可以用于分类和回归任务; - 朴素贝叶斯:例如高斯朴素贝叶斯、多项式朴素贝叶斯; - K近邻(KNN):根据最近邻的标签进行分类或回归; - 随机森林:一种集成学习算法,通过组合多个决策树来进行分类或回归; - 梯度提升(GBM):通过迭代地训练弱分类器来构建强分类器。 3. 模型选择和评估工具:scikit-learn提供了用于模型选择和评估的各种工具,例如交叉验证、网格搜索和性能评估指标等。 需要注意的是,以上只是一些主要的机器学习算法,scikit-learn还提供了更多的算法和功能,广泛应用于数据处理、特征选择、模型优化等领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值