import pandas as pd import numpy as np from matplotlib import pyplot as plt #2.读取数据 from sklearn.metrics import f1_score from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier data=pd.read_excel('train_data.xlsx') #print(data) #print(np.any(data.isnull())) #3.数据预处理 data=data.drop(labels=['机器编号','统一规范代码','具体故障类别'],axis=1)#删除不需要的列 data.replace('L',1.0,inplace=True) data.replace('M',2.0,inplace=True) data.replace('H',3.0,inplace=True) data=data.dropna() #print(data) X = data.iloc[:,0:-1] y = data.iloc[:,-1] #4、分割测试集和训练集 X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.33,random_state=40) #5、选择模型 model = DecisionTreeClassifier(max_depth=6) #6、训练模型 model.fit(X_train,y_train) #7、评价模型:要求用F1 #y_predict = model.predict(X_test) #score = f1_score(y_predict,y_test,average="macro") #plt.show() y_predict = model.predict(X_test) score = f1_score(y_predict,y_test,average="macro") print(score) 补全缺失值填充
时间: 2024-03-13 14:47:46 浏览: 216
import numpy as np import matplotlib.pyplot as plt import math
在数据预处理的步骤中,可以对缺失值进行填充。常见的缺失值填充方法包括均值填充、中位数填充、众数填充、前向填充、后向填充、插值填充等。具体采用哪种方法,需要根据数据的具体情况和分析目的来决定。
在这份代码中,可以使用以下方法对缺失值进行填充:
1. 均值填充
```python
data.fillna(data.mean(), inplace=True)
```
2. 中位数填充
```python
data.fillna(data.median(), inplace=True)
```
3. 众数填充
```python
data.fillna(data.mode().iloc[0], inplace=True)
```
其中,`fillna()` 方法可以用来进行填充,`inplace=True` 表示在原始数据上进行修改。如果需要使用新的数据,可以将其赋值给一个新的变量,例如:
```python
new_data = data.fillna(data.mean())
```
阅读全文