sklearn
一、获取数据
1.导入数据:
from sklearn import datasets
from sklearn import datasets
iris=datasets.load_iris() #导入数据集
x=iris.data #获得特征向量
y=iris.target #获得样本lable
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)
# n_samples:指定样本数
# n_features:指定特征数
# n_classes:指定几分类
# random_state:随机种子,使得随机状可重
二、数据预处理
2.1 数据归一化(使得训练数据的标准化规则与测试数据的标准化规则同步)
from sklearn import preprocessing
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
# 1. 基于mean和std的标准化
scaler = preprocessing.StandardScaler().fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)
# 2. 将每个特征值归一化到一个固定范围
scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)).fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)
#feature_range: 定义归一化范围,注用()括起来
2.2 数据正则化(使得训练数据的标准化规则与测试数据的标准化规则同步,最终使得每个样本的范数都为1。)
>>> X = [[ 1., -1., 2.],
... [ 2., 0., 0.],
... [ 0., 1., -1.]]
>>> X_normalized = preprocessing.normalize(X, norm='l2')
>>> X_normalized
array([[ 0.40..., -0.40..., 0.81...],
[ 1. ..., 0. ..., 0. ...],
[ 0. ..., 0.70..., -0.70...]])
2.3 one-shot编码
one-hot编码是一种对离散特征值的编码方式,在LR模型中常用到,用于给线性模型增加非线性能力。
data = [[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]]
encoder = preprocessing.OneHotEncoder().fit(data)
enc.transform(data).toarray()
一、 空格
- 赋值“=”前后 各一个空格。
- 所有二元运算符都用空格与操作数分开。
- 括号内不要有空格
- 逗号,冒号,分号前不要有空格,而是后面有一个空格。
if x==88:
print x, y
x, y = y, x
- 参数列表,索引或切片的左括号前不应有空格。
dogs[“key”] = list[index]
二、 断行
- 逗号后面断开
- 运算符前断开
- 在括号中断开,尽量不要用续行符“\”。“\”可以作为续行时使用。但在大括号,中括号,小括号中续行是隐式的。
三、 数据类型
- type()函数可以返回传入数据的类型:<class”float”>
- {0} 的年龄是 {1:d} 岁。 d表示整型,f表示浮点型,指明数据类型。
print('test:{0:.3f}'.format(math.pi))
.3f 表示浮点数的精度为3(小数位保留3位)
3.{1:d} 格式化十进制数;{0:5d} 输出长度为5的字符串,不足用空格补齐
{1:.2f} 保留两位小数
{1:10.2f} 10表示总长度,包括小数点和小数部分,不足用空格补齐
- 可以用str()函数将任何类型的数字转换为字符串
>>>str(3.24)
‘3.24’
- int()和float()可以将字符串转换为数字。
>>>int(‘9’)
9
float(‘9.6’)
9.6
四、控制语句
1. for I in range(1,10) 1≤i<10
2.跳转语句:break,continue,return
2.1 break:强行退出循环体,不再执行循环体剩下语句。
for item in range (10):
if item ==3:
break #跳出循环
print(“count is : {0}”.format(item))
运行结果:
count is :0
count is :1
count is :2
2.2 continue:结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。
for item in range (5):
if item ==3:
continue
print(“count is : {0}”.format(item))
运行结果:
count is :0
count is :1
count is :2
count is :4
count is :5
四、列表
1.创建列表: