part01 数据预处理
第一步:导入需要的库
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
第二步:导入数据集
.csv文件以文本形式保存表格数据
datasets = pd.read_csv('Data.csv')
X = datasets.iloc[:, :-1].values
y = datasets.iloc[:, -1].values
第三步:处理丢失数据
可以使用整列的平均值或中间值替换丢失的数据;
from sklearn.impute import SimpleImputer
X[:, 1:] = SimpleImputer(strategy='mean').fit_transform(X[:, 1:])
第四步:解析分类数据
一般如yes,no这种分类数据解析为数字;
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
X[:, 0] = LabelEncoder().fit_transform(X[:, 0])
X = np.concatenate((OneHotEncoder(sparse=False).fit_transform(X[:, 0].reshape(-1, 1)), X[:, 1:]), axis=1)
y = LabelEncoder().fit_transform(y)
第五步:将数据分为测试集和训练集
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)
part02 简单线性回归
第一步:准备数据
# 导入数据集
from sklearn.datasets import load_diabetes
from sklearn.utils import shuffle
diabetes = load_diabetes()
data, target = diabetes.data, diabetes.target
# 打乱数据集
X, y = shuffle(data, target, random_state=0)
# 以8:2划分数据集和训练集
offset = int(X.shape[0] * 0.8)
# 训练集
X_train, y_train = X[:offset, :], y[:offset]
# 测试集
X_test, y_test = X[offset:, :], y[offset:]
芜湖 同学看的是哪个视频呀?
一个github项目
https://github.com/Avik-Jain/100-Days-Of-ML-Code-Chinese-Version