#---------------------------config文件夹----------------------
import os
import pandas as pd
# 数据集路径
dataset_path = './data'
# 输出集路径
output_path = './output'
if not os.path.exists(output_path):
os.makedirs(output_path)
#数字数值列
numeric_cols=['battery_power','clock_speed','fc','int_memory','m_dep','mobile_wt',
'n_cores','pc','px_height','px_width','ram','sc_h','sc_w','talk_time']
#类别数值列 这类是 bool类型的,即是0者来表示的,即是或者否,就用one-hot编码表示成数值型的
cat_cols=['blue', 'dual_sim', 'four_g', 'three_g', 'touch_screen', 'wifi']
#要使用的特征列
feat_cols=numeric_cols+cat_cols
#标签列
label_col='price_range'
#下面只是为了获得行名而已,是辅助的作用
ttt=pd.read_csv('./data/data.csv')
print(ttt.iloc[:0])
data = [[1,2,3],[4,5,6]]
index = ['d','e']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns)
print (df)
print (df.iloc[:,0])
#---------------------------main.py文件夹---------------------------
'''
任务描述
建立不同的集成学习模型来进行手机的价格的预测
并使用交叉验证的方式为每个模型选择最优化的超参数
'''
import config
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import time
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.ensemble import AdaBoostClassifier, GradientBoostingClassifier, RandomForestClassifier
from mlxtend.classifier import StackingClassifier
from sklearn.model_selection import GridSearchCV
def main():
#加载数据
all_data=pd.read_csv(os.path.join(config.dataset_path,'data.csv'))
train_data,test_data=train_test_split(all_d
根据手机参数对手机价格进行预测
最新推荐文章于 2024-12-01 23:16:11 发布