2020-04-24

                                        ML

阿里天池“二手车交易案例”提供很多数据挖掘,数据分析的代码,可参考

分类:knn ,逻辑回归,决策树

回归:线性回归,神经网络,决策树

knn 中的距离其实就可以看作一种标签,当求出待分类的物体,离哪 k 个最近时,不就意味着他的标签与这 k 个物体的标签最接近么?

from sklearn import linear_model

from sklearn.preprocessing import StandardScaler    #引入缩放的包

# 归一化操作

    scaler = StandardScaler() 

    scaler.fit(X)

    x_train = scaler.transform(X)

    x_test = scaler.transform(np.array([1650,3]))

sklrarn. preprocessing 中有专门的归一化函数 scaler(),只不过在此之前需要将 X 转换成 (-1,1)或者是 (1,-1)的 ndarray

sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

normalize:默认值为True,返回正确分类的比例;如果为False,返回正确分类的样本数

import numpy as np

from sklearn.metrics import accuracy_score

y_pred = [0, 1, 0, 1]

y_true = [0, 1, 1, 1]

print('ACC:',accuracy_score(y_true, y_pred))

accuracy_score(y_true,y_pred,normalize=False)

# help(accuracy_score)

## AUC

import numpy as np

from sklearn.metrics import roc_auc_score

y_true = np.array([0, 0, 1, 1])

y_scores = np.array([0.1, 0.4, 0.35, 0.8])

print('AUC socre:',roc_auc_score(y_true, y_scores))

## Precision,Recall,F1-score

from sklearn import metrics

y_pred = [0, 1, 0, 0]

y_true = [0, 1, 0, 1]

print('Precision',metrics.precision_score(y_true, y_pred))

print('Recall',metrics.recall_score(y_true, y_pred))

print('F1-score:',metrics.f1_score(y_true, y_pred))

# coding=utf-8

import numpy as np

from sklearn import metrics

# MAPE需要自己实现

def mape(y_true, y_pred):

    return np.mean(np.abs((y_pred - y_true) / y_true))

y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])

y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])

# MSE

print('MSE:',metrics.mean_squared_error(y_true, y_pred))

# RMSE

print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred)))

# MAE

print('MAE:',metrics.mean_absolute_error(y_true, y_pred))

# MAPE

print('MAPE:',mape(y_true, y_pred))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容