將數據划分為訓練集和測試集;縮放特征區間


導入葡萄酒數據:

 1 import numpy as np
 2 import pandas as pd
 3 
 4 df_wine = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data", header=None)
 5 df_wine.columns = ["class label", "alcohol",
 6                    "malic acid", "ash",
 7                    "alcalinity of ash", "magnesium",
 8                    "total phenols", "flavanoids",
 9                    "nonflavaniod phenols", "proanthocyanins",
10                    "color intensity", "hue",
11                    "OD280/OD315 of diluted wines", "proline"]
12 # 查看類標
13 print("class label:", np.unique(df_wine["class label"]))
14 print(df_wine.head())

運行結果:

 

划分訓練集和測試集:

   我們可以使用 sklearn.model_selection 中的 train_test_split 划分數據,test_size用來設置測試數據的比例,random_state用來

設置隨機數是否保持一致。

1 from sklearn.model_selection import train_test_split
2 # import warnings
3 # warnings.filterwarnings('ignore')
4 x, y = df_wine.iloc[:, 1:].values, df_wine.iloc[:, 0].values
5 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=0)

  這里如果你用的是 sklearn.cross_validation 的 train_test_split ,那么代碼是會報警告的,由於版本的更新,推薦使用上面的代碼。

 

特征縮放:

  特征縮放我們可以采用歸一化和標准化兩者方法

 1 # 特征縮放:歸一化
 2 from sklearn.preprocessing import MinMaxScaler
 3 mms = MinMaxScaler()
 4 x_train_norm = mms.fit_transform(x_train)
 5 x_test_norm = mms.transform(x_test)
 6 print(x_test_norm, "\n")
 7 
 8 # 特征縮放:標准化
 9 from sklearn.preprocessing import StandardScaler
10 stdsc = StandardScaler()
11 x_train_std = stdsc.fit_transform(x_train)
12 x_test_std = stdsc.transform(x_test)
13 print(x_test_std)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM