使用scikit-learn構建模型實訓(wine數(shù)據(jù)集明吩、wine_quality數(shù)據(jù))
- 任務:
- 實訓1 使用 sklearn處理wine和wine_quality數(shù)據(jù)集
- 實訓2 構建基于wine數(shù)據(jù)集的k- Means聚類模型
- 實訓3 構建基于wine數(shù)據(jù)集的分類模型
- 實訓4 構建基于wine_quality數(shù)據(jù)集的回歸模型
說明
wine數(shù)據(jù)集包含來自3種不同起源的葡萄酒的共178條記錄沃斤。13個屬性是葡萄酒的13種化學成分。通過化學分析可以來推斷葡萄酒的起源谚鄙。所有屬性變量都是連續(xù)變量。
wine_quality數(shù)據(jù)集共有4898個觀測值疚鲤,11個輸入特征和一個標簽啸如。其中,不同類的觀測值數(shù)量不等成翩,所有特征為連續(xù)型數(shù)據(jù)觅捆。通過酒的各種化學成分,預測該葡萄酒的評分麻敌。
實訓1 使用 sklearn處理wine和wine_quality數(shù)據(jù)集
1.訓練要點
- 掌握 sklearn轉換器的用法栅炒。
- 掌握訓練集、測試集劃分的方法。
- 掌握使用sklearn進行PCA降維的方法赢赊。
2.實現(xiàn)思路及步驟
- 使用pandas庫 winquality數(shù)據(jù)集乙漓,sklearn庫讀取wine數(shù)據(jù)集
- 將wine數(shù)據(jù)集和winequality數(shù)據(jù)集的數(shù)據(jù)和標簽拆分開(提取)。
- 將winequality數(shù)據(jù)集劃分為訓練集和測試集释移。
- 標準化wine數(shù)據(jù)集和 wine quality數(shù)據(jù)集
- 對wine數(shù)據(jù)集和 winequality數(shù)據(jù)集進行PCA降維叭披。
提示:
- winequality數(shù)據(jù)集是csv格式文檔,在文件中是以”玩讳;”為間隔的涩蜘,所以要利用pandas.read_csv()讀取,間隔讀入的方式‘sep = ';' 獲取其數(shù)據(jù)熏纯。讀取后數(shù)據(jù)都以DataFrame的類型保留同诫,使用iloc等切片操作提取所需數(shù)據(jù)。
- wine是庫內置數(shù)據(jù)樟澜,已經區(qū)分數(shù)據(jù)與標簽误窖。
- from sklearn.model_selection import train_test_split,該train_test_split()函數(shù)將數(shù)據(jù)集劃分為訓練集和測試集兩部分秩贰,參數(shù)test_size=0.2代表著測試集在總數(shù)中的占比贩猎,通過計算wine_data總共178條記錄,wine_data_test有36條萍膛,占0.20224171(20%),參數(shù)random_state=100吭服,表示隨機種子編號,方便測試時得到相同隨機結果蝗罗。
- from sklearn.preprocessing import StandardScaler并生成標準化規(guī)則(先實例化一個對象)艇棕;對訓練集標準化;用訓練集建立的模型對測試集標準化串塑。transform函數(shù)緊接著將定義好的規(guī)則應用對傳入的特征進行對應轉換沼琉。
- from sklearn.decomposition import PCA,并設置PCA(n_components=5)的參數(shù)n_components表示將原始數(shù)據(jù)降低到n個維度桩匪。
實訓2 構建基于wine數(shù)據(jù)集的k- Means聚類模型
1.訓練要點
- 了解sklearn估計器的用法打瘪。
- 掌握聚類模型的構建方法。
- 掌握聚類模型的評價方法傻昙。
2.需求說明
wine數(shù)據(jù)集的葡萄酒總共分為3種,通過將wine數(shù)據(jù)集的數(shù)據(jù)進行聚類,聚集為3 個簇,能夠實現(xiàn)葡萄酒的類別劃分闺骚。
3.實現(xiàn)思路及步驟
- 根據(jù)實訓1的wine數(shù)據(jù)集處理的結果,構建聚類數(shù)目為3的KMeans模型。
- 在聚類數(shù)目為2~10類時,確定最優(yōu)聚類數(shù)目妆档。
- 求取 Calinski-Harabaz-score指數(shù),確定最優(yōu)聚類數(shù)目僻爽。
實訓3 構建基于wine數(shù)據(jù)集的SVM分類模型
1.訓練要點
掌握sklearn估計器的用法。
掌握分類模型的構建方法贾惦。
掌握分類模型的評價方法胸梆。
2.需求說明
wine數(shù)據(jù)集中的葡萄酒類別為3種,將wie數(shù)據(jù)集劃分為訓練集和測試集,使用訓練集訓練SVM分類模型,并使用訓練完成的模型預測測試集的葡萄酒類別歸屬敦捧。
3.實現(xiàn)思路及步驟
- 讀取wine數(shù)據(jù)集,區(qū)分標簽和數(shù)據(jù)。
- 將wine數(shù)據(jù)集劃分為訓練集和測試集
- 使用離差標準化方法標準化wine數(shù)據(jù)集碰镜。
- 構建SVM模型,并預測測試集結果兢卵。
- 打印出分類報告,評價分類模型性能。
提示:
- from sklearn.preprocessing import MinMaxScaler 離差標準化方法
- from sklearn.svm import SVC 支持向量機方法分類
- from sklearn.metrics import classification_report 查看分類得分
實訓4 構建基于wine_quality數(shù)據(jù)集的回歸模型
1.訓練要點
掌握sklearn估計器的用法绪颖。
掌握回歸模型的構建方法秽荤。
掌握回歸模型的評價方法。
2.需求說明
wine_quality數(shù)據(jù)集中的葡萄酒評分在1-10之間,將wine_quality數(shù)據(jù)集劃分為訓練集和測試集,構建線性回歸模型菠发,
并使用訓練完成的模型預測測試集的葡萄酒評分王滤。
3.實現(xiàn)思路及步驟
- 讀取wine_quality數(shù)據(jù)集贺嫂。
- 將wine數(shù)據(jù)集劃分為訓練集和測試集
- 使用標準化方法標準化wine數(shù)據(jù)集滓鸠。
- 構建線性回歸模型,并預測測試集結果。
- 比較其他線性模型
提示:
|模塊名稱| 函數(shù)名稱| 算法名稱|
|:----:|:----:|:----:|
|linear_model| LinearRegession| 線性回歸|
|svm| SVR|支撐向量回歸|
|neighbors| KNeighborRegressor| 最近鄰回歸|
|tree| DecisionTreeRegressor| 決策樹回歸|
|ensemble| RandomForestRegressor| 隨機森林回歸|
|ensemble| GradientBoostingRegressor|梯度提升回歸|