机器学习 sklearn - python笔记
2020-08-17 本文已影响0人
自走炮
- 监督:数据 x 已知结果(标签 y)
- 连续标签为回归,离散标签为分类
- 训练
fit(x_train,y_train) - 预测
y_pred=predict(x_test) - 准确率
score(x_test,y_test)
- 无监督:数据 x 未知结果(标签 y)
- 训练并预测
fit_predict(x) - 训练并转换
fit_transform(x)
- 训练并预测
-
sklearn.linear_model-
LinearRegression()线性回归,即多项式拟合- 系数
coef_ - 截距
intercept_
- 系数
-
LogisticRegression(solver='lbfgs, multi_class='auto')逻辑回归,即 Sigmoid 函数拟合,二分类
-
-
sklearn.naive_bayes朴素贝叶斯概率分类- 先验概率
class_prior_ - 样本数
class_count_ - 均值
theta_ - 方差
sigma_ - 返回预测概率
predict_proba(x) - 返回增量训练
partial_fit(x, y, classes=[], sample_weight=np.array([])) -
GaussianNB()高斯朴素贝叶斯 -
MultinomialNB()多项式朴素贝叶斯,以次数为特征 -
BernoulliNB()伯努利朴素贝叶斯,以二进制或布尔为特征
- 先验概率
-
sklearn.neighbors.KNeighborsClassifier()K 近邻距离分类- 距离和下标
kneighbors(x)
- 距离和下标
-
sklearn.svm.SVC()向量机分类 -
sklearn.tree.DecisionTreeClassifier()决策树分类 -
sklearn.cluster.KMeans(n_clusters=3)K 聚类 -
sklearn.decomposition-
PCA(n_components=2)降维 -
LatentDirichletAllocation(n_topics=3, max_iter=100, random_state=1)潜在主题分配,训练词频矩阵- 主题词频
topic_word_ - 内容词频矩阵(主题数 x 关键词数)
components_ - 困惑度
perplexity(x)
- 主题词频
-
-
sklearn.feature_extraction.text特征提取文字,训练分词转换为词频矩阵- 特征词表
get_feature_names() -
CountVectorizer()计数向量化,统计特征词个数 -
TfidfVectorizer(strip_accents='unicode', max_features=100, stop_words=[], max_df=.99, min_df=.01)TF-IDF 向量化,统计特征词概率 -
TfidfTransformer()TF-IDE 值,训练计数词频转换为概率词频
- 特征词表
-
sklearn.model_selection(estimator=lr, cv=4, random_state=1, train_size=.8)模型选择- 最佳模型
best_estimator_ - 最佳参数
best_params_ - 最佳评分
best_score_ - 训练记录
cv_results_ - 训练
fit(x, y) -
GridSearchCV(param_grid={weights:[]})网格搜索 -
RandomizedSearchCV(param_distributions={weights:[]}, n_iter=3)随机搜索 -
learning_curve()学习曲线,检查拟合情况 -
validation_curve()验证曲线,检查模型情况 -
train_test_split(x, y)随机划分,返回 x 训练 x 测试 y 训练 y 测试 4 个数组 -
StratifiedShuffleSplit(n_splits=3)分层洗牌划分- 划分下标
split(x, y)
- 划分下标
- 最佳模型
-
sklearn.pipeline.Pipeline([('sc',StandardScaler()), ('pca',PCA(n_components=2)), ('clf',LogisticRegression())])管线 -
sklearn.preprocessing-
StandardScaler()标准化,缩放到标准正态分布 -
Normalizer()归一化,缩放到 01 区间 -
Binarizer(threshold=2)二值化 -
LabelBinarizer()标签二进制编码,文字二进制化 -
LabelEncoder()标签编码,文字数值化 -
OneHotEncoder(sparse=False)独热编码,数值二进制化 -
Imputer(missing_values='NaN', strategy='mean')缺失值 -
PolynomialFeatures(degree=2)多项式计算
-
-
sklearn.cross_validation.cross_val_score(x, y, lr, cv=4)交叉验证 -
sklearn.metrics(y_test, y_pred)-
mean_absolute_error()方差,测回归 -
mean_squared_error()标准差,测回归 -
r2_score()R 评分,测回归,趋于 1 好趋于 0 差 -
accuracy_score()准确率,测分类 -
classification_report()分类统计,测分类 -
confusion_matrix()混淆矩阵,测分类 -
adjusted_rand_score()调整系数,测聚类,趋于 1 好趋于-1 差 -
homogeneity_score()同质性,测聚类,单样本群集概率,相反完整性单群集概率 -
v_measure_score()V 评分,测聚类,同质性与完整性的均值
-