第一天,六个步骤。
1.导入两个常用的数据库numpy和pandas。
- numpy是一个包含数学方程的数据库 mathematical function
- pandas是用来导入和处理数据集的数据库 import and manage the data sets
2.导入数据集。 数据集一般都是.csv格式
用pandas的read_csv()来读取本地的CSV格式数据集,读取成dataframe格式。然后把矩阵和向量分成独立或非独立的变量。
3.处理丢失的数据。
可以用整个数据集的平均值或者中位数。
用sklearn.preprocessing的Imputer类来处理这个问题
4.编码这个经过处理的明确的数据
categorical data是包含标签值,而不是numeric值。类似yes或者no,因此我们需要把这些变量变成数据numbers。因此我们需要用sklearn.preporcessing的LabelEncoder类来处理这个问题。
5.把数据集分成测试集和数据集
制造两个部分的数据集,一个用来训练模型叫做训练集,一个用来测试被训练集和的表现叫做测试集。训练集和测试集的比例一般为80/20.
可以通过sklearn.crossvalidation 的train_test_split()来处理。
6.特征缩放。feature scaling。大多数机器学习算法在计算中使用两个数据点之间的欧拉距离,特征在围堵、单位等方面的差异而有很大波动,这个时候就需要标准化数据或者Z-score均一化。
这个时候可以用sklearn.preprocessing 的StandardScalar方法。
代码:
1-import libs
import numpy as np
import pandas
from pandas import read_csv
2-importing dataset
dataset = pandas.read_csv("Data.csv")
X = dataset.iloc[:,:-1].values
Y = dataset.iloc[:,3].values
3-handling the missing data
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = "NaN",strategy = "mean",axis = 0)
imputer = imputer.fit(X[:,1:3])
X[:,1:3] = imputer.transform(X[:,1:3])
4-encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:,0] = labelencoder_X.fit_transform(X[:,0])
creating a dummy variable
onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X).toarray()
labelcoder_Y = LabelEncoder()
Y = labelcoder_Y.fit_transform(Y)
5-将数据集分为训练集和测试集
from sklearn.cross_validation import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size = 0.2,random_state = 0)
6-feature scaling特征缩放
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.fit_transform(X_test)
网友评论