跟着大佬学习一下机器学习100-Days-Of-ML。虽然说是学习,但是目前只是把代码抄一遍走一次流程而已。
Day 1 数据预处理
需要安装三个依赖的包
pip install numpy
pip install pandas
pip install scikit-learn
可以在安装时使用清华源提高下载速度,例如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn
问题还是有的,就是sklearn已经更新,有些地方已经不像以前那样写了。(逐步更新)
import numpy as np
import pandas as pd
# 导入
dataset = pd.read_csv("Data.csv")
# print(dataset)
X = dataset.iloc[ : , :-1].values
Y = dataset.iloc[ : , 3].values
print(X)
sklearn处理丢失数据可以选择使用平均值来填充的方法
# 处理丢失数据
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.NAN, strategy="mean", fill_value=None, verbose=0, copy=True)
imputer = imputer.fit(X[ : , 1:3])
X[ : , 1:3] = imputer.transform(X[ : , 1:3])
print(X)
分类数据,这里其实是对第一列中相同的进行分类
# 解析分类数据
from sklearn.preprocessing import LabelEncoder
labelencoder_X = LabelEncoder()
X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0])
print(X)
# 创建虚拟变量
from sklearn.preprocessing import OneHotEncoder
onehotencoder = OneHotEncoder(categories="auto")
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)
print(X)
# 拆分数据集为训练集合和测试集合
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X , Y , test_size=0.2, random_state=0)
# 特征量化
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
print(X_test)
还是需要慢慢消化。
上篇画个散点图