对于“简单且有用的Python数据分析和机器学习代码”,一般可以按照以下步骤来进行:
步骤一:导入数据
首先,我们需要导入需要分析的数据集,可以使用Pandas库进行导入和处理。具体的代码示例如下:
import pandas as pd
# 读取csv文件
data = pd.read_csv('data.csv')
# 查看前5行数据
print(data.head())
步骤二:数据预处理
数据预处理是数据分析和机器学习的重要步骤,包括数据清洗、数据转换、缺失值填补、异常值处理等。具体的操作可以按照数据集的特点来进行,以下是一个简单的数据清洗和缺失值填补的示例代码:
import numpy as np
# 清除重复行数据
data.drop_duplicates(inplace=True)
# 缺失值填补为0
data.replace(np.nan, 0, inplace=True)
# 查看数据信息
print(data.info())
步骤三:可视化分析
数据可视化分析是在数据探索阶段常用的方法,通过各种方式来展示数据分布、规律等。常用的库有matplotlib、Seaborn等。示例代码如下:
import matplotlib.pyplot as plt
import seaborn as sns
# 根据x、y数据绘制散点图
sns.scatterplot(x='age', y='income', data=data)
plt.show()
# 根据x数据绘制直方图
sns.histplot(x='income', data=data)
plt.show()
步骤四:特征工程
特征工程是机器学习中非常重要的一步,它一般包含特征选择、特征提取、特征变换等操作,用于提取最能反映数据特征的特征集合。示例代码如下:
from sklearn.feature_selection import SelectKBest, f_classif
# 特征选择:选择最好的3个特征
selector = SelectKBest(f_classif, k=3)
X_train_new = selector.fit_transform(X_train, y_train)
# 特征变换:对数据应用对数函数
X_train_new = np.log(X_train)
# 特征提取:使用PCA算法降维
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
步骤五:模型训练
模型训练是机器学习的核心步骤,常用的方法有决策树、KNN、朴素贝叶斯、SVM、神经网络等。示例代码如下:
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 构建决策树模型
clf = DecisionTreeClassifier(max_depth=2)
clf.fit(X_train, y_train)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)
示例一:利用KNN进行分类
以下是一个利用KNN进行分类的示例,其中包括数据导入、数据预处理、特征工程、模型训练等步骤:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score
# 读取数据
data = pd.read_csv('iris.csv')
# 数据预处理
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# 模型训练
k = 5
clf = KNeighborsClassifier(n_neighbors=k)
clf.fit(X_train, y_train)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)
示例二:利用多层感知机进行回归
以下是一个利用多层感知机进行回归的示例,其中包括数据导入、数据预处理、特征工程、模型训练等步骤:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from keras.models import Sequential
from keras.layers import Dense
# 读取数据
data = pd.read_csv('housing.csv')
# 数据预处理
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# 模型训练
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=13))
model.add(Dense(units=1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train, y_train, epochs=500, batch_size=32)
# 预测结果
y_pred = model.predict(X_test)
# 计算MSE
mse = np.mean(np.square(y_test - y_pred))
print('MSE:', mse)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单且有用的Python数据分析和机器学习代码 - Python技术站