数据规范化

1) 归一化(min-max)

2) 标准化(z-score)

 

import logging
from io import StringIO

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler, MinMaxScaler

"""
- 学习数据归一化, 标准化;
- 作散点图.
"""

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

data = '''
length,weight
169,70
180,92
175,82
169,100
175,69
120,54
'''

test_data = pd.read_csv(StringIO(data))
arr = np.array(test_data, np.float64)

logger.info("data:\n%s", arr)

nor1 = StandardScaler()
r1 = nor1.fit_transform(arr)
logger.info("standardScaler:\n%s", r1)

nor2 = MinMaxScaler()
r2 = nor2.fit_transform(arr)
logger.info("minMaxScaler:\n%s", r2)

# 画布的大小为长8cm高6cm
# plt.figure(figsize=(8, 6))
# 画图吧,s表示点点的大小,c就是color嘛,marker就是点点的形状哦o,x,*><^,都可以啦
# alpha,点点的亮度,label,标签啦
plt.scatter(arr[:, 0], arr[:, 1], s=30, c='red', marker='o', alpha=0.5, label='T1')
plt.scatter(r1[:, 0], r1[:, 1], s=30, c='blue', marker='x', alpha=0.5, label='T2')
plt.scatter(r2[:, 0], r2[:, 1], s=30, c='gray', marker='+', alpha=0.5, label='T3')

# 下面三行代码很简单啦
plt.title('basic scatter plot ')
plt.xlabel('variables x')
plt.ylabel('variables y')

plt.legend(loc='upper right')  # 这个必须有,没有你试试看

plt.show()  # 这个可以没有

思考: tf-idf 与上述规范化方法的区别

参考

[1] https://blog.csdn.net/zxd1754771465/article/details/73558103

[2] python机器学习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值