[关闭]
@nemos 2017-05-09T09:18:40.000000Z 字数 3318 阅读 1344

sklearn

ml


参考

image_1bfk43j781nso8oc155b1ssb5oem.png-912.8kB


快速入门

  1. from sklearn import datasets
  2. from sklearn.cross_validation import train_test_split
  3. from sklearn.neighbors import KNeighborsClassifier
  4. # 数据载入
  5. iris = datasets.load_iris()
  6. iris_X = iris.data
  7. iris_Label = iris.target
  8. # 训练集和测试集的分割
  9. X_train, X_test, label_train, label_test = train_test_split(
  10. iris_X, iris_Label,
  11. test_size=0.3) # 测试集比例
  12. # 初始化模型
  13. knn = KNeighborsClassifier()
  14. # 模型训练
  15. knn.fit(X_train, label_train)
  16. # 模型预测
  17. y_test = knn.predict(X_test)
  18. # 模型评估
  19. knn.score(x_test, y_test)

详细说明

特征工程

预处理

sklearn.preprcessing

抽取

sklearn.feature_extraction

选择

sklearn.feature_selection

降维

sklearn.decomposition


集成

sklearn.ensemble


评估

sklearn.metrics

分数

曲线

学习曲线,样本集由小变大时模型的评估。

  1. from sklearn.learning_curve import learning_curve
  2. train_sizes, train_loss, test_loss = learning_curve(
  3. model, X, label,
  4. cv=10, scoring='mean_squared_error',
  5. train_sizes=[0.1, 0.25, 0.5, 0.75, 1]) # 每一轮样本占总样本的百分比。

模型曲线

  1. from sklearn.learning_curve import validation_curve
  2. # 参数测试集
  3. param_range = np.logspace(-6, -2.3, 5)
  4. train_loss, test_loss = validation_curve(
  5. Model(), X, y,
  6. param_name='gamma', # 指定参数名
  7. param_range=param_range, # 指定参数取值范围个步长
  8. cv=10, scoring='mean_squared_error')

交叉验证

sklearn.cross_validation


参数搜索

sklearn.grid_search

通过best_estimator_.get_params()方法,获取最佳参数。


数据集

可用数据集参考

  1. # 数据导入
  2. loaded_data = datasets.load_boston()
  3. data_X = loaded_data.data
  4. data_label = loaded_data.target
  5. # 数据生成
  6. X, label = datasets.make_regression(
  7. n_samples=100, # 样本数
  8. n_features=1, # 特征数
  9. n_targets=1, # label数
  10. noise=10)

生产配置

  1. from sklearn import svm
  2. from sklearn import datasets
  3. clf = svm.SVC()
  4. iris = datasets.load_iris()
  5. X, y = iris.data, iris.target
  6. clf.fit(X,y)
  7. from sklearn.externals import joblib #jbolib模块
  8. #保存Model(注:save文件夹要预先建立,否则会报错)
  9. joblib.dump(clf, 'save/clf.pkl')
  10. #读取Model
  11. clf3 = joblib.load('save/clf.pkl')

引用

Scikit-learn使用总结


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注