Python 数据分析方法
我有一个刚毕业的员工的数据集,包括他们的GPA分数,以及他们在试用期后是被雇佣还是被解雇。老板让我分析大学的平均绩点对被录用或解雇是否有重大影响。有时,还可以包括其他功能,如大学排名等。Boss现在对数据科学和机器学习感兴趣。但我之前在数据分析方面没有任何经验,所以请告诉我如何处理这个问题,以及我应该学会做什么?我有编程背景(懂python),所以欢迎使用技术术语。考虑到毕业生的GPA、大学排名等特点,您正在尝试预测他们的就业状况 您的问题可以被视为“二进制分类问题”,因为您的输出应该作为(0或1)被激发/雇佣 培训集:首先,您需要创建一个包含功能及其实际输出的培训集 功能分析:尝试使用以下方法分析数据如何影响输出:Python 数据分析方法,python,machine-learning,data-analysis,data-science,Python,Machine Learning,Data Analysis,Data Science,我有一个刚毕业的员工的数据集,包括他们的GPA分数,以及他们在试用期后是被雇佣还是被解雇。老板让我分析大学的平均绩点对被录用或解雇是否有重大影响。有时,还可以包括其他功能,如大学排名等。Boss现在对数据科学和机器学习感兴趣。但我之前在数据分析方面没有任何经验,所以请告诉我如何处理这个问题,以及我应该学会做什么?我有编程背景(懂python),所以欢迎使用技术术语。考虑到毕业生的GPA、大学排名等特点,您正在尝试预测他们的就业状况 您的问题可以被视为“二进制分类问题”,因为您的输出应该作为(0或
train = pd.read_csv('../input/train.csv')
print (train[["GPA", "Employment_status"]].groupby(['GPA'], as_index=False).mean())
训练算法:有许多机器学习算法可用于解决二元分类问题,如SVM、决策树、KNN。
您还可以进行异常检测,在该检测中,您可以使用其中一个输出匹配分布。
使用sklearn库,因为它们易于使用,并且还提供了多种算法
查看以了解有关sklearn的更多信息
测试:最后使用测试集测试您的模型,并计算精度,以查看模型与数据的拟合情况
检查安得烈NG的讲座,因为对于任何开始机器学习的人来说都是很容易理解的。 数据可视化:
Kaggle是学习新方法和算法Check link的最佳平台之一,因为它提供了有关如何在Iris数据集上使用不同数据可视化工具的信息 查看MOOC以了解有关数据可视化的更多信息因此,数据可视化将帮助您了解您的特征是如何相互关联的。您正试图预测即将毕业的毕业生的就业状况,因为他们的GPA、大学排名等都是特征 您的问题可以被视为“二进制分类问题”,因为您的输出应该作为(0或1)被激发/雇佣 培训集:首先,您需要创建一个包含功能及其实际输出的培训集 功能分析:尝试使用以下方法分析数据如何影响输出:
train = pd.read_csv('../input/train.csv')
print (train[["GPA", "Employment_status"]].groupby(['GPA'], as_index=False).mean())
训练算法:有许多机器学习算法可用于解决二元分类问题,如SVM、决策树、KNN。
您还可以进行异常检测,在该检测中,您可以使用其中一个输出匹配分布。
使用sklearn库,因为它们易于使用,并且还提供了多种算法
查看以了解有关sklearn的更多信息
测试:最后使用测试集测试您的模型,并计算精度,以查看模型与数据的拟合情况
检查安得烈NG的讲座,因为对于任何开始机器学习的人来说都是很容易理解的。 数据可视化:
Kaggle是学习新方法和算法Check link的最佳平台之一,因为它提供了有关如何在Iris数据集上使用不同数据可视化工具的信息 查看MOOC以了解有关数据可视化的更多信息因此,数据可视化将帮助您了解您的特征是如何相互关联的。在这些方面,您基本上是在尝试预测大学GPA、大学排名等是否对试用期后的聘用或解雇有任何重大影响。基本上它是二进制分类问题(关于这些问题的完整教程)。 @janu777给出的方法是正确的,我想在其中添加一些额外的信息。 解决这些问题的步骤是,
Data Exploration(include variable identifications)
Data Cleaning
Feature Engineering(Watching correlations kind of property among features)
Model Building and Training
Doing Predictions
基本上,在python方面,您将使用这些库
Pandas
Scikit Learn
Matplotlib
numpy
Sklearn
Statsmodelapi
数据探索:
首先,您应该将前几年的数据(无论前一位员工是被雇佣还是被解雇)作为培训集
import pandas as pd
import numpy as np
import matplotlib as plt
df = pd.read_csv("../trainset.csv") #Reading the dataset in a dataframe
df.describe()
数据清理
现在在这个阶段,你应该看到缺失值和数据中的所有数据,你可以根据自己的选择进行处理,最著名的是删除所有缺失值,因此你可以使用这些
df.dropna(axis=0, how='all')
我假设你的训练集有3个变量,其中大学GPA和大学排名是特征变量。并且您的目标变量为雇佣/解雇(1或0)。您应该使用预测值和目标变量之间的相关性,可视化也会有所帮助
trainingdata['GPA'].astype('float64').corr(trainingdata['target'].astype('float64'))
或
模型构建、预测和拟合
这是一个非常重要的阶段,现在你需要为你的问题创建模型,你可以使用这些算法(你应该应用各种算法,如Randomforest、LinearDiscrimate、decisiontree、knn、svm等,并只选择能给出好分数的算法)
这些的示例代码是
from sklearn.ensemble import RandomForestClassifier
#Building random forest classifier model
def random_forest_classifier(features, target):
"""
To train the random forest classifier with features and target data
:param features:
:param target:
:return: trained random forest classifier
"""
clf = RandomForestClassifier()
clf.fit(features, target)
return clf
做预测
现在您可以对测试数据进行预测,同样的示例代码是
predictions = randomforestmodelis.predict(test_x)
for i in range(0, 5):
print("Actual outcome :: {} and Predicted outcome :: {}".format(list(test_y)[i], predictions[i]))
#print("Train Accuracy :: ", accuracy_score(train_y, randomforestmodelis.predict(train_x)))
print("Test Accuracy :: ", accuracy_score(test_y, predictions))
这应该可以解决你的问题。在这些问题中,你基本上是在试图预测大学平均成绩、大学排名等是否会对试用期后被录用或解雇产生重大影响。基本上它是二进制分类问题(关于这些问题的完整教程)。 @janu777给出的方法是正确的,我想在其中添加一些额外的信息。 解决这些问题的步骤是,
Data Exploration(include variable identifications)
Data Cleaning
Feature Engineering(Watching correlations kind of property among features)
Model Building and Training
Doing Predictions
基本上,在python方面,您将使用这些库
Pandas
Scikit Learn
Matplotlib
numpy
Sklearn
Statsmodelapi
数据探索:
首先你应该