ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

机器学习库scikit-learn学习

2019-10-18 15:02:17  阅读:258  来源: 互联网

标签:digits datasets make scikit 学习 learn import model sklearn


一、获取数据

from sklearn import datasets
1.sklean自带数据集
鸢尾花
from sklearn import datasets
datasets.load_iris()
手写数字
from sklearn.datasets import load_digits
digits = load_digits()
print(digits.data.shape)
print(digits.target.shape)
print(digits.images.shape)
2.创建数据集
生成随机数据
from sklearn.datasets.samples_generator import make_classification
X, y = make_classification(n_samples=6, n_features=5, n_informative=2,
n_redundant=2, n_classes=2, n_clusters_per_class=2, scale=1.0,
random_state=20)

用sklearn.datasets.make_blobs来生成类别数据
scikit中的make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量,中心点数量,范围等来生成几类数据,这些数据可用于测试聚类算法的效果。
sklearn.datasets.make_blobs(n_samples=100, n_features=2, centers=3,cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True,random_state=None)[source]

用sklearn.datasets.make_circles和make_moons来生成圆形\月形数据
sklearn.datasets.make_circles(n_samples=100, shuffle=True, noise=None,random_state=None, factor=0.8)
x1,y1=make_circles(n_samples=1000,factor=0.5,noise=0.1)

二、数据预处理

from sklearn import preprocessing
几大方法:fit transform fit_transform

StandardScaler 平均变为0 标准差变为1
最小-最大规范化 MinMaxScaler 变换到[0,1]区间
正则化 X_normalized = preprocessing.normalize(X, norm='l2')
one-hot编码\类别特征编码 OneHotEncoder 可以转换特征、类标,处理类标时要输入二维数组,r.fit_transform(np.array(a).reshape(-1,1)).toarray()
特征二值化 Binarizer(threshold=1.1)
标签编码 LabelEncoder 转为整数
LabelBinarizer 转为one-hot独热

三、数据集拆分

from sklearn.model_selection import train_test_split
(X_train, X_test,y_train,y_test) = train_test_split(X, y, test_size=0.25, random_state=0,shuffle=True)

k折交叉验证:
from sklearn.model_selection import cross_val_score

四、导入模型:

线性回归
from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept=True, normalize=False,copy_X=True, n_jobs=1)
逻辑回归LR
from sklearn.linear_model import LogisticRegression
朴素贝叶斯算法NB(Naive Bayes)
from sklearn import naive_bayes
决策树DT
from sklearn.tree import DecisionTreeClassifier
支持向量机SVM
from sklearn.svm import SVC
k近邻算法KNN
from sklearn import neighbors

五、模型评估

检验曲线
from sklearn.model_selection import validation_curve

from sklearn.metrics import confusion_matrix

六、保存模型:

from sklearn.externals import joblib
joblib.dump(model, 'model.pickle')
model = joblib.load('model.pickle')

标签:digits,datasets,make,scikit,学习,learn,import,model,sklearn
来源: https://www.cnblogs.com/czlong/p/11698282.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有