sklearn 数据载入+数据预处理

1.数据载入

from sklearn import datasetsiris = datasets.load_iris()

2.数据集划分【原来sklearn本身已经实现了,之前做交叉验证对比试验却忘记用了。。。】

from sklearn.cross_validation import train_test_split   #注:后期版本 from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

3.数据标准化处理

from sklearn.preprocessing import StandardScaler#数据标准化sc=StandardScaler()  sc.fit(X_train)                                      #通过训练集计算均值和方差X_train_std=sc.transform(X_train)X_test_std=sc.transform(X_test)        #测试集使用和训练集相同的均值和方差

sklearn里面的很多算法都已经支持多分类器,但是需要默认设置分类器方法为One-Vs-Rest(OvR)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您解答这个问题。 首先,我们需要了解一下sklearn是什么。sklearn是一个开源的Python机器学习库,提供了多种机器学习算法和工具,可以帮助我们完成从数据预处理到模型训练再到模型评估的整个过程。 以下是使用sklearn函数实现一个分类算法的步骤及注释: 1. 数据导入和预处理 ```python from sklearn.datasets import load_iris # 导入鸢尾花数据集 from sklearn.model_selection import train_test_split # 导入数据集划分函数 from sklearn.preprocessing import StandardScaler # 导入数据标准化函数 # 载入数据集 iris = load_iris() # 划分数据集 X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=0) # 数据标准化 sc = StandardScaler() X_train = sc.fit_transform(X_train) X_test = sc.transform(X_test) ``` 这里我们使用sklearn内置的鸢尾花数据集作为例子,将数据集按7:3的比例划分为训练集和测试集,并对数据进行标准化处理。 2. 模型建立 ```python from sklearn.svm import SVC # 导入支持向量机分类器 # 建立模型 classifier = SVC(kernel='linear', random_state=0) ``` 这里我们选择了支持向量机分类器作为我们的模型,使用线性核函数,并设置随机种子。 3. 模型训练 ```python # 训练模型 classifier.fit(X_train, y_train) ``` 使用训练集来训练模型。 4. 模型测试 ```python # 预测测试集结果 y_pred = classifier.predict(X_test) # 评估模型 from sklearn.metrics import confusion_matrix, accuracy_score cm = confusion_matrix(y_test, y_pred) print(cm) print('Accuracy: ', accuracy_score(y_test, y_pred)) ``` 使用测试集来测试模型,并且使用混淆矩阵和准确率来评估模型的表现。 5. 模型调整 ```python # 使用网格搜索调整超参数 from sklearn.model_selection import GridSearchCV parameters = [{'C': [1, 10, 100, 1000], 'kernel': ['linear']}, {'C': [1, 10, 100, 1000], 'kernel': ['rbf'], 'gamma': [0.1, 0.2, 0.3, 0.4]}] grid_search = GridSearchCV(estimator=classifier, param_grid=parameters, scoring='accuracy', cv=10, n_jobs=-1) grid_search.fit(X_train, y_train) best_accuracy = grid_search.best_score_ best_parameters = grid_search.best_params_ print('Best Accuracy: ', best_accuracy) print('Best Parameters: ', best_parameters) ``` 使用网格搜索来调整模型的超参数,以获取更好的性能表现。 6. 数据可视化 ```python # 可视化训练集结果 from matplotlib.colors import ListedColormap import matplotlib.pyplot as plt import numpy as np X_set, y_set = X_train, y_train X1, X2 = np.meshgrid(np.arange(start=X_set[:, 0].min() - 1, stop=X_set[:, 0].max() + 1, step=0.01), np.arange(start=X_set[:, 1].min() - 1, stop=X_set[:, 1].max() + 1, step=0.01)) plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape), alpha=0.75, cmap=ListedColormap(('red', 'green', 'blue'))) plt.xlim(X1.min(), X1.max()) plt.ylim(X2.min(), X2.max()) for i, j in enumerate(np.unique(y_set)): plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c=ListedColormap(('red', 'green', 'blue'))(i), label=j) plt.title('SVM (Training set)') plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.legend() plt.show() ``` 使用matplotlib库来可视化模型在训练集上的分类结果。 以上就是使用sklearn函数实现一个分类算法的步骤及注释,希望对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值