生活随笔
收集整理的這篇文章主要介紹了
电动汽车价格预测
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
某品牌電動汽車給出了不同規格的電動車屬性與價格數據(見 train.xlsx),另有一批未 知價格的電動車屬性數據(見 test.xlsx)。
附: 1、屬性的具體含義請見:tag.xlsx 2、價格已分檔,為 0-3 之間的一個整數,請將最后的預測也以分檔的形式給出。
train的數據形式,要轉成csv文件的話,另存,看下圖操作即可。
里面包含的數據在這里:
鏈接:https://pan.baidu.com/s/1C6R9M8pRJdl-WO8lxMYZyQ
提取碼:cpfn
復制這段內容后打開百度網盤手機App,操作更方便哦
以方差選擇法、相關系數法、互信息法作為分析的主要方法,以MATLAB為分析工具,得出影響電動汽車價格的主要價值屬性。在此基礎上,我們使用熵值法對選出的電動汽車主要屬性進行確定和驗證,確保主要屬性的精確性及有效性。
最后根據篩選出的主要特征進行分類預測,下面附上基于KNN的程序:
import numpy as np
import operator
from sklearn.metrics import classification_report,confusion_matrix
import operator
import pandas as pd
import sklearn
import csv# KNN算法
def knn(x_test, x_data, y_data, k):'''x_test:測試數據x_data:已知數據y_data:已知數據的標簽K:選擇K個最近的實例返回k個中標簽最多的類別'''# 計算樣本數量x_data_size = x_data.shape[0]# 復制x_testnp.tile(x_test, (x_data_size,1))# 計算x_test與每一個樣本的差值diffMat = np.tile(x_test, (x_data_size,1)) - x_data# 計算差值的平方sqDiffMat = diffMat**2# 求和sqDistances = sqDiffMat.sum(axis=1)# 開方distances = sqDistances**0.5# 從小到大排序sortedDistances = distances.argsort()classCount = {}for i in range(k):# 獲取標簽votelabel = y_data[sortedDistances[i]]# 統計標簽數量classCount[votelabel] = classCount.get(votelabel,0) + 1# 根據operator.itemgetter(1)-第1個值對classCount排序,然后再取倒序sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1), reverse=True)# 獲取數量最多的標簽return sortedClassCount[0][0]if __name__ == "__main__":# 載入數據data = np.genfromtxt("C:\\Users\\User\\Desktop\\train.csv",delimiter=",")x_data = data[1:,1:21] # 全部特征值y_data = data[1:,21] # 價格檔位# 測試數據unknown_data = np.genfromtxt("C:\\Users\\User\\Desktop\\test.csv",delimiter=",")test_data = unknown_data[1:,1:21]# 將每行數據進行對比并寫入一個新的文檔,遍歷做法for j in range(len(test_data) - 1):x_test = test_data[j:j+1, :21]result = []result.append(knn(x_test, x_data, y_data, 5))output = (',').join(str(i) for i in result) # 去掉中括號# 寫入數據namefile = open("C:\\Users\\User\\Desktop\\result.csv", 'a') # 以'w'的方式打開會覆蓋以前的數據 以'a'寫入,若存在,則在末尾追加寫入namefile.write(str(output))namefile.write('\n') # 換行namefile.close()
最后預測結果會在result.csv文件里面,我這里是用一個新的文件寫入。
總結
以上是生活随笔為你收集整理的电动汽车价格预测的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。